@mickey最終更新 2026年7月28日投稿 2026年6月13日
ZuoraはBill Runを起点に、BCDとCharge Trigger Dayのルールに従って請求書を自動生成します。InvoiceのLifecycleを理解し、Prorationの日割り計算、Usage請求、調整(Credit / Debit Memo)まで把握することで、企業の請求業務全体を設計できるようになります。
Bill Runが実行されると、BCDに一致するアカウントの請求書が自動生成されます。請求の流れを「実行 → 生成 → 確定 → 回収」という4ステップで把握しておきましょう。
Zuoraの請求業務は以下の流れで進みます。
| ステップ | 内容 |
|---|---|
| Bill Run実行 | 毎日定期バッチ(または手動Ad Hoc)で実行される |
| Invoice生成 | BCDに該当するアカウントのInvoice(Draft)が作成される |
| Invoice確定 | 担当者またはシステムがInvoiceをPostする |
| Payment回収 | 自動決済またはPayment運用でアカウントから回収する |
「誰をいつ請求するか」はSubscriptionのBCD(Bill Cycle Day)とRate Plan ChargeのCharge Trigger Dayで決まります。この2つのオブジェクトの役割を正確に理解することが、Bill Run設計の出発点です。
Zuoraの請求に関わるオブジェクトは以下の階層で管理されています。
| オブジェクト | 設定する内容 | 例 |
|---|---|---|
| Account | 顧客情報・支払い方法 | 請求先会社名、クレジットカード |
| Subscription(BCD) | 毎月何日に請求するか | BCD=1 → 毎月1日に請求 |
| Rate Plan Charge(Trigger) | チャージをいつ開始するか | Contract Effective Date など |
| Trigger | 開始タイミング | 使いどころ |
|---|---|---|
| Contract Effective Date | 契約締結日 | 契約と同時に課金を開始したい場合 |
| Service Activation Date | サービス開通日 | 実際にサービスが使える状態になった日から課金したい場合 |
| Customer Acceptance Date | 顧客検収日 | 顧客が受け入れを確認した日から課金したい場合 |
| 方式 | 説明 | 使いどころ |
|---|---|---|
| Scheduled(定期バッチ) | 毎日夜間に自動実行 | 通常運用 |
| Ad Hoc | 担当者が手動で実行 | 解約時の最終請求、テスト実行など |
Bill Runは「対象バッチ」と「対象Bill Cycle Day」の二重フィルタで請求対象を決めます。複数バッチが存在する環境で特定バッチのみを対象にBill Runを実行しても、そのバッチに属する顧客全員が対象になるわけではありません。指定したBill Cycle Dayに該当する顧客だけが、選んだバッチの中からさらに絞り込まれます。「バッチに属している=対象になる」と早合点しないことが重要です。
| キャンセル可能な状態 | 内容 |
|---|---|
| Pending(保留中) | まだ実行されていないBill Run |
| 完了済み・Posted Invoiceなし | 実行は完了したが、まだ一件もInvoiceがPostされていない |
Bill Runは毎日自動実行されますが、すべてのアカウントのInvoiceが毎日作成されるわけではありません。Target Date(通常は当日)を基準に、BCDが一致するアカウントだけを対象にInvoiceを生成します。
InvoiceはDraftとして生成され、Postすることで会計上の確定書類になります。PostされたInvoiceは直接編集できないため、修正はCredit MemoまたはDebit Memoで行います。この設計は会計監査証跡を守るための業界標準です。
| ステータス | 説明 |
|---|---|
| Draft | 作成直後。編集・削除が可能 |
| Posted | 確定済み。変更・削除不可。会計帳簿に計上される |
| Cancelled | キャンセル済み。PostされたInvoiceをCancelするとCredit Memoが自動生成される |
Zuoraでは「PostされたInvoiceは変更しない」というビジネス原則に従っています。これは企業会計の監査証跡(Audit Trail)の要件に起因します。一度確定した請求書を後から修正すると、会計記録の信頼性が損なわれるためです。
Bill Runの後、InvoiceをDraftのままにするか自動でPostするかはBilling Settingsで制御できます。
| 設定 | 動作 | 適したケース |
|---|---|---|
| Automatic Post | Bill Run完了と同時にInvoiceをPostedにする | 確認フロー不要、大量請求を自動化したい場合 |
| Manual Post | InvoiceはDraftで生成され、担当者が個別にPostする | 請求内容を目視確認したい場合、例外処理が多い場合 |
InvoiceはSubscriptionの課金明細をInvoice Itemとして一覧で持ちます。1つのInvoiceに複数のInvoice Itemが含まれることが一般的です。
| Invoice Item | 内容 |
|---|---|
| Charge Item | Rate Plan Chargeごとの請求明細(月額費用・従量費用など) |
| Tax Item | 税額(Tax Integrationを使用している場合) |
| Discount Item | 割引チャージが適用された場合の明細 |
通常のInvoiceはSubscriptionのBill Runから生成されますが、Standalone Invoiceを使うと、Subscriptionに紐づかない単独の請求書を手動で発行できます。
| 用途 | 例 |
|---|---|
| 単発の費用請求 | コンサルティング費、初期設定費 |
| Flat Fee型の一回請求 | ハードウェア販売、ライセンス一括払い |
顧客に届くInvoiceファイルの形式は、テンプレートの種類に関わらず常にPDFです。テンプレート自体の作り方には2種類あります。
| テンプレート形式 | 特徴 |
|---|---|
| HTMLテンプレート | 現在推奨されている方式。柔軟でカスタマイズ性が高い |
| Word Mail Merge テンプレート | 従来からある方式。Wordの差し込み印刷機能でレイアウトを作る |
Billing Document Templateは、Invoice・Credit Memo・Debit Memoの見た目(レイアウト・自社ブランド・記載項目)を設計する機能です。テンプレートはHTMLまたはWordで作成し、Merge Field(差し込みフィールド)で実データを埋め込みます。テンプレートは商品単位ではなくAccount(顧客)単位で適用され、顧客ごとに異なるレイアウトを使い分けることもできます。
Merge Fieldは、{{Invoice.InvoiceNumber}} のように「オブジェクト.フィールド名」をドット区切りでつなぎ、二重中括弧で囲んだ記法です。テンプレートの種類ごとにルートオブジェクトが決まっています。
| テンプレートの種類 | ルートオブジェクト | 記述例 |
|---|---|---|
| Invoiceテンプレート | Invoice | {{Invoice.InvoiceNumber}} |
| Credit Memoテンプレート | CreditMemo | {{CreditMemo.CreditMemoNumber}} |
| Debit Memoテンプレート | DebitMemo | {{DebitMemo.DebitMemoNumber}} |
Merge Fieldは以下の3種類に分類されます。
| 種類 | 役割 |
|---|---|
| Variable(変数) | {{Invoice.Balance}} のように、値をそのまま置き換える最も基本的な差し込み |
| Section(セクション) | Invoice Item一覧のように、繰り返し表示される明細をループ処理する |
| Inverted Section | 条件が「該当しない」場合にだけ表示するブロック(IF文の否定条件) |
Zuoraにはあらかじめ用意されたSystem Default Templateと、自社ブランドに合わせて作成するCustom Templateがあります。
| テンプレート | 特徴 |
|---|---|
| System Default Template | Zuoraが標準提供する最小限のレイアウト。カスタマイズは限定的 |
| Custom Template | 自社で新規作成・編集する独自レイアウト。HTML/Wordどちらでも作成可能 |
Custom Templateを作成しただけでは自動的には使われません。**Accountの「Default Template」として明示的に設定する(Zuora UIまたはAPI経由)**ことで、そのAccountに発行されるInvoice・Credit Memo・Debit Memoに適用されます。
| HTMLテンプレート | Word Mail Mergeテンプレート | |
|---|---|---|
| 作成方法 | HTML・CSS・JavaScript・画像を使って設計 | Wordの差し込み印刷機能でレイアウトを作成 |
| カスタマイズ性 | 高い(条件分岐・ループ・バーコード・多言語対応など) | 限定的 |
| 推奨度 | 現在の推奨方式 | 従来方式(新規テンプレートはHTML推奨) |
| 保存形式 | HTML | .doc形式のみ(.docx不可) |
| 最終出力 | どちらもPDF | どちらもPDF |
HTMLテンプレートでは、行・列・データテーブル・フォント・ページ設定・ヘッダーとフッター・バーコード・画像・JavaScriptなど、細かい要素を個別に構成できます。特に「Group By機能」を使うと、複数のInvoice Itemを商品カテゴリなどでグルーピングして表示するといった高度なレイアウトも組めます。
グローバル展開している企業向けに、1つのテンプレートから顧客ごとの言語でPDFを自動生成する機能があります。英語・ドイツ語・フランス語・スペイン語・中国語・アラビア語など、マルチバイト文字や右書き言語を含む幅広い言語に対応しています。
| 仕組み | 内容 |
|---|---|
| 翻訳の対象 | テキスト系のMerge Fieldのみ(数値・日付は対象外) |
| 言語の決定方法 | 顧客のCommunication Profileに設定されたLocale(地域設定) |
| 日付・数値のフォーマット | Localeに応じて自動的にフォーマットが変わる(翻訳ではなく書式変換) |
Invoice・Credit Memo・Debit Memoの生成は、Bill Runに伴う自動生成のほか、個別アカウント単位でのオンデマンド生成にも対応しています。
| 生成方法 | 用途 |
|---|---|
| Bill Run経由(自動) | 通常の月次請求サイクル |
| オンデマンド(個別アカウント) | 特定顧客への単発請求、テスト目的での確認 |
SubscriptionをBCDの途中で変更すると、Zuoraは変更前後の差分を日割りで計算してInvoiceに反映します。Prorationは「公平な課金」を自動化するZuoraの中核機能の一つです。
Prorationとは、請求期間の途中で料金が変わった場合に、残り日数に応じて料金を按分する仕組みです。たとえば月額3,000円のプランに月の途中から加入した場合、加入日から月末までの日数分だけを請求します。
月額 3,000円 / 31日 × 残り20日 = 1,935円(Prorated金額)
| 操作 | Prorationの内容 |
|---|---|
| 月途中でSubscriptionを新規作成 | 初回請求は残り日数分の日割り額になる |
| 月途中でUpgrade(プランアップ) | 差額の日割りがDebit Memo相当の追加請求になる |
| 月途中でDowngrade(プランダウン) | 過払い分の日割りがCredit Memoとして返金される |
| 月途中でSubscriptionをCancel | 残り期間分がCredit Memoとして生成される(Refund Policy設定に依存) |
Rate Plan ChargeにはProrationを有効にするかどうかの設定があります。
| 設定 | 動作 |
|---|---|
| Proration ON(デフォルト) | 月途中の変更を日割りで計算し、InvoiceまたはMemoに反映 |
| Proration OFF | 月途中の変更があっても、次のBCDまで現行料金で請求される |
Zuoraには2つのProrationモードがあります。試験ではどちらが「日単位」かを問われることがあります。
| モード | 計算単位 | 特徴 |
|---|---|---|
| Full Proration(日割り) | 日単位 | 変更日から月末までの実日数で按分。最も一般的。 |
| No Proration | なし | Proration計算を行わない。ChargeレベルでProration OFFと同義。 |
月次請求で月の途中に開始・変更・解約したチャージを実日数で日割りしたい場合は、Billing Settingsで「Bill recurring charges for partial month」をYesにし、「When prorating a month, assume 30 days or use actual days」を「Use actual number of days」に設定します。「Bill usage charges for partial month/week」はUsage chargeの設定であり、Recurringの日割りとは別の項目です。日割り(Proration)はRecurring chargeのみが対象で、Usage chargeは対象外です。
UsageチャージはZuoraへデータをロードしてから請求される、後払い専用のチャージです。「実際に使った分だけ請求する」というシンプルな原則を、Zuoraはそのまま実装しています。
Zuoraには3つのチャージタイプがあります。
| チャージタイプ | 請求タイミング | 例 |
|---|---|---|
| Recurring | 定期的に自動生成(前払い・後払い両対応) | 月額サブスクリプション料金 |
| One-time | Subscription作成時または手動 | 初期設定費、ライセンス費 |
| Usage | 使用量データをロードしてから | API呼び出し回数、ストレージGB、通話分数 |
Usageチャージは、実際の使用量データがZuoraに存在してはじめて請求額が確定します。そのため、必ず**後払い(arrears)**になります。
Zuoraにデータを登録する方法は2つだけです。
| 方法 | 向いているケース |
|---|---|
| CSV/Excelアップロード | 月次バッチなど、定期的に一括でデータを投入する場合 |
| API(Usage API) | システムから都度リアルタイムで使用量を連携する場合 |
必須項目はAccount(Number)・UOM(単位)・Quantity(数量)・Start Date(開始日)の4つです。
| 項目 | 必須か | 役割 |
|---|---|---|
| Account Number | 必須 | どの顧客の使用量かを指定する |
| UOM(単位) | 必須 | Chargeに設定されているUOMと一致させる必要がある |
| Quantity | 必須 | 使用量の数値 |
| Start Date | 必須 | どのInvoice期間にこの使用量を計上するかを決める唯一の日付 |
| End Date | 任意 | 記録用の情報。請求期間の判定には使われない |
| Subscription Number / Charge Number | 任意 | 指定すると特定の契約・チャージにだけ紐づく |
通常のBill Runは毎日夜間バッチで実行されますが、使用量データをロードした翌日のBill Runまで待てないケースもあります。たとえば、解約後すぐに最後の使用量を請求したい場合などです。
Zuoraでは、使用量データをロードした後にOn Demand Bill Runを実行することで、通常のBCDサイクルを待たずに請求書を発行できます。
| Recurring(In Arrears) | Usage | |
|---|---|---|
| 請求額の決まり方 | 料金プランで固定(例:月額100ドル) | 実際の使用量 × 単価で計算 |
| データロードの要否 | 不要(自動) | 必要(手動またはAPI) |
| 請求タイミング | BCDに従い自動 | データロード後の次のBill Run |
| 「後払い」の意味 | 当月サービス提供後に翌月請求 | 使用量データを受け取ってから請求 |
Invoiceを発行した後に金額を修正したいとき、Zuoraは元のInvoiceを直接書き換えません。Credit MemoとDebit Memoという専用オブジェクトで差分を記録し、会計上の正確な証跡を残します。
PostedになったInvoiceは直接編集できません。理由は監査証跡(Audit Trail)の保全です。企業会計では「一度確定した請求書は変更してはならない」という原則があり、Zuoraはこれを設計に反映しています。
| オブジェクト | 用途 | 方向 |
|---|---|---|
| Credit Memo | 顧客への返金・減額 | Zuora → 顧客(マイナス調整) |
| Debit Memo | 顧客への追加請求 | 顧客 → Zuora(プラス調整) |
| 用途 | 具体例 |
|---|---|
| 過請求の修正 | 料金プランの誤設定で高く請求してしまった |
| 解約返金(Refund) | 解約時に残期間分を払い戻す |
| サービス障害補償 | SLA違反に対するサービスクレジット付与 |
| Invoice Cancel | InvoiceをCancelすると自動でCredit Memoが生成される |
| Write-off(不良債権償却) | 回収不能な残高を貸倒処理する際にCredit Memoを活用 |
Credit Memoは発行しただけでは現金の動きになりません。以下の2つの使い道があります。
| 使い道 | 説明 |
|---|---|
| 次のInvoiceに充当(Apply) | 翌月請求書からCredit Memo残高を差し引く |
| Refund(返金) | 銀行振込などで現金を顧客に戻す |
充当していない残高は「Unapplied Credit Memo Balance」として顧客のAccountに残り続けます。
| ステップ | 操作 |
|---|---|
| 1. Credit Memoを確認 | UnappliedなCredit Memoが対象アカウントに存在することを確認 |
| 2. Refundを作成 | Credit MemoからRefundを生成。金額・Payment Methodを指定 |
| 3. Gateway処理 | ElectronicはPayment Gateway経由で自動処理、ExternalはZuora外で手動処理 |
| 4. Refund確定 | RefundステータスがProcessedになれば完了 |
| 設定 | 動作 |
|---|---|
| Auto-Apply ON | Bill Run実行後、対象アカウントの未充当Credit Memo残高が新しいInvoiceに自動で差し引かれる |
| Auto-Apply OFF | 担当者が手動でCredit MemoをInvoiceに充当する必要がある |
Net Nという支払条件は「請求書日付+N日」が支払期日になります。月末固定や請求書日付そのものと混同しないでください。たとえば請求書日付が1月1日でPayment TermがNet 21の場合、支払期日は1月1日+21日=1月22日です。「月末(1/31)に固定する」「請求書日付そのものを期日とする」はいずれも典型的な誤答パターンです。
週次のBilling Periodが選択肢に出てこない場合は、Billing Settings > Define Billing Periodsの「Customize Billing Periods」セクションでWeekを有効化します。日割り自体の設定(Define Billing Rules)や価格の基準単位(Customize List Price Base)とは別画面である点に注意してください。
読み終えたら完了にしましょう
完了ボタンを押すと、モジュール「【Zuora Billing 301】BI1〜BI12 学習記事」の進捗として記録されます。読んだ内容を振り返るときにも役立ちます。