Step through this use case in the browser, with captured API requests and payloads and no tenant required, in the interactive walkthrough.
The second common customer example we reviewed earlier discussed how customers are using Zuora's 'Commitment' model. Customers commit to a specific dollar amount, say $100 per quarter and if their actual usage of conversations at $3/conversation doesn't exceed that $100 commitment in that quarter a true up charge is added automatically at the end of the quarter. In Zuora that period, in this example a quarter, is known as the 'validity period'. Note that the regular billing period does not have to match the validity period as the validity period can be a multiple of the billing period, e.g. quarterly or annual as multiples of monthly.
| Scenario | Month | Usage | Commit-ment | Invoice Action | Total Billed |
|---|---|---|---|---|---|
| 1st Quarter (Under- utilization) | 1st | 8 conversations | $100 | Monthly invoice item for $24 | $24 |
| 2nd | 12 conversations | $100 | Monthly invoice item for $36 | $60 | |
| 3rd | 5 conversations | $100 | Monthly invoice item for $15 + true up charge of $25 | $100 | |
| 2nd Quarter (Commit exceeded) | 4th | 8 conversations | $100 | Monthly invoice item for $24 | $124 |
| 5th | 12 conversations | $100 | Monthly invoice item for $36 | $160 | |
| 6th | 15 conversations | $100 | Monthly invoice item for $45 (no true up as quarterly billings are $105 exceeding commitment) | $205 |
What should the charges look like?
| Property | Monthly Usage Charge |
|---|---|
| Charge Type | Usage |
| Charge Model | Per Unit |
| List Price | $3.00 |
| UOM | Conversation |
| Charge Function or Formula | Credit Commitment |
| Commitment Type | Currency |
| Validity Period | N/A |
| Rating Group | By Billing Period |
| Billing Period | Month |
| Billing Timing | N/A |
| Billing Day | Charge Trigger Day |

I used this prompt to create this as a product rate plan, you must edit the prompt before using as your accounts codes and revenue recognition rules are different than the ones used in my tenant. You will also likely need to modify the rate plan effective start and end dates:
Create a product rate plan named "AI Assist Conversations Monthly Plan" (effective 2026-01-01 to 2050-12-31) under the product [TARGET PRODUCT NAME], with the following charge: "AI Conversations Charge" (usage)
- Charge Type: Usage
- Unit of Measure (UOM): Conversation
— ensure this UOM exists in the target tenant's UOM list before creating the charge; create it first if missing
- Charge Model: Per Unit Pricing of $3 per Conversation
- Billing Period: Month, alignment = Align to Charge
- Billing Cycle Type: Charge Trigger Day
- Trigger Event: Contract Effective
- End Date Condition: Subscription End
- Default Quantity: 0
- List Price Base: Per Billing Period
- Price Change Option: No Change
- Proration Option: No Proration
- Usage Record Rating Option: End of Billing Period
- Rating Group: By Billing Period
- Taxable: No (tax mode tax_exclusive)
- Accounting: Deferred Revenue Account = "Deferred PaaS Revenue"; Recognized Revenue Account = "Earned PaaS Revenue"
- Revenue Recognition Rule: "Recognize upon invoicing"
Notes for the target tenant:
- The "Conversation" UOM must exist (or be created) before adding Charge 2.
- Confirm the target tenant has accounting codes named "Earned PaaS Revenue", "Deferred PaaS Revenue" (or substitute equivalent codes) before creation, since accounting codes are tenant-specific.
- Add currency amounts for any additional currencies supported in the target tenant, matching the ratio structure above. Returning to our 'Pre Launch Checklist':
- Is mediation enabled? Yes
- Charge model? Per unit usage drawdown charge. Combined with a billing account commitment.
- Variable vs recurring? Both
- Pay in advance or in arrears? Arrears
- The unit of measure(s) involved? Conversation
- Is Zuora Mediation needed? And what transformations are needed to convert the source event data to a canonical Zuora Usage Record? Yes, we'll need to deduplicate, filter, calculate quantity based on values in three fields in the event record, map the incoming tenant_id value as the Zuora Billing Account Number, and add a UOM value to every event. Notice that you don't need a new meter if you continue to use the same example source file. Commitment is a Zuora Billing feature, not a mediation feature.You do need a new rate plan, and our new example uses a different UOM, Conversation, see next bullet.
- Did you create a rate plan and a billing account and subscription with that rate plan? To follow this example, create a billing account and subscription using a rate plan as described below. Set the subscription start date to be January 1st, 2026. Include a quarterly commitment of $100 per quarter.
- Instead of using
llm_usage.csvhere are the records you need to demonstrate the above example, drop them into a text editor, update the first column to the account number in your tenant , save the file as conversations.csv. In the Zuora UI click on 'Billing' in the left menu, click on 'Usage' and hit the 'Add Usage Records' button and upload this csv file:
ACCOUNT_ID,UOM,**QTY,***STARTDATE,*ENDDATE,SUBSCRIPTION_ID,CHARGE_ID,**DESCRIPTION,UNIQUE_KEY,**PRODUCT_RATE_PLAN_CHARGE_ID
A00025257,Conversation,**8,***1/15/2026,*,,,**,,**
A00025257,Conversation,**12,***2/15/2026,*,,,**,,**
A00025257,Conversation,**5,***3/15/2026,*,,,**,,**
A00025257,Conversation,**8,***4/15/2026,*,,,**,,**
A00025257,Conversation,**12,***5/15/2026,*,,,**,,**
A00025257,Conversation,**15,***6/15/2026,*,,,**,,**The usage file provided assumes you have no required custom fields on the usage object. Once loaded go to the billing and click on 'Create Bill Run' and create three bill runs for the account each with a different target and invoice date starting with Feb 1st 2026. Ensure the charge types are all selected as well as Auto-Post documents upon completion of Bill Run. Since these charges are billing in arrears we can skip the January 1st bill run as no invoice would be generated for your new customer.
You should see the April 1st invoice include the conversation charge of $15 as well as the true up charge of $25 since April 1st is the day after the end of the first quarter. You are welcome to continue the monthly bill runs until July 1st but no additional true-up charges will be generated.
Previous: Measured add-on use case
Next: Prepay with drawdown