Product Rate Plan Charges

Retrieve a product rate plan charge

Changed on

Retrieves basic information about a product rate plan charge.

Note: A request header X-Zuora-WSDL-Version greater than 155.0 is required.

get/v1/product-rate-plan-charges/{product-rate-plan-charge-key}

Request

  • Base URL: https://rest.test.zuora.com
  • URL: https://rest.test.zuora.com/v1/product-rate-plan-charges/{product-rate-plan-charge-key}
  • Auth: HTTP bearer

Path parameters

product-rate-plan-charge-keystring required

The unique number or ID of the product rate plan charge to be retrieved.

Query parameters

show-charge-definitionsboolean

Specifies whether to include the product charge definitions of this charge in the response.

Note: This parameter is applicable only if the Attribute-based Pricing feature is enabled. The Attribute-based Pricing feature in the Early Adopter phase. We are actively soliciting feedback from a small set of early adopters. If you are interested, please reach out to your CSM.

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.

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 this charge.

billingPeriodstring

The billing period for this charge.

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

The billing period alignment setting for this charge.

billingTiming'IN_ADVANCE' | 'IN_ARREARS'

The billing timing for this charge.

chargeFunction'Standard' | 'Prepayment' | 'CommitmentTrueUp' | 'Drawdown' | 'CreditCommitment' | 'DrawdownAndCreditCommitment'

Note: This field is only available if you have the Prepaid with Drawdown or Minimum Commitment feature enabled.

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

This field defines what type of charge it is:

  • Standard: Normal charge with no Prepayment or Commitment or Drawdown.
  • Prepayment: For recurring charges. Unit or currency based prepaid charge.
  • CommitmentTrueUp: For recurring charges. Currency based minimum commitment charge.
  • Drawdown: For usage charges. Drawdown from prepaid funds.
  • DrawdownAndCreditCommitment: For usage charges. Drawdown from prepaid funds and then credit to minimum commitment funds.
  • CreditCommitment: For usage charges. Credit to minimum commitment funds.
commitmentType'UNIT' | 'CURRENCY'

Note: This field is only available if you have the <a href="https://docs.zuora.com?resourceId=billing-prepaid-with-drawdown-overview" target="_blank">Prepaid with Drawdown</a> feature enabled.

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

This field defines the type of commitment. A prepaid charge can be UNIT or CURRENCY. A minimum commitment(in-arrears) charge can only be CURRENCY type. For topup(recurring or one-time) charges, this field indicates what type of funds are created.

  • If UNIT, it will create a fund with given prepaidUom.
  • If CURRENCY, it will create a fund with the currency amount calculated in list price.

For drawdown(usage) charges, this field indicates what type of funds are drawdown from that created from topup charges.

customFieldsProductRatePlanChargeObjectCustomFields

Container for custom fields of a Product Rate Plan Charge object.

defaultQuantitynumber nullable

The default quantity.

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

descriptionstring

The description for this 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.

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

The end date condition for this charge.

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.

prorationOption'NoProration' | 'TimeBasedProration' | 'DefaultFromTenantSetting' | 'ChargeFullPeriod'

Note: This field is only available if you have the Charge Level Proration feature enabled. For more information, see <a href="https://docs.zuora.com?resourceId=billing-usage-charge-proration" target="_blank">Usage charge proration</a> and <a href="https://docs.zuora.com?resourceId=billing-charge-level-proration-option-for-a-recurring-charge" target="_blank">Charge level proration option for a recurring charge</a>.

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

You can use this field to specify the charge-level proration option for a usage charge or recurring charge. The tenant-level proration option will be overridden.

  • NoProration: charge-level proration option that you can set for a usage charge. This option means to not use any proration, which is the default current system behavior for a usage charge.
  • TimeBasedProration: charge-level proration option that you can set for a usage charge. This option means to prorate the usage charge amount using the actual number of days if the billing period is a partial period.
  • DefaultFromTenantSetting: charge-level proration option that you can set for a recurring charge. This option means to follow the customer billing rule proration setting.
  • ChargeFullPeriod: charge-level proration option that you can set for a recurring charge. This options means to charge the full period amount for a partial billing period. Note that this setting means that there is no proration for either collecting or refunding. Even if you cancel the recurring charge in the middle of a billing period, there is no refund for this billing period.
