インボイスのラインアイテムを一括管理するベータ
Invoices API を使用して、ラインアイテムを一括で追加、更新、削除することで、インボイスの複数のラインアイテムを編集できます。Invoice and Customer Uploader アプリを使用して、新しい顧客とインボイスを CSV ファイルからアップロードすることもできます。
Bulk Invoice Line Item API への早期アクセスをご希望の場合
インボイスを作成する
インボイスを更新するには、最初に 1 つ作成する必要があります。ダッシュボードでインボイスを作成するか、Invoices API を使用できます。draft ステータスのインボイスのみ更新できます。
ラインアイテムを追加する
同じインボイスで複数のラインアイテムを作成するには、invoice ID (インボイス ID) を参照します。invoice item ID (インボイスアイテム ID) を使用して既存の未割り当てのインボイスを割り当てることもできます。新しい 2 つのラインアイテムを作成し、このインボイスに既存のインボイスアイテムを割り当てる方法をご紹介します。
curl https://api.stripe.com/v1/invoices/
/add_lines \ -u{{INVOICE_ID}}: \ -d "lines[0][amount]"=7500 \ -d "lines[0][currency]"="usd" \ -d "lines[1][price]"={{PRICE_ID}} \ -d "lines[1][description]"="New line item" \ -d "lines[2][invoice_item]"={{INVOICE_ITEM_1}}sk_test_4eC39HqLyjWDarjtT1zdp7dc
一般的な誤り
インボイスアイテム ID を使用していることを確認してください。ここでラインアイテム ID を使用するとエラーになります。
ラインアイテムを更新する
ここから、以下のようにインボイス ID とラインアイテム ID に基づいて同じインボイスの複数のラインアイテムを更新できます。
curl https://api.stripe.com/v1/invoices/
/update_lines \ -u{{INVOICE_ID}}: \ -d "lines[0][id]"={{LINE_ITEM_1}} \ -d "lines[0][description]"="New description" \ -d "lines[0][metadata][key]"="new value" \ -d "lines[1][id]"={{LINE_ITEM_2}} \ -d "lines[1][price]"={{PRICE_ID}} \ -d "lines[2][id]"={{LINE_ITEM_3}} \ -d "lines[2][discountable]"=truesk_test_4eC39HqLyjWDarjtT1zdp7dc
上記の例では、ラインアイテム 1 の説明とメタデータ、ラインアイテム 2 の価格、ラインアイテム 3 が割引対象かどうかを更新しています。
ラインアイテムを削除する
インボイス ID とラインアイテム ID を参照し、behavior
キーで複数の削除タイプを区別することで、同一インボイスの複数のラインアイテムを削除または割り当て解除できます。次に、LINE_ITEM_1
を完全に削除して、LINE_ITEM_2
の割り当てを解除する方法をご説明します。LINE_ITEM_2
は別のリクエストの別のインボイスに再割り当てできます。
curl https://api.stripe.com/v1/invoices/
/remove_lines \ -u{{INVOICE_ID}}: \ -d "lines[0][id]"={{LINE_ITEM_1}} \ -d "lines[0][behavior]"="delete" \ -d "lines[1][id]"={{LINE_ITEM_2}} \ -d "lines[1][behavior]"="unassign"sk_test_4eC39HqLyjWDarjtT1zdp7dc
制限事項
この機能を使用する場合、いくつかの制限事項があります
インボイスはまだドラフト状態でなければなりません
インボイスのラインアイテムのタイプは 2 種類あります
type: invoiceitem
: インボイスアイテムがインボイスに追加されたときに生成されますtype: subscription
: 各サブスクリプションアイテムからサブスクリプションのインボイス用に自動的に生成されます。
早期アクセスの登録が完了し、この機能にアクセスできるようになると、ラインアイテムごとに、更新可能なフィールドを確認できます。
invoiceitem
ラインアイテムの場合はすべてのフィールドがサポートされていますが、subscription
ラインアイテムの場合は一部のフィールドしか更新できません。subscription
ラインアイテムでサポートされているフィールドは、tax_rates
またはdiscounts
です。1 回の API コールで最大 50 件のラインアイテムを更新できます。この制限は変更されることがあるため、増加または減少する可能性があります。
請求書のメタデータ
上記のいずれかのエンドポイントへの同じリクエストで、インボイスメタデータを設定できます。update_lines を呼び出す例を以下に示します。
curl https://api.stripe.com/v1/invoices/
/update_lines \ -u{{INVOICE_ID}}: \ -d "lines[0][id]"={{LINE_ITEM_1}} \ -d "lines[0][description]"="New description" \ -d "lines[1][id]"={{LINE_ITEM_1}} \ -d "lines[2][description]"="Another description" \ -d "invoice_metadata[is_processed]"="true"sk_test_4eC39HqLyjWDarjtT1zdp7dc