@mickey最終更新 2026年5月30日投稿 2026年5月30日
ZuoraはProduct Rate Plan ChargeのTax Codeと顧客のBill To住所を組み合わせ、Bill Run時に自動で税計算します。内部・外部エンジンの使い分けとExempt・Tax Modeの設定を理解することで、グローバルな税務設計ができるようになります。
| セクション | キーメッセージ |
|---|---|
| Tax Code・Tax Rule・Tax Rate | Tax CodeはChargeに設定する商品分類タグです。Tax RuleはそのタグとBill To住所の組み合わせで税率を決める変換ルールになります。 |
| 内部エンジン | Bill Run時にZuoraがTax Code×管轄地域を自動照合し、Taxation Itemを生成します。税計算の実行はBill Runのタイミングです。 |
| 外部エンジン | 複雑な税管轄や税率の自動更新への対応のため、ZuoraはTax Codeと住所を外部エンジンに送り税額を受け取るハブとして機能します。 |
| Taxation Item・Exempt | Taxation ItemはBill Run時に生成される税明細オブジェクトです。AccountまたはChargeレベルで事前に非課税設定できます。 |
| 税モード | ExclusiveはChargeに税を上乗せし(デフォルト)、Inclusiveは税込み価格から税額を内訳として分離します。 |
全体フロー — オブジェクトとアクションの関係:
knowledgecenter.zuora.comknowledgecenter.zuora.com/Zuora_Billing/B_Set_up_Zuora_Billing/Apply_taxes/A_Z...Tax CodeはChargeに設定する商品分類タグです。Tax RuleはそのタグとBill To住所の組み合わせで税率を決める変換ルールになります。
Zuoraの税計算は「何を売るか(Tax Code)」×「どこに売るか(住所)」の2軸で決まります。
| パラメーター | 設定場所 | 役割 |
|---|---|---|
| Tax Code | Product Rate Plan Charge | 商品・サービスの税区分ラベル(例:SaaS_Software) |
| Tax Rule | Zuora税設定 | Tax Code × 管轄地域 → Tax Rateを決めるルール |
| Tax Rate | Tax Rule内 | 実際に適用する税率(例:10%、8.5%) |
Tax Codeの設定場所:
Product
└── Product Rate Plan
└── Product Rate Plan Charge ← ここにTax Codeを設定
└── Subscription作成時にRate Plan Chargeへ引き継がれる
Tax RuleはTax Codeと管轄地域の中間テーブル:
Tax Ruleの例:
| Tax Code | 管轄地域 | Tax Rate |
|---|---|---|
| SaaS_Software | 日本 | 10% |
| SaaS_Software | 米国・カリフォルニア州 | 8.5% |
| Physical_Goods | 日本 | 10% |
Bill Run時にZuoraがTax Code×管轄地域を自動照合し、Taxation Itemを生成します。税計算の実行はBill Runのタイミングです。
Zuoraの税計算はOrderやSubscription作成時ではなく、Bill Runの実行時に行われます。Chargeに設定されたTax Codeは「タグ」として保存されているだけで、Bill Runが走るまで税額は確定しません。
| ステップ | 内容 |
|---|---|
| ① Tax Code取得 | Bill Run対象のRate Plan ChargeからTax Codeを読み取る |
| ② 管轄地域の特定 | AccountのBill To / Sold To住所(国・州・郵便番号)から課税管轄を決定する |
| ③ Tax Ruleの照合 | Tax Code × 管轄地域でマッチするTax Ruleを検索する |
| ④ 税額計算 | Charge金額 × Tax Rateで税額を計算する |
| ⑤ Taxation Item生成 | 計算結果をTaxation ItemとしてInvoice Itemに紐づける |
| 向いているケース | 向いていないケース |
|---|---|
| 販売国・州が少ない | 米国の複数州に販売している |
| 税率が安定している | 税率改正への自動対応が必要 |
| 税構造がシンプル | グローバル展開で管轄が数十以上ある |
複雑な税管轄や税率の自動更新への対応のため、ZuoraはTax Codeと住所を外部エンジンに送り税額を受け取るハブとして機能します。
Zuoraの内部エンジンはTax Ruleを運用担当者が手動管理します。しかし以下のケースでは現実的ではなくなります。
| 課題 | 内容 |
|---|---|
| 管轄地域の複雑さ | 米国だけで連邦・州・郡・市の課税管轄が数千存在する |
| 税率改正への追従 | 各国・各州の税率は頻繁に改正され、手動更新が追いつかない |
| グローバル展開 | 数十カ国に販売する場合、Tax Ruleの組み合わせが膨大になる |
| 既存システムとの統一 | ERPなど他システムで既に外部エンジンを使っており、一元管理したい |
| エンジン | 特徴 |
|---|---|
| Avalara | 米国・グローバルに強い。最も広く使われる |
| Vertex | 大企業向け。カスタマイズ性が高い |
ZuoraはBill Run時に外部エンジンへAPIリクエストを送り、税額の計算結果だけを受け取ります。税のロジックはすべて外部エンジン側に委ねます。
内部エンジンでは自由に命名できたTax Codeが、外部エンジンでは外部システムのコード体系に合わせる必要があります。
| エンジン | Tax Codeの制約 |
|---|---|
| 内部エンジン | 自由に定義できる(例:SaaS_Software) |
| Avalara | Avalaraの分類コードに合わせる必要がある(例:D0000000) |
| Vertex | Vertexのタクソノミーに準拠する必要がある |
内部エンジンから外部エンジンへの移行は、全ChargeのTax Codeを付け替える作業が発生します。
| フェーズ | Tax Codeの状態 |
|---|---|
| 初期(内部エンジン) | 自由命名:SaaS_Software、Professional_Services |
| グローバル対応後(Avalara) | Avalara準拠:D0000000、O0000000 |
移行時の作業:
Taxation ItemはBill Run時に生成される税明細オブジェクトです。AccountまたはChargeレベルで事前に非課税設定できます。
Bill Runが実行されると、課税対象のInvoice ItemごとにTaxation Itemが生成されます。税計算の結果を記録するオブジェクトです。
| フィールド | 内容 |
|---|---|
| Tax Amount | 計算された税額 |
| Tax Rate | 適用された税率(%) |
| Jurisdiction | 適用された管轄地域(国・州など) |
| Tax Code | 使用されたTax Code |
| Exempt Amount | 非課税にした金額 |
特定の顧客や商品を税免除にしたい場合、Bill Run前にExemptをAccountまたはChargeに設定しておきます。
| 設定レベル | 使いどころ | 例 |
|---|---|---|
| Accountレベル | 顧客自体が免税対象の場合 | NPO法人、政府機関、免税番号保有の企業 |
| Chargeレベル | 同じ顧客でも特定商品だけ非課税にしたい場合 | 教育用ライセンスのみ非課税 |
| 操作 | 内容 |
|---|---|
| Exempt | 非課税設定(事前設定) |
| Adjust | 生成後の税額を手動修正する |
ExclusiveはChargeの金額に税を上乗せし(デフォルト)、Inclusiveは税込み価格から税額を内訳として分離します。
同じ税率でも、Chargeに設定する金額の意味が変わります。
| モード | Chargeの金額 | 税の扱い | 顧客への請求額 |
|---|---|---|---|
| Exclusive(税抜き) ★デフォルト | 税抜き価格 | Chargeに上乗せ | Charge + Tax |
| Inclusive(税込み) | 税込み価格 | Chargeの内訳として分離 | Charge(税含む) |
数値例(Tax Rate = 10%):
| 状況 | 推奨モード |
|---|---|
| 米国など税抜き価格表示が一般的な市場 | Exclusive |
| 日本のB2C(総額表示義務)など税込み価格で販売する場合 | Inclusive |
| EUのVAT(付加価値税)など税込み表示が標準の市場 | Inclusive |