Stripe 以外で計算した税額を Stripe Billing で使用する
外部システムから計算した税金を Stripe の請求書で使用する
幅広い請求シナリオに対応するために、Stripe は請求書に税額を直接設定できる機能を用意しています。そのため、他の税金計算システム (Avalara などのサードパーティーの税務ツールやお客様が自社開発した税務エンジンなど) と連携させることができます。このガイドでは、さまざまな請求シナリオを紹介しながら、tax_amounts フィールドの使用方法を解説します。
手動で設定した税額を使用して請求書を作成する
このセクションでは、手動で設定した税額を請求書のラインアイテムに追加する方法について説明します。
請求書のアイテムを使用して請求書を作成する
最初のステップは、請求書を作成することです。顧客はすでに作成しているものとして説明します。まだ作成していない場合は、顧客ガイドをご覧ください。
手動で設定した税額は、請求書のラインアイテムにのみ追加できます。そのため、請求書のアイテムを請求書に追加してください。
請求書のラインアイテムを tax_amounts で更新する
update invoice line item (請求書のラインアイテム更新) エンドポイントは、tax_amounts パラメーターを受け入れます。このフィールドを使用すると、加盟店が請求書のラインアイテムの税金額を直接設定できます。また、このフィールドを使用する際は、関連データを顧客に表示できるように税率データも必要になります。tax_
フィールドを使用して請求書のラインアイテムを更新する例を以下に示します。
tax_
以降のフィールドは、description
、jurisdiction
、country
、state
、tax_
以外はすべて必須です。請求書の Line Item (ラインアイテム) オブジェクトは tax_
フィールドを返します。
{ id: "il_0O4tNe589O8KAxCGYD7OyXPP", object: "line_item", amount: 100, amount_excluding_tax: 100, currency: "usd", ... tax_amounts: [ { amount: 10, inclusive: false, tax_rate: "txr_0Ns7kW589O8KAxCGXoi7EAuS", taxability_reason: null, taxable_amount: 100 } ], tax_rates: [], ... }
注
Stripe は tax_
に基づいて既存の税率を自動的に作成または再利用しますが、請求書の税額の計算は、amount パラメーターのみに基づいて行います。それ以外の値 (税率など) は請求書に表示する際のレンダリングにのみ使用します。これらのフィールドと指定された税額に矛盾がないかどうかを確認するための検証は行われません。
請求書を確定する
税額を使用して請求書のラインアイテムがすべて更新されたら、請求書を確定する必要があります。請求書を確定した後に税額を変更することはできません。確定後に請求書を変更する必要がある場合は、請求書の編集ガイドをご覧ください。
Stripe が税率を自動生成する
税額を手動設定する場合、Stripe は対応する税率の情報を要求します。この税率は顧客に情報を表示する目的でのみ使用し、計算には一切使用されません。
Stripe は tax_
に基づいて、バックグラウンドで税率オブジェクトを自動作成します。同じ税率データが複数回渡された場合は、新たに別のオブジェクトを作成するのではなく、既存の税率オブジェクトを参照します。税率の重複排除を行う際には、percentage
、inclusive
、display_
、jurisdiction
、country
、state
、tax_
の各フィールドを使用します。この例では、前のセクションで説明した請求書の 2 番目のラインアイテムが同じ tax_
で更新された場合を想定して説明します。
{ id: "il_0P6nbg589O8KAxCGRWBJAdNV", object: "line_item", amount: 100, amount_excluding_tax: 100, currency: "usd", ... tax_amounts: [ { amount: 10, inclusive: false, tax_rate: "txr_0Ny6QR589O8KAxCGo6MKGPxM", taxability_reason: null, taxable_amount: 100 } ], tax_rates: [], ... }
請求書の両方のラインアイテムには、tax_
の下の同じ tax_
ID が設定されます。加盟店の負担を最小限に抑えるため、税率の作成と重複排除の処理は Stripe が行います。tax_
ID は有効な税率オブジェクトにマッピングされますが、自動作成された税率にマッピングされているこれらの ID を、API の tax_
フィールドに渡すことはできません。このルールの唯一の例外は、クレジットノート作成エンドポイントです。
クレジットノートを発行する
クレジットノートを使用すると、請求書を無効にすることなく請求書を調整できます。請求書のラインアイテムを手動で設定した税額に更新するクレジットノートを発行すると、API はクレジットノートを正確に作成するために追加の情報を要求します。
クレジットノートを作成する
クレジットノート作成エンドポイントは、tax_
パラメーターを受け付けます。対応する請求書のラインアイテムに手動で設定した税額が含まれている場合、このフィールドは必須です。そうすることで、クレジットノートの会計処理が正確に行われ、請求書との一貫性が確保されます。
制限事項
手動で設定した税額を使用する際には、次の制約があることに注意してください。
請求書のアイテムには税額は含まれません
手動で設定した税額は、請求書のラインアイテムにのみ追加できます。
taxable_amount と tax_rates は検証されていません
リクエストで渡された課税対象額と税率のデータはレンダリングでのみ使用されます。リクエスト内の税額と照らし合わせた検証は行われません。
tax_amounts と tax_rates を組み合わせて使用することはできません
請求書のラインアイテムに税率もある場合は、手動設定した税額を含めることはできず、その逆に、手動設定した税額がある場合は税率を含めることはできません。また、請求書にデフォルトの税率がある場合や、請求書の他のラインアイテムに税率がある場合、ラインアイテムに手動設定した税額を含めることはできません。
他のフィールドを更新すると、tax_amounts は最新でなくなる可能性があります。
手動で設定された既存の税額は、直接編集しない限り請求書のラインアイテムに残るため、amount
、discounts
、price
などその金額に関係するフィールドで請求書アイテムを更新すると、税額が最新でなくなる可能性があります。
自動生成された税率は直接使用できません
Stripe は手動で設定された税額に対する税率オブジェクトを自動生成します。これらの税率を請求書や決済関連のエンドポイントで直接参照することはできませんが、クレジットノートエンドポイントからは参照できます。また、これらの税率は直接更新することができず、すべての税率エンドポイントに含まれません。ただし、トークンを使用して税率取得エンドポイントを呼び出すと、税率のデータにアクセスすることは可能です。