Commitments in Zuora CPQ
Use Commitments in Zuora CPQ to create, manage, and enforce minimum spend agreements across accounts, subscriptions, and charges, with access controlled through tenant, org, and profile-level configuration.
The Commitments feature in Zuora Billing and Zuora CPQ is in the Early Availability phase. We are actively soliciting feedback from a small set of early adopters before releasing it as generally available. If you want to join this early availability program, contact Zuora Support.
A Commitment is a commercial agreement in which a customer commits to a minimum spend over a defined period, such as monthly, quarterly, or yearly. In Zuora CPQ, you can create and manage Commitments that integrate with Zuora Billing.
A Commitment can apply to different levels in the billing hierarchy. For example, it can apply to a single account, a single subscription, a single charge within a subscription, multiple accounts, multiple subscriptions, or multiple charges across subscriptions.
Quote Studio supports creating Commitments in New, Amend, and Renew quotes.
For programmatic management of commitments in Zuora CPQ, see Commitment global methods.
Prepaid Commitment support extends the Commitment model by enabling customers to prepay commitment periods. In Quote Studio, this adds a commitment-level Prepayment Type field and schedule-level Prepaid Definition fields that align with Billing functionality.
Prepaid Commitment is supported in Quotes version 10.58 and later.
Access control
Commitments in Zuora CPQ are controlled through tenant-level, org-level, and profile-level configuration. Zuora Support must enable the required backend setting in the Zuora tenant and Quote Studio, and administrators must grant users access through Feature Access Config.
After access is enabled, the Commitments section appears in Quote Studio for users whose profiles have been granted access. This section can display Commitments created in Zuora CPQ and existing Commitments from the Zuora tenant. The list is based on the quote's selected invoice owner account.
To enable Prepaid commitment setting in your Salesforce org and Zuora tenant, contact Zuora Support. When disabled, Quote Studio hides prepaid commitment controls in the Commitments UI and does not include prepaid commitment values in the Orders payload.
Prerequisites
Ensure the following before using Commitments:
Zuora Quotes managed package version 10.56 or later is installed.
Zuora Support has enabled and configured Commitments for your Zuora tenant.
You must also have the required profile-based permissions for Commitment configured by an administrator in .
The cloned Zuora Quotes End User permission set includes the required fields and objects for Commitments.
Before you can use Prepaid Commitments, Zuora Support must enable the Prepaid Commitment feature for both your Zuora tenant and Salesforce org.
Other considerations
You can create a Commitment only for the billing account selected as the quote's invoice owner.
If you want to create a Commitment for a different account, start the quote by using that account as the invoice owner.
In Zuora CPQ, Commitment applicability is limited to predefined options for Applicable Accounts and Applicable Charges. This model is intentionally simpler and more restrictive than the flexible configuration supported in Zuora Billing.
Zuora End User permission set
Commitments object
Object Permissions
Permission Name | Enabled |
|---|---|
| Read | Yes |
| Create | Yes |
| Edit | Yes |
| Delete | Yes |
| View All Records | Yes |
| Modify All Records | No |
| View All Fields | No |
Field Permissions
Field Name | Field API Name | Read Access | Edit Access |
|---|---|---|---|
| Account Receivable Accounting Code | zqu__AccountReceivableAccountingCode__c | Yes | Yes |
| Applicable Accounts | zqu__ApplicableAccounts__c | Yes | Yes |
| Applicable Charges | zqu__ApplicableCharges__c | Yes | Yes |
| Commitment Currency | zqu__Currency__c | Yes | Yes |
| Commitment Name | Name | Yes | Yes |
| Commitment Number | zqu__ CommitmentNumber __c | Yes | Yes |
| Commitment Owner Account | zqu__CommitmentOwnerAccountId__c | Yes | Yes |
| Commitment Owner Account Number | zqu__CommitmentOwnerAccountNumber__c | Yes | Yes |
| Commitment Priority | zqu__Priority__c | Yes | Yes |
| Commitment Type | zqu__Type__c | Yes | Yes |
| Created By | CreatedById | Yes | No |
| Deferred Revenue Accounting Code | zqu__DeferredRevenueAccountingCode__c | Yes | Yes |
| Description | zqu__Description__c | Yes | Yes |
| Error Message | zqu__ErrorMessage__c | Yes | Yes |
| Last Modified By | LastModifiedById | Yes | No |
| Order Number | zqu__OrderNumber__c | Yes | Yes |
| Owner | OwnerId | Yes | Yes |
| Period Alignment Option | zqu__PeriodAlignmentOption__c | Yes | Yes |
| Prepayment Type | zqu__PrepaymentType__c | Yes | Yes |
| Quote | zqu__Quote__c | Yes | Yes |
| Recognized Revenue Accounting Code | zqu__RecognizedRevenueAccountingCode__c | Yes | Yes |
| Revenue Recognition Rule | zqu__RevenueRecognitionRule__c | Yes | Yes |
| Selected Accounts | zqu__SelectedAccounts__c | Yes | Yes |
| Selected Charges | zqu__SelectedCharges__c | Yes | Yes |
| Specific Period Alignment Date | zqu__SpecificPeriodAlignmentDate__c | Yes | Yes |
| Status | zqu__Status__c | Yes | Yes |
| ZuoraId | zqu__ZuoraId__c | Yes | Yes |
Commitment Schedules
Object Permissions
Permission Name | Enabled |
|---|---|
| Read | Yes |
| Create | Yes |
| Edit | Yes |
| Delete | Yes |
| View All Records | Yes |
| Modify All Records | No |
| View All Fields | No |
Field Permissions
Field Name | Field API Name | Read Access | Edit Access |
|---|---|---|---|
| Amount | zqu__Amount__c | Yes | Yes |
| Commitments | zqu__Commitments__c | Yes | Yes |
| Created By | CreatedById | Yes | No |
| Custom Amount | zqu__CustomAmount__c | Yes | Yes |
| End Date | zqu__EndDate__c | Yes | Yes |
| Is Original | zqu__IsOriginal__c | Yes | Yes |
| Last Modified By | LastModifiedById | Yes | No |
| Name | Name | Yes | No |
| Period Type | zqu__PeriodType__c | Yes | Yes |
| Prepayment Frequency | zqu__PrepaymentFrequency__c | Yes | Yes |
| Specific Frequency | zqu__SpecificFrequency__c | Yes | Yes |
| Specific Period Length | zqu__SpecificPeriodLength__c | Yes | Yes |
| Start Date | zqu__StartDate__c | Yes | Yes |
| ZuoraId | zqu__ZuoraId__c | Yes | Yes |