@mickey最終更新 2026年5月24日投稿 2026年5月24日
ZuoraのOrdersモデルは「Subscriptionへのすべての操作をOrderという指示書として記録する」設計です。この履歴の積み重ねがあるからこそ、契約の変化を正確に追跡し、ビジネスの指標として活用できます。
ZuoraではSubscription(契約の状態)とOrder(操作の指示)が明確に分離されています。この2つの役割の違いを理解することが、Zuoraの契約管理を理解する第一歩です。
Subscriptionは「今この顧客がどんな契約を持っているか」という状態を表します。一方Orderは「その契約に対して何をするか」という指示です。そしてOrderの中にあるOrder Actionが実際にSubscriptionを変える操作の主体です。
Order(指示書)
└── Order Action(具体的な操作)
└── Subscription(状態が変わる)
この分離には明確な理由があります。契約は一度作ったら終わりではなく、プラン変更・一時停止・更新・解約など様々な変化を経ます。その変化の履歴をOrderとして積み重ねることで、「いつ・誰が・何を変えたか」を追跡できる設計になっています。
Subscriptionの現在の状態はOrder Actionの積み重ねによって作られます。これはバージョン管理のようなイメージです。Subscriptionそのものを直接書き換えるのではなく、Orderという差分を積み上げていく設計です。
OrderはAPIを通じて自動生成されるのが基本です。 ユーザーがアプリやWebサイト上でプラン変更や契約操作をすると、バックエンドのシステムがZuora APIを呼び出してOrderを生成します。
ユーザー操作
└── バックエンドシステム
└── Zuora Orders API呼び出し
└── Order生成 → Subscription更新
Zuora Admin(管理者)がUIから手動でOrderを作ることもできますが、それはデータ修正や移行作業などの例外的なケースです。SalesforceのCPQを使っている場合は、営業担当者が見積を作って承認されると自動でZuoraにOrderが作られるフローになります。
Orderを作った後に誤りに気づいた場合、Invoiceがまだ生成・確定されていない段階であればOrderを削除して元に戻せます。 ただし、Invoiceが確定済みのOrderは削除できません。
このため、実務ではOrdersのPreview機能を使って請求への影響を事前にシミュレーションしてから確定するのがベストプラクティスです。ZuoraのOrders APIにはPreviewエンドポイントが用意されており、実際にOrderを作らずに影響を確認できます。
1つのOrderは複数のOrder Actionを含むことができ、各Order ActionはどのSubscriptionにどんな操作をするかを定義します。この3層構造を理解することがOrdersモデルの核心です。
3つのオブジェクトの役割をまとめると以下のとおりです。
| オブジェクト | 役割 |
|---|---|
| Order | 1つの契約イベント全体のまとまり。複数のOrder Actionを束ねる |
| Order Action | 特定のSubscriptionに対する1つの操作。1つのOrderに複数持てる |
| Order Line Item | サブスクリプションに紐づかない単発の取引(物品購入・初期費用・プロフェッショナルサービスなど)を表す |
Order Actionは必ず1つのSubscriptionに対して操作します。 1つのOrderに複数のOrder Actionがあれば、それぞれ別のSubscriptionを操作することも、同じSubscriptionに複数の操作を加えることも可能です。
たとえば「既存のプランを外して新しいプランを追加する」という操作は、Remove ProductとAdd Productという2つのOrder Actionを1つのOrderにまとめて実行できます。
Order Line Itemは、定期課金のSubscriptionとは別に「一回だけ発生する取引」をOrderの中で扱うための仕組みです。
たとえば以下のようなケースで使います。
Order Line ItemはSubscriptionと同じOrderの中に共存できるため、「契約と同時にハードウェアも注文する」といったビジネスをひとつのOrderで表現できます。
Order ActionはSubscriptionに対して「何をするか」を定義する操作の単位です。操作の種類によって「Subscriptionレベル」と「Rate Planレベル」の2階層に分かれています。
ZuoraのOrder Actionは大きく2種類に分類されます。
| 分類 | 対象 | Order Actionの種類 |
|---|---|---|
| Subscriptionレベル | Subscription全体 | Create / Renewal / Cancellation / Suspend / Resume / Terms and Conditions / Owner Transfer |
| Rate Planレベル | Subscription内の料金プラン | Add Product / Remove Product / Update Product |
| Order Action | 内容 |
|---|---|
| Create | 新しいSubscriptionを作成する |
| Renewal | 期間(Term)が終わったSubscriptionを更新する |
| Cancellation | Subscriptionを解約する |
| Suspend | Subscriptionを一時停止する。課金も止まる |
| Resume | 停止中のSubscriptionを再開する |
| Terms and Conditions | 契約期間・自動更新設定などの条件を変更する |
| Owner Transfer | SubscriptionをあるAccountから別のAccountに移す |
Rate Plan(料金プラン)とは、Subscriptionの中に含まれる個々の商品・サービスの課金設定のことです。1つのSubscriptionに複数のRate Planを持てます。
| Order Action | 内容 |
|---|---|
| Add Product | Subscriptionに新しいRate Planを追加する(例:オプション機能の追加) |
| Remove Product | Subscriptionから既存のRate Planを外す |
| Update Product | 既存のRate Planの数量・価格・条件を変更する |
Subscriptionは作成から解約まで、いくつかのステータスを経て変化します。ステータスは「このSubscriptionが今どういう状態にあるか」を表し、請求や操作の可否にも影響します。
Subscriptionのライフサイクルは、Create Order Actionによって始まり、Cancelled が唯一の終点です。
Create Order Action → Pending or Active → (Suspend → Resume) → Cancelled
Active は「通常稼働中の状態」であり、ここからSuspend・Resume・Cancelledへと変化します。SuspendedはActiveかCancelledへ移行する一時的な状態です。Cancelledからは他のステータスに戻れません。
Subscriptionのステータス一覧は以下のとおりです。
| ステータス | 意味 |
|---|---|
| Pending Acceptance | 顧客がまだ契約を承諾していない状態。顧客承諾日が未入力のまま作成された場合に発生 |
| Pending Activation | サービス開始日が未確定の状態。サービス開始日が未入力のまま作成された場合に発生 |
| Active | 契約が有効で課金が走っている通常状態 |
| Suspended | 一時停止中。課金も止まっている |
| Cancelled | 解約済み。復活はできない |
PendingステータスはZuoraの「先にOrderを作っておき、後でトリガーを引く」という設計から生まれます。
たとえば法人向けのビジネスでは、営業が契約書を送付してから顧客が署名・返送するまで数日かかることがあります。このとき「署名が返ってくる前にZuoraにSubscriptionを作りたいが、課金はまだ始めたくない」というニーズが生じます。
| ステータス | 発生条件 | 解除方法 |
|---|---|---|
| Pending Acceptance | テナント設定で「顧客承諾を必須」にしている場合に、顧客承諾日を入力せずにOrderを作成したとき | 顧客承諾日を入力する |
| Pending Activation | テナント設定で「サービス開始確認を必須」にしている場合に、サービス開始日を入力せずにOrderを作成したとき | サービス開始日を入力する |
ZuoraのSubscriptionには「契約期間を持つTermed型」と「期間を持たないEvergreen型」の2種類があります。どちらを選ぶかはビジネスモデルによって決まります。
| 種別 | 特徴 |
|---|---|
| Termed | 開始日と終了日がある契約。期間終了後に更新(Renewal)か解約かを選ぶ |
| Evergreen | 終了日がなく、明示的にCancelするまで永続する契約 |
Termedは「1年契約」「3年契約」のように、契約期間が明確に決まっているモデルです。期間が終わると自動更新またはそのまま終了します。法人向けの年次契約や、コミットメント型の複数年契約に向いています。
Evergreenは終了日を持たず、キャンセルされるまで永続するモデルです。「いつでも解約できる月次プラン」がその典型です。月次・週次のSaaSプランや従量課金モデルに向いています。更新という概念がないため、Renewal Order Actionは使いません。
| 判断軸 | Termed | Evergreen |
|---|---|---|
| 契約期間 | 明確に決まっている | 期間を定めない |
| 更新管理 | 必要(Renewalフローを設計する) | 不要 |
| 典型的なビジネス | 法人向け年次契約・複数年コミット | 個人向け月次SaaS・従量課金 |
| 解約 | 期間終了時またはキャンセル | キャンセル時のみ |
Rampディールとは、契約期間中に価格や数量が段階的に変化する契約形態です。複数年の大型契約でよく使われ、Zuoraはこれを1つのSubscriptionとOrderで管理できます。
典型的なRampディールの例を見てみましょう。
| 期間 | 数量 | 月額単価 | 月額合計 |
|---|---|---|---|
| 1年目(Month 1-12) | 100席 | $10 | $1,000 |
| 2年目(Month 13-24) | 150席 | $9 | $1,350 |
| 3年目(Month 25-36) | 200席 | $8 | $1,600 |
この例では、年が進むにつれてシート数が増え、単価が下がっています。大量購入による段階的な値引きをコミットさせる、というビジネスでよく見られるパターンです。
Rampという仕組みがなければ、この3年契約を表現するために3つの別々のOrderやSubscriptionを作る必要があります。
そうなると「この3つは同じ顧客の同じ契約の続き」という文脈がZuora上で失われ、MRR(月次定期収益)の推移をひとつの契約として追跡できなくなります。
Rampを使えば、これを1つのSubscription・1つのOrderで表現できます。 契約全体の文脈が保たれ、各期間(Ramp Interval)ごとのMRRやTCV(Total Contract Value、契約総額)といった指標も自動で計算されます。
Orderを積み重ねた結果として、Rampに似た状態になることはあります。たとえば「100席で契約 → 半年後に150席に増やす → さらに半年後に200席に増やす」という3つのOrderの履歴はRampに見えます。しかしRampとOrderの積み重ねは本質的に別物です。
| 観点 | Rampディール | Orderの積み重ね |
|---|---|---|
| 合意のタイミング | 将来の変化を最初にコミットさせる | 都度の判断で変更する |
| 将来の数字の確定 | Interval(区間)ごとのMRR・TCVが最初から確定 | 将来の数字は見えない |
| 契約の文脈 | 3年分の変化が1つのSubscriptionに紐づく | 変更の積み重ねの履歴 |
Rampは「2年目に150席になること」を顧客が最初に約束する契約です。Orderの積み重ねはあくまでその時々の変更であり、将来の変化は約束されていません。「複数年にわたって価格や数量が変わる大型契約を最初に合意させたい」という要件があるときにRampを使う、という判断軸になります。
ZuoraのOrdersモデルは「Subscriptionへのすべての操作をOrderという指示書として記録する」設計です。この履歴の積み重ねがあるからこそ、契約の変化を正確に追跡し、ビジネスの指標として活用できます。
| テーマ | 要点 |
|---|---|
| OrderとSubscriptionの関係 | OrderはSubscriptionを操作する指示書。Order Actionが実際にSubscriptionを変える |
| Orderは誰が作るか | 基本はAPI経由で自動生成。ユーザー操作やCPQの承認がトリガーになる |
| データ構造 | Order → Order Action → Subscriptionの3層。Order Line Itemでサブスク外の取引も扱える |
| Order Actionの種類 | SubscriptionレベルとRate Planレベルの2階層。「変更」はRemove + Addの組み合わせで表現する |
| ステータス | CreateからCancelledまでの一方向のライフサイクル。PendingはトリガーとなるDateが未確定の状態 |
| Termed vs Evergreen | 期間ありの契約と期間なしの契約。ビジネスモデルによって使い分ける |
| Rampディール | 将来の変化を最初にコミットさせる複数年契約。Orderの積み重ねとは別物 |
Orderという概念があることで、Zuoraは単なる請求システムを超えた「契約ライフサイクル管理システム」として機能します。すべての契約操作がOrderとして記録されるため、「いつ・何が・なぜ変わったか」を常に追跡できる状態が保たれます。
読み終えたら完了にしましょう
完了ボタンを押すと、モジュール「【Zuora Billing 301 BI3-BI4, BI11】顧客と契約のライフサイクル」の進捗として記録されます。読んだ内容を振り返るときにも役立ちます。