ZuoraはサブスクリプションのすべてのトランザクションをAccounting Codeで勘定科目に紐づけ、仕訳を自動生成します。ERPの補助元帳として機能し、経理クローズ作業を設計・運用できるようになります。
複式簿記では借方と貸方が常に一致し、前払いを受けてもサービス提供分だけを売上として認識します。サブスクリプションビジネスでは前受収益の管理が会計の核心です。
すべての取引を「お金がどこから来たか(貸方)」と「どこへ行ったか(借方)」の2つの側面で記録します。左右の金額は常に一致します。
| 取引例 | 借方(左) | 貸方(右) |
|---|---|---|
| 請求書を発行した | 売掛金(もらう権利が増えた) | 売上(収益が発生した) |
| 入金があった | 現金(手元に入った) | 売掛金(権利が消えた) |
| 前払いを受けた | 現金(手元に入った) | 前受収益(まだ売上にできない) |
会計等式:
資産(Assets)= 負債(Liabilities)+ 純資産(Equity)
この等式が常に成立していることが「帳簿が正しい」状態です。Zuoraエンジニアとして押さえておくポイントは「借方と貸方が常にバランスしている」ことだけで十分です。
資産と負債をどの価格で評価するかには複数の方法があります。試験では**Fair Value Method(公正価値法)**の定義が問われます。
| 評価方法 | 定義 |
|---|---|
| Fair Value Method(公正価値法) | 資産・負債を**現在の市場価値(Current Market Value)**で評価・報告する手法 |
| Historical Cost(取得原価法) | 購入当時の価格(原価)で評価する手法 |
「お金をもらった時に売上計上する」のではなく、**「サービスを提供した時に売上計上する」**のが会計のルールです(収益認識原則)。
12万円の年間前払いを受けた場合:
| タイミング | 前受収益残高 | 売上計上額 |
|---|---|---|
| 契約時(前払い受領) | 120,000円 | 0円 |
| 1ヶ月目 | 110,000円 | 10,000円 |
| 毎月 | 10,000円ずつ減少 | 10,000円ずつ増加 |
| 12ヶ月目 | 0円 | 10,000円 |
Accounting CodeはProduct Rate Plan Chargeに設定し、InvoiceやPaymentが発生するたびに仕訳を自動生成します。ERPの勘定科目体系と合わせて設計します。
導入時にまずChart of Accountsを作成します。これがZuoraの勘定科目マスターです。
| フィールド | 内容 | 例 |
|---|---|---|
| Accounting Code名 | Zuora内での識別名 | Revenue_SaaS |
| Type | 勘定科目の種類 | Revenue / Deferred Revenue / Accounts Receivable / Cash 等 |
| GL Account Number | ERPの勘定科目番号(任意) | 4001 |
| GL Account Name | ERPの勘定科目名(任意) | 売上高_SaaS |
| 設定場所 | 設定するAccounting Code | タイミング |
|---|---|---|
| Product Rate Plan Charge | 売上(Revenue)・前受収益(Deferred Revenue) | 商品設定時 |
| Payment Method / Gateway | 現金(Cash)・クリアリング口座 | 支払い設定時 |
| Discount | 値引き(Discount) | 割引設定時 |
| Tax | 税(Tax Payable) | 税設定時 |
支払い方法ごとに異なる現金コードを設定できます。
| 支払い方法 | Accounting Code例 |
|---|---|
| クレジットカード | Credit_Card_Clearing |
| 口座振替(ACH) | Bank_Account_JPY |
| 現金 | Cash |
| トランザクション | 借方 | 貸方 |
|---|---|---|
| Invoice生成 | 売掛金(AR) | 売上 または 前受収益 |
| Payment受領 | 現金(Cash) | 売掛金(AR) |
| Credit Memo発行 | 売上(Revenue) | 売掛金(AR) |
ZuoraはInvoice・Payment・Credit Memoなどのトランザクションが確定するたびに、Journal Entry(JE)オブジェクトを自動生成します。JEがERPへ転記されることで、Zuoraはサブレジャーとして機能します。
Journal Entry(JE)はZuora内部の仕訳レコードです。「いつ・どのトランザクションで・どの勘定科目に・いくら動いたか」を記録します。
| フィールド | 内容 | 例 |
|---|---|---|
| Journal Entry Date | 仕訳の発生日 | Invoice生成日、Payment受領日 |
| Accounting Period | 帰属する会計期間 | 2025-06 |
| Status | 転記状態 | Created / Transferred |
| Journal Entry Items | 借方・貸方の明細行 | AR Dr. 10,000 / Revenue Cr. 10,000 |
| Source | 元になったオブジェクト | Invoice / Payment / Credit Memo 等 |
| ステータス | 意味 |
|---|---|
| Created | Zuora内にJEが生成されたが、まだERPに転記されていない |
| Transferred | ERPへの転記が完了した(エクスポートジョブ実行後に更新される) |
個々のトランザクションから生成されるJEはZuora内の詳細な明細レコードです。これをERPに取り込む際は、Journal Runを実行して「サマリー仕訳」を生成します。
| 概念 | 内容 |
|---|---|
| Journal Entry(JE) | Zuora内の個別トランザクション仕訳レコード(詳細) |
| Journal Run | 指定期間のJEを集計してサマリー仕訳を生成するバッチ操作 |
| サマリー仕訳 | ERPにインポートできる形式に集約された仕訳データ |
前受収益(Deferred Revenue)を毎月どのルールで売上に振り替えるかは、Revenue Recognition Ruleで設定します。Zuoraはこのルールに従ってRevenue Scheduleを自動生成し、JEを毎月計上します。
Invoice生成時、Product Rate Plan ChargeのRevenue Recognition Ruleに基づいてRevenue Scheduleが自動生成されます。これが「いつ・いくらを前受収益から売上に振り替えるか」のスケジュール表です。
| ルール | 振替タイミング | 使いどころ |
|---|---|---|
| Recognize upon invoicing | Invoice生成時に全額を即座に売上計上 | 一回払い・即時提供のサービス |
| Recognize over time(Straight-line) | サービス期間にわたって均等に按分 | 月額SaaSのような期間サービス(最も一般的) |
| Recognize on a specific day | 指定した特定日に全額を計上 | マイルストーン型の契約 |
Revenue Scheduleが生成された後に契約変更(Upgrade・Downgrade・Cancel)があった場合、Zuoraは自動でRevenue Scheduleを調整します。
| 変更 | Revenue Scheduleへの影響 |
|---|---|
| Upgrade | 差額分の新しいRevenue Scheduleが追加生成される |
| Downgrade | 過剰計上分が将来の期間から減額される |
| Cancel | 残期間分のRevenue Scheduleがゼロに調整される |
ZuoraはERPが必要とする仕訳データを詳細レベルで管理し、集約してERPに渡します。ERPは個々の契約詳細を知らなくてよくなります。
| システム | 管理する情報 | 例 |
|---|---|---|
| Zuora | 契約・請求の詳細 | 誰が・何のプランで・いくら・いつ請求されたか |
| ERP | 会社全体の集計値 | 売上合計・売掛金残高・前受収益残高 |
ZuoraのJEが生成された直後にERPへ連携されるわけではありません。連携方式はプロジェクトによって異なります。
| 方式 | 内容 | 特徴 |
|---|---|---|
| 日次バッチ | 毎晩当日分の仕訳をまとめてERPに送る | 一般的な実装 |
| 月次エクスポート | 月末にCSVで経理担当者がERPに取り込む | シンプルな実装 |
| リアルタイムAPI | 仕訳発生のたびに即時連携 | 高度な実装 |
| 原因 | 内容 |
|---|---|
| 連携タイミングのズレ | Zuoraに仕訳は生成されたが、まだERPへの連携バッチが走っていない |
| 連携エラー | エクスポートジョブが失敗してZuora側だけに仕訳が溜まっている |
| Accounting Codeの設定ミス | ZuoraのコードとERPのGL番号のマッピングが間違っている |
| ERP側の手動入力 | ERP側で手動仕訳が追加されてZuoraと乖離した |
複数の通貨でPaymentを受け取る場合、為替レートの変動によって**外国為替差益または差損(Foreign Exchange Gain / Loss)**が発生します。
| 状況 | 内容 |
|---|---|
| 為替差益(FX Gain) | Invoice発行時より円安になり、受取額が帳簿上の金額より多くなった場合 |
| 為替差損(FX Loss) | Invoice発行時より円高になり、受取額が帳簿上の金額より少なくなった場合 |
月末にZuoraの会計期間をClosedにすると、その期間への仕訳追加が不可になります。クローズ前にTrial Balanceで残高確認と未転記仕訳の確認を完了させます。
Zuoraでは企業のビジネスカレンダーに合わせた複数の会計期間タイプをサポートしています。
| タイプ | 内容 | 用途 |
|---|---|---|
| Days(日単位) | 任意の日数で期間を定義 | 特殊な決算スケジュールへの対応 |
| Month(月次) | 暦月単位の会計期間 | 最も一般的。多くの企業が採用 |
| Quarter(四半期) | 3ヶ月単位の会計期間 | 四半期決算のみ管理したい場合 |
| 4-4-5 Week | 4週・4週・5週の3期間で1四半期を構成 | 小売業など週ベースの業界標準カレンダー |
| ステータス | 内容 | 仕訳の追加・変更 |
|---|---|---|
| Open | 通常の運用状態 | 可能 |
| Pending Close | クローズ作業中。Trial Balanceで確認する | 可能(問題修正のため) |
| Closed | 締め済み | 不可 |
| 作業 | 内容 |
|---|---|
| Trial Balance実行 | Zuora内の借方・貸方の残高を確認。CreatedのままのJEがないかチェック |
| Close Process Dashboard確認 | バリデーションエラーや問題箇所を一覧で確認 |
| ERPエクスポート確認 | 当月分のJEがすべてTransferred(ERPへ連携済み)か確認 |
| Period Close実行 | ZuoraのAccounting PeriodをClosedに変更 |
読み終えたら完了にしましょう
完了ボタンを押すと、モジュール「【Zuora Billing 301】BI1〜BI12 学習記事」の進捗として記録されます。読んだ内容を振り返るときにも役立ちます。