reflectDiscountInNetAmountboolean

When you apply percentage discounts to either of the following charges, you need to set the reflectDiscountInNetAmount field on your discount charge to true, to enable calculating and displaying the net amount of the following charges in Zuora Revenue.

  • delivery pricing charge
  • prepayment charge
  • drawdown charge

Note the following:

  • If you are an <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> customer, when you set the reflectDiscountInNetAmount field to true, you must also set both the excludeItemBookingFromRevenueAccounting and excludeItemBillingFromRevenueAccounting fields to true.
  • If you are a <a href="https://docs.zuora.com?resourceId=revenue-billing-integration" target="_blank">Billing - Revenue Integration</a> customer, you must set the reflectDiscountInNetAmount field to false, otherwise an error will be returned. Billing - Revenue Integration does not support discounts on the preceding charges.
  • If you are a Zuora Billing customer who does not enable the Order to Revenue or Billing - Revenue Integration feature, when you apply percentage discounts to the preceding charges, you also need to set the reflectDiscountInNetAmount field to true.
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.

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.

idstring

The unique ID of the product rate plan 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.

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

The base of list price.

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.

model'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.

namestring

The name of the product rate plan charge.

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 field to SpecificPercentageValue.

Character limit: 16

Values: a decimal value between -100 and 100

pricingSummarystring[]

A concise description of the charge model and pricing that is suitable to show to your customers.

When the rate plan charge model is Tiered and multi-currency is enabled, this field includes an array of string of each currency, and each string of currency includes tier price description separated by comma.

When the rate plan charge model is DiscountPercentage, this field does not include currency.

When the rate plan charge model is not DiscountPercentage, this field includes the currency.

For the following charge models, the value of this field is an empty string:

  • Multi-Attribute Pricing
  • High Water Mark Tiered Pricing
  • High Water Mark Volume Pricing
  • Pre-Rated Per Unit Pricing
  • Pre-Rated Pricing

The charge models are available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see Zuora Editions for pricing information.

productChargeDefinitionsstring

A link to retrieve product charge definitions of this charge.

productRatePlanChargeNumberstring nullable

The number of this product rate plan charge.

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

Specifies a 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

Specifies 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

Specifies the smoothing model for an overage smoothing charge model.

specificBillingPeriodnumber nullable

The specific number of billing periods for this charge.

specificListPriceBaseinteger nullable

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

successboolean

Indicates whether the request succeeded.

taxCodestring

Specifies the tax code for taxation rules. This field is required when the taxable field is set to true.

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. This field is required when the taxable field is set to true.

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

taxableboolean

Determines whether the charge is taxable. When set to true, the taxMode and taxCode fields are required when creating or updating th Product Rate Plan Charge object.

Character limit: 5

Values: true, false

Note: This value affects the tax calculation of rate plan charges that come from the ProductRatePlanCharge.

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

Specifies when to start billing the customer for the charge.

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.
type'OneTime' | 'Recurring' | 'Usage'

Specifies the type of charge.

uomstring nullable

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

upToPeriodsnumber nullable

The number of up-to-periods value for this charge.

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

The up-to-periods type setting 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

applyToBillingPeriodPartiallyboolean

Allow the discount duration to be aligned with the billing period partially.

Note: You must enable the Enhanced Discount feature to access this field.

isPrepaidboolean

Indicates whether this charge is a prepayment (topup) charge or a drawdown charge.

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

Values: true or false.

prepaidOperationType'topup' | 'drawdown' | 'null' nullable

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

The type of this charge. It is either a prepayment (topup) charge or a drawdown charge.

prepaidQuantitynumber nullable

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

The number of units included in a prepayment charge. Must be a positive number (>0).

prepaidTotalQuantitynumber nullable

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

The total amount of units that end customers can use during a validity period when they subscribe to a prepayment charge.

prepaidUomstring nullable

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

Unit of measurement for a prepayment charge.

validityPeriodType'SUBSCRIPTION_TERM' | 'ANNUAL' | 'SEMI_ANNUAL' | 'QUARTER' | 'MONTH'

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

The period in which the prepayment units are valid to use as defined in a prepayment charge.

validityPeriodAlignment'ChargeStart' | 'TermStart' | 'TermEnd' nullable

Specifies how to align the validity period of a prepayment charge.

Note: This field is only available if you have the enhanced unit-based Prepaid with Drawdown feature enabled.

validityPeriodProrationOption'ProrateUnits' | 'NoProrate' nullable

Specifies whether to prorate the prepaid units for the validity period.

Note: This field is only available if you have the enhanced unit-based Prepaid with Drawdown feature enabled.

specificValidityPeriodLengthinteger nullable

Specifies the length of a specific validity period.

Note: This field is only available if you have the enhanced unit-based Prepaid with Drawdown feature enabled.

drawdownRatenumber nullable

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

The conversion rate between Usage UOM and Drawdown UOM for a drawdown charge. Must be a positive number (>0).

drawdownUomstring nullable

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

Unit of measurement for a drawdown charge.

drawdownPriorityinteger nullable

Specifies the priority in which this drawdown charge consumes funds.

Note: This field is only available if you have the enhanced unit-based Prepaid with Drawdown feature enabled.

fundSupportAccountHierarchyboolean nullable

Indicates whether the fund supports account hierarchy.

Note: This field is only available if you have the enhanced unit-based Prepaid with Drawdown feature enabled.

creditOption'TimeBased' | 'ConsumptionBased' | 'FullCreditBack'

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

The way to calculate credit. See Credit Option for more information.

isRolloverboolean

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

The value is either "true" or "false". It determines whether the rollover fields are needed.

rolloverApply'ApplyFirst' | 'ApplyLast'

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

This field defines the priority of rollover, which is either first or last.

rolloverPeriodLengthinteger

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

Use this field when you want to set the rollover fund's period length shorter than the prepayment charge's validity period. In this case, you must set the rolloverPeriods field to 1. For example, you can define the rollover fund's period length as 5 months, shorter than the prepayment charge's validity period: a year.

rolloverPeriodsnumber

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

This field defines the number of rollover periods, it is restricted to 3.

rolloverPeriodType'Day' | 'Month' | 'Quarter' | 'Annual' nullable

Specifies the unit of time for a rollover period.

Note: This field is only available if you have the enhanced unit-based Prepaid with Drawdown feature enabled.

rolloverFundPriorityinteger nullable

Specifies the priority of the rollover fund.

Note: This field is only available if you have the enhanced unit-based Prepaid with Drawdown feature enabled.

rolloverEndDateType'ChargeEndDate' | 'SubscriptionTerm' nullable

Specifies how to determine the end date of a rollover fund.

Note: This field is only available if you have the enhanced unit-based Prepaid with Drawdown feature enabled.

formulastring

The price lookup formula defined for the product rate plan charge, which is used to identify the correct and relevant charge definition based on the context.

For more information, see <a href="https://docs.zuora.com/en/zuora-billing/set-up-zuora-billing/build-product-and-prices/attribute-based-pricing/price-lookup-in-attribute-based-pricing" target="_blank">Price lookup in Attribute-based Pricing</a>.

Note: This field is available only if the <a href="https://docs.zuora.com/en/zuora-billing/set-up-zuora-billing/build-product-and-prices/attribute-based-pricing" target="_blank">Attribute-based Pricing</a> feature is enabled.

Changes

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status