Product Charge Definitions

Update a product charge definition

Update a product charge definition.

Note: This operation requires the Attribute-based Pricing feature to be enabled, which is in the Early Adopter phase.

put/v1/product-charge-definitions/{product-charge-definition-key}

Path parameters

product-charge-definition-keystring required

The unique number or ID of the product charge definition to be updated.

Headers

Accept-Encodingstring

Include the Accept-Encoding: gzip header to compress responses as a gzipped file. It can significantly reduce the bandwidth required for a response.

If specified, Zuora automatically compresses responses that contain over 1000 bytes of data, and the response contains a Content-Encoding header with the compression algorithm so that your client can decompress it.

Content-Encodingstring

Include the Content-Encoding: gzip header to compress a request. With this header specified, you should upload a gzipped file for the request payload instead of sending the JSON payload.

Zuora-Track-Idstring

A custom identifier for tracing the API call. If you set a value for this header, Zuora returns the same value in the response headers. This header enables you to associate your system process identifiers with Zuora API calls, to assist with troubleshooting in the event of an issue.

The value of this field must use the US-ASCII character set and must not include any of the following characters: colon (:), semicolon (;), double quote ("), and quote (').

Zuora-Entity-Idsstring

An entity ID. If you have Zuora Multi-entity enabled and the OAuth token is valid for more than one entity, you must use this header to specify which entity to perform the operation in. If the OAuth token is only valid for a single entity, or you do not have Zuora Multi-entity enabled, you should not set this header.

Zuora-Versionstring

The minor API version.

For a list of available minor versions, see API upgrades.

Request body

billingPeriodstring

The override value of the billingPeriod for the product charge definition.

billingTiming'IN_ADVANCE' | 'IN_ARREARS'

The override value of the billingTiming for the product charge definition.

chargeModel'DiscountFixedAmount' | 'DiscountPercentage' | 'FlatFee' | 'PerUnit' | 'Tiered' | 'Volume' | 'Delivery'

Determines how to calculate charges. Charge models must be individually activated in Zuora Billing administration.

defaultQuantitynumber nullable

The default quantity.

This field is applicable only for one-time and recurring charges.

effectiveEndDatestring date-time

The effective end date of the product charge definition.

effectiveStartDatestring date-time

The effective start date of the product charge definition.

listPriceBase'Per_Billing_Period' | 'Per_Month' | 'Per_Week' | 'Per_Year'

The list price base.

This field is applicable only for recurring charges.

Note: The Per_Year enum value is available only if you have the <a href="https://docs.zuora.com?resourceId=billing-annual-list-price" target="_blank">Annual List Price</a> feature enabled.

specificBillingPeriodnumber nullable

The override value of the specificBillingPeriod for the product charge definition.

specificListPriceBaseinteger nullable

The number of months for the list price base of the charge definition. The field is null if the listPriceBase field is not set to Per_Specific_Months.

taxCodestring

Specifies the tax code for taxation rules. This field is equired when the Taxable field is set to True.

Note: This value affects the tax calculation of the charge.

taxMode'TaxExclusive' | 'TaxInclusive' | 'null' nullable

Determines how to define taxation for the charge. This field is equired when the Taxable field is set to True.

Note: This value affects the tax calculation of the charge.

taxableboolean

Determines whether the charge definition is taxable. When this field is set to True, the TaxMode and TaxCode fields are required.

Character limit: 5

Values: True, False

Note: This value affects the tax calculation of the charge.

termnumber nullable

The number of periods of a termed subscription that is eligible for this charge definition. This field is applicable when the termType field is set to TERMED, and is to be used together with the termPeriodType field.

termPeriodType'Month' | 'Year' | 'Day' | 'Week' | 'null' nullable

Specifies the period type for the subscription term that is eligible for this charge definition.

termType'TERMED' | 'EVERGREEN' | 'null' nullable

The type of the subscription that is eligible for this charge definition.

uomstring nullable

Describes the unit of measure (UOM) configured in Settings > Billing.

Values: Each, License, Seat, or null

Example request

{
  "prices": [
    {
      "currency": "USD",
      "price": 20
    }
  ]
}

Response

OK

applyDiscountTo'ONETIME' | 'RECURRING' | 'USAGE' | 'ONETIMERECURRING' | 'ONETIMEUSAGE' | 'RECURRINGUSAGE' | 'ONETIMERECURRINGUSAGE' | 'null' nullable

Indicates which type of charge the discount charge applies to.

billingDaystring

The bill cycle type for the charge.

billingPeriodstring

The billing period for the product charge definition.

billingPeriodAlignment'AlignToCharge' | 'AlignToSubscriptionStart' | 'AlignToTermStart' | 'AlignToTermEnd'

The billing period alignment setting for the charge.

billingTiming'IN_ADVANCE' | 'IN_ARREARS'

The billing timing setting for the product charge definition.

chargeModel'DiscountFixedAmount' | 'DiscountPercentage' | 'FlatFee' | 'PerUnit' | 'Overage' | 'Tiered' | 'TieredWithOverage' | 'Volume' | 'Delivery' | 'MultiAttributePricing' | 'PreratedPerUnit' | 'PreratedPricing' | 'HighWatermarkVolumePricing' | 'HighWatermarkTieredPricing'

Determines how to calculate charges. Charge models must be individually activated in Zuora Billing administration.

chargeType'OneTime' | 'Recurring' | 'Usage'

Indicates the type of charge.

customFieldsProductChargeDefinitionObjectCustomFields

Container for custom fields of a Product Charge Definition object.

defaultQuantitynumber nullable

The default quantity.

This field is applicable only for one-time and recurring charges.

descriptionstring

The description for the charge.

discountClassstring nullable

The class that the discount belongs to. The discount class defines the order in which discount product rate plan charges are applied.

For more information, see Manage Discount Classes.

discountLevel'rateplan' | 'subscription' | 'account' | 'null' nullable

The application scope of the discount charge. For example, if the value of this field is subscription and the value of the applyDiscountTo field is RECURRING, the discount charge applies to all recurring charges in the same subscription as the discount charge.

effectiveEndDatestring date-time

The effective end date of the product charge definition.

effectiveStartDatestring date-time

The effective start date of the product charge definition.

endDateCondition'Subscription_End' | 'One_Time' | 'Fixed_Period' | 'Specific_End_Date'

The end date condition for this charge.

isDefaultboolean

Indicates whether this charge definition is the default one for the charge.

isStackedDiscountboolean

Note: This field is only applicable to the Discount - Percentage charge model.

To use this field, you must set the X-Zuora-WSDL-Version request header to 130 or higher. Otherwise, an error occurs.

This field indicates whether the discount is to be calculated as stacked discount. Possible values are as follows:

  • True: This is a stacked discount, which should be calculated by stacking with other discounts.
  • False: This is not a stacked discount, which should be calculated in sequence with other discounts.

For more information, see Stacked discounts.

numberOfPeriodsinteger nullable

Specifies the number of periods to use when calculating charges in an overage smoothing charge model. This field is ued when overage smoothing model is RollingWindow or Rollover.

listPriceBase'Per_Billing_Period' | 'Per_Month' | 'Per_Week' | 'Per_Year'

The list price base.

This field is applicable only for recurring charges.

Note: The Per_Year enum value is available only if you have the <a href="https://docs.zuora.com?resourceId=billing-annual-list-price" target="_blank">Annual List Price</a> feature enabled.

numberOfPeriodinteger

Indicates the number of periods to use when calculating charges in an overage smoothing charge model. The valid value is a positive whole number.

overageCalculationOption'EndOfSmoothingPeriod' | 'PerBillingPeriod' | 'null' nullable

Determines when to calculate overage charges. If the value of the SmoothingMode field is not specified, the value of this field is ignored.

Values:

  • EndOfSmoothingPeriod: This option is used by default. The overage is charged at the end of the smoothing period.
  • PerBillingPeriod: The overage is charged on-demand rather than waiting until the end of the smoothing period.
overageUnusedUnitsCreditOption'NoCredit' | 'CreditBySpecificRate' | 'null' nullable

Determines whether to credit the customer with unused units of usage.

priceChangeOption'NoChange' | 'SpecificPercentageValue' | 'UseLatestProductCatalogPricing' | 'null' nullable

Applies an automatic price change when a termed subscription is renewed.

priceIncreaseOption'FromTenantPercentageValue' | 'SpecificPercentageValue'

Applies an automatic price change when a termed subscription is renewed.

priceIncreasePercentagenumber double nullable

Specifies the percentage to increase or decrease the price of a termed subscription's renewal. Use this field if you set the priceIncreaseOption value to SpecificPercentageValue.

Character limit: 16

Values: a decimal value between -100 and 100

productChargeDefinitionIdstring

The unique ID of the product charge definition.

productChargeDefinitionNumberstring

The unique number (natural key) of the product charge definition.

productRatePlanChargeIdstring

The unique ID of the product charge of the charge definition.

productRatePlanChargeNumberstring nullable

The unique number (natural key) of the product charge of the charge definition.

productRatePlanIdstring nullable

The unique ID of the product rate plan that uses this charge definition.

productRatePlanNamestring nullable

Th name of the product rate plan that uses this charge definition.

productRatePlanNumberstring nullable

The unique number (natural key) of the product rate plan that uses this charge definition.

ratingGroup'ByBillingPeriod' | 'ByUsageStartDate' | 'ByUsageRecord' | 'ByUsageUpload' | 'ByGroupId' | 'null' nullable

The rating group based on which usage records are rated.

Possible values:

  • ByBillingPeriod: The rating is based on all the usages in a billing period.
  • ByUsageStartDate: The rating is based on all the usages on the same usage start date.
  • ByUsageRecord: The rating is based on each usage record.
  • ByUsageUpload: The rating is based on all the usages in a uploaded usage file (.xls or .csv).
  • ByGroupId: The rating is based on all the usages in a custom group.

Notes:

  • The ByBillingPeriod value can be applied for all charge models.
  • The ByUsageStartDate, ByUsageRecord, and ByUsageUpload values can only be applied for Per Unit, Volume Pricing, and Tiered Pricing charge models.
  • The ByGroupId value is only available if you have the Active Rating feature enabled.
  • Use this field only for Usage charges. One-time charges and recurring charges return NULL.
recognizedRevenueAccountstring

The name of the recognized revenue account for this charge.

  • Required when the Allow Blank Accounting Code setting is No.
  • Optional when the Allow Blank Accounting Code setting is Yes.

This feature is in Limited Availability. If you wish to have access to the feature, submit a request at Zuora Global Support.

revRecCodestring nullable

Associates this product rate plan charge with a specific revenue recognition code.

revRecTriggerCondition'ContractEffectiveDate' | 'ServiceActivationDate' | 'CustomerAcceptanceDate' | 'null' nullable

Indicates when revenue recognition begins.

revenueRecognitionRuleName'Recognize upon invoicing' | 'Recognize daily over time'

Determines when to recognize the revenue for this charge.

smoothingModel'RollingWindow' | 'Rollover' | 'null' nullable

Indicates the smoothing model for an overage smoothing charge model.

specificBillingPeriodnumber nullable

The specific number of billing period for the product charge definition.

specificListPriceBaseinteger nullable

The number of months for the list price base of the charge definition.
This field is null if the listPriceBase field is not set to Per_Specific_Months.

successboolean

Indicates whether the request succeeded.

taxCodestring

Specifies the tax code for taxation rules.

Note: This value affects the tax calculation of the rate plan charge.

taxMode'TaxExclusive' | 'TaxInclusive' | 'null' nullable

Determines how to define taxation for the charge.

Note: This value affects the tax calculation of the rate plan charge.

taxableboolean

Determines whether the charge definition is taxable.

Character limit: 5

Values: True, False

Note: This value affects the tax calculation of the rate plan charge.

termnumber nullable

The number of periods of a termed subscription that is eligible for this charge definition. This field is applicable when the termType field is set to TERMED, and is to be used together with the termPeriodType field.

termPeriodType'Month' | 'Year' | 'Day' | 'Week' | 'null' nullable

The period type for the subscription term that is eligible for this charge definition.

termType'TERMED' | 'EVERGREEN' | 'null' nullable

The type of the subscription that is eligible for this charge definition.

triggerEvent'ContractEffective' | 'ServiceActivation' | 'CustomerAcceptance'

Specifies when to start billing the customer for the charge definition.

Values:

  • ContractEffective is the date when the subscription's contract goes into effect and the charge is ready to be billed.
  • ServiceActivation is the date when the services or products for a subscription have been activated and the customers have access.
  • CustomerAcceptance is when the customer accepts the services or products for a subscription.
uomstring nullable

Indicates the unit of measure (UOM) that is configured in Settings > Billing for the product rate plan charge.

upToPeriodsnumber nullable

The number of up-to periods for this charge.

upToPeriodsType'Billing_Periods' | 'Days' | 'Weeks' | 'Months' | 'Years' | 'null' nullable

The up-to-periods type for this charge.

usageRecordRatingOption'EndOfBillingPeriod' | 'OnDemand' | 'null' nullable

Determines how Zuora processes usage records for per-unit usage charges.

useDiscountSpecificAccountingCodeboolean nullable

Determines whether to define a new accounting code for the new discount charge.

Character limit: 5

Values: true, false

useTenantDefaultForPriceChangeboolean

Applies the tenant-level percentage uplift value for an automatic price change to a termed subscription's renewal.

Character limit: 5

Values: true, false

excludeItemBillingFromRevenueAccountingboolean

Indicates whether to exclude the related invoice items, invoice item adjustments, credit memo items, and debit memo items from revenue accounting.

Note: This field is only available if you have the Order to Revenue or Billing - Revenue Integration feature enabled.

excludeItemBookingFromRevenueAccountingboolean

Indicates whether to exclude the related rate plan charges and order line items from revenue accounting.

Note: This field is only available if you have the Order to Revenue or Billing - Revenue Integration feature enabled.

isAllocationEligibleboolean

Indicates whether the charge segment is allocation eligible in revenue recognition. The default value is false.

Values: true, false

Note: The field is only available if you have the <a href="https://docs.zuora.com/en/zuora-billing/set-up-zuora-billing/enable-order-to-revenue/overview-of-order-to-revenue" target="_blank">Order to Revenue</a> feature enabled. To enable this field, submit a request at <a href="https://support.zuora.com/" target="_blank">Zuora Global Support</a>.

isUnbilledboolean

Specifies how to perform the accounting during revenue recognition. The default value is false.

Values: true, false

Note: The field is only available if you have the <a href="https://docs.zuora.com/en/zuora-billing/set-up-zuora-billing/enable-order-to-revenue/overview-of-order-to-revenue" target="_blank">Order to Revenue</a> feature enabled. To enable this field, submit a request at <a href="https://support.zuora.com/" target="_blank">Zuora Global Support</a>.

productCategorystring

This field is used to maintain the product category for integration with Zuora Revenue.

Note: This field is available only if you have the Additional Revenue Fields property enabled.

productClassstring

This field is used to maintain the product class for integration with Zuora Revenue.

Note: This field is available only if you have the Additional Revenue Fields property enabled.

productFamilystring

This field is used to maintain the product family for integration with Zuora Revenue.

Note: This field is available only if you have the Additional Revenue Fields property enabled.

productLinestring

This field is used to maintain the product line for integration with Zuora Revenue.

Note: This field is available only if you have the Additional Revenue Fields property enabled.

revenueRecognitionTiming'Upon Billing Document Posting Date' | 'Upon Order Activation Date'

Specifies the type of revenue recognition timing.

Predefined options are listed as enum values in this API Reference. Other options might also be avaliable depending on the <a href="https://docs.zuora.com?resourceId=billing-configure-revenue-settings" target="_blank">revenue recognition policy configuration</a> in the Zuora Billing UI.

Note: This field is only available if you have the Order to Revenue feature enabled.

revenueAmortizationMethod'Immediate' | 'Ratable Using Start And End Dates'

Specifies the type of revenue amortization method.

Predefined options are listed as enum values in this API Reference. Other options might also be avaliable depending on the <a href="https://docs.zuora.com?resourceId=billing-configure-revenue-settings" target="_blank">revenue recognition policy configuration</a> in the Zuora Billing UI.

Note: This field is only available if you have the Order to Revenue feature enabled.

Changes

No changes recorded. 1 of the 5 revisions has no diff computed, so it could not be searched.