請求書を編集する
確定後の請求書を編集する方法をご紹介します。
Stripe では、ステータスが open
または uncollectible
の確定済み請求書は改訂できます。ただし、ステータスが void
または paid
の請求書は改訂できません。請求書の改訂が考えられるのは、次のような場合です。
- 請求書の説明を編集する。
- 顧客を編集して、連絡先情報を更新する。
- ラインアイテムを追加、削除、または編集する。
- 割引を追加するか、税金を適用する。
内容やブランディングを変更する必要がある場合は、請求書をカスタマイズすることもできます。
注
請求書の法令遵守プロセスは国によって異なります。たとえば、欧州連合の国を拠点としている場合は、元の請求書を改訂するのではなく、請求書を無効にしてクレジットノートを発行することをお勧めします。法務顧問に相談して、お客様のビジネスに合わせた助言を受けることをお勧めします。
確定後の請求書の編集には、API を使用できます。
請求書を改訂する![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
確定後の改訂プロセスを開始するには、from_
パラメーターを指定して作成エンドポイントを使用します。このリクエストにより、元の請求書に関連付けられた新しい請求書の下書きが改訂版として作成されます。また、請求書に関連付けられている請求書のラインアイテムがすべて複製されます。ただし、請求金額が変更される可能性があるため請求書のクレジットノートは複製されません。また、このリクエストは、請求書の作成とは異なり、保留中の請求書アイテムを引き出しません。
注
金額、割引、顧客情報など、請求書の大部分のフィールドは、確定後、更新エンドポイントを使用して編集することはできません。
from_
パラメーターを使用して請求書を作成するリクエストを送信すると、Stripe は以下のように応答します。
{ "id": "{{FIRST_REVISION_INVOICE_ID}}", "status": "draft", "from_invoice": { "invoice": "{{ORIGINAL_INVOICE_ID}}", "action": "revision", }, }
この新しい請求書の下書きには、次のようないくつかの例外を除き、元の請求書とほぼ同じフィールドが含まれています。
- 元の請求書を確定した後に、請求書の顧客を更新した場合、新しい請求書には更新された顧客情報が使用されます。税金の自動計算を使用する場合、これによって税額の再計算が行われる可能性があります。
- 元の請求書に
auto_
が指定されていても、改訂請求書では false に設定されます。advance == true - 改訂請求書の
starting_
とbalance amount_
には、元の請求書に適用されているすべての顧客残高と、Customer オブジェクトで使用可能なすべての追加残高が反映されます。due
ここでは、下書きの場合と同じように、請求書に変更を加えることができます。次の例では、請求書の説明を更新しています。
改訂後の請求書に新しいラインアイテムを追加するには、以下のようにします。
請求書の改訂では、顧客情報を更新して、確定された請求書の PDF とオンライン請求書ページに反映することができます。
必要な変更をすべて行ったら、改訂後の請求書を確定します。
改訂後の請求書を確定すると、ステータスは open
に変わり、finalized_
パラメーターが (元の請求書の finalized_
タイムスタンプではなく) 現在のタイムスタンプに設定されます。請求書を確定すると、Stripe は以下を実行します。
- 元の請求書を無効にします。
- 元の請求書に
latest_
パラメーターを追加します。revision
請求書の複数の改訂版![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
場合によっては、1 つの請求書に対して複数の改訂版を作成する必要があります。その場合のプロセスは最初の改訂で使用されるものと同じですが、Stripe が以前の改訂版すべての latest_
パラメーターを更新する点が異なります。latest_
パラメーターが更新されるのは、請求書の改訂版の作成時ではなく、確定時だけです。
from_
パラメーターを使用してリクエストを送信すると、次のようなレスポンスを受信します。
{ "id": "{{LATEST_REVISION_INVOICE_ID}}", "status": "draft", "from_invoice": { "invoice": "{{FIRST_REVISION_INVOICE_ID}}", "action": "revision", }, # ... more fields }
新しい請求書を確定して、改訂を完了します。
元の請求書を取得しようとすると、その請求書が無効であることを示すレスポンスを受信します。Stripe は、最初の改訂版が確定されるとすぐに元の請求書を無効にします。
{ "id": "{{ORIGINAL_INVOICE_ID}}", "status": "void", "latest_revision": "{{LATEST_REVISION_INVOICE_ID}}", # This has changed from "{{FIRST_REVISION_INVOICE_ID}". }
請求書の改訂に関する制約![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Stripe は、請求書の改訂に対していくつかの制約を適用します。
請求書に設定できる下書きの改訂は最大で 1 つです: 同じ
from_
パラメーターが指定されたinvoice[invoice] draft
の請求書が別に存在しているときに、/v1/invoices
エンドポイントに対してPOST
を実行すると、Stripe は 400 ステータスコードを返します。open または uncollectible のステータスの請求書の改訂版のみを作成できます:
/v1/invoices
エンドポイントに対してPOST
を実行し、from_
がinvoice[invoice] open
またはuncollectible
以外の状態の請求書に合致する場合、Stripe は 400 ステータスコードを返します。請求書が open または uncollectible であるが、処理中の payment intent がある場合は、改訂版を作成または確定することはできません: 支払いの試行が開始されたときに請求書のステータスが
paid
に更新されない支払い方法 (us_
など) を顧客が使用している場合、Stripe は 400 ステータスコードを返します。bank_ account open または uncollectible の請求書に改訂版の下書きがある間に paid または void のステータスになった場合、あるいは処理中の payment intent がある場合、改訂を確定することはできません: Stripe は、請求書の確定が発生し得るすべてのエンドポイント (
/v1/invoices/:id/finalize
、/v1/invoices/:id/pay
、/v1/invoices/:id/send
など) で 400 ステータスコードを使用してこれを適用します。サブスクリプションに関連付けられている請求書は改訂できません: サブスクリプション ID が設定されている請求書を確定後に編集することはできません。これらのタイプの請求書については、Stripe は、最初の請求書の後のすべての請求書に対して
invoice.
Webhook を確定の 1 時間前に送信します。また、サブスクリプションのラインアイテムが含まれているスタンドアロンの請求書を編集することもできません。こうしたスタンドアロンの請求書は通常、保留中の比例配分のラインアイテムをプルすることによって作成されます。created クレジットノートがある請求書は改訂できません: クレジットノートがある請求書の改訂を作成することはできません。