# CRUD: Create a product rate plan charge Creates a product rate plan charge for a specified rate plan charge. Product rate plan charges can be of three types, one-time fees, recurring fees, and usage fees. Endpoint: POST /v1/object/product-rate-plan-charge Version: 2026-02-20 Security: bearerAuth ## Header parameters: - `Idempotency-Key` (string) Specify a unique idempotency key if you want to perform an idempotent POST or PATCH request. Do not use this header in other request types. With this header specified, the Zuora server can identify subsequent retries of the same request using this value, which prevents the same operation from being performed multiple times by accident. - `Accept-Encoding` (string) 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-Encoding` (string) 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-Entity-Ids` (string) 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-Org-Ids` (string) Comma separated IDs. If you have Zuora Multi-Org enabled, you can use this header to specify which orgs to perform the operation in. If you do not have Zuora Multi-Org enabled, you should not set this header. The IDs must be a sub-set of the user's accessible orgs. If you specify an org that the user does not have access to, the operation fails. This header is important in Multi-Org (MO) setups because it defines the organization context under which the API should operate—mainly used for read access or data visibility filtering. If the header is not set, the operation is performed in scope of the user's accessible orgs. - `Zuora-Track-Id` (string) 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 ('). - `X-Zuora-WSDL-Version` (string) Zuora WSDL version number. - `Zuora-Version` (string) The minor API version. For a list of available minor versions, see API upgrades. ## Query parameters: - `rejectUnknownFields` (boolean) Specifies whether the call fails if the request body contains unknown fields. With rejectUnknownFields set to true, Zuora returns a 400 response if the request body contains unknown fields. The body of the 400 response is: json { "message": "Error - unrecognised fields" } By default, Zuora ignores unknown fields in the request body. ## Request fields (application/json): - `AccountingCode` (string) The accounting code for the charge. Accounting codes group transactions that contain similar accounting attributes. - `ApplyDiscountTo` (string) Specifies the type of charges that you want a specific discount to apply to. All field values are case sensitive and in all-caps. Enum: "ONETIME (1)", "RECURRING (2)", "USAGE (4)", "ONETIMERECURRING (3)", "ONETIMEUSAGE (5)", "RECURRINGUSAGE (6)", "ONETIMERECURRINGUSAGE (7)" - `BillCycleDay` (integer) Sets the bill cycle day (BCD) for the charge. The BCD determines which day of the month customer is billed. The BCD value in the account can override the BCD in this object. Character limit: 2 Values: a valid BCD integer, 1 - 31 - `BillCycleType` (string, required) Specifies how to determine the billing day for the charge. Notes: - If you set this field to SpecificDayofMonth, you must specify which day of the month as the billing day for the charge in the BillCycleDay field. - If you set this field to SpecificDayofWeek, you must specify which day of the week as the billing day for the charge in the WeeklyBillCycleDay field. - By default, TermStartDay and TermEndDay are only available for prepayment charges. But you can reach out to Zuora Global Support to request enabling it for non-prepaid recurring charges. Meanwhile, note the following rules applies to these options: - The Term End Day option of the Billing Day field must be coupled with the Align to Term End option of the Billing Period Alignment field. - For prepaid charges, the Term Start Day option of the Billing Day field must be coupled with the existing Align to Term Start option of the Billing Period Alignment field. - For non-prepaid recurring charges: If Billing Day is set to Term Start Day, Billing Period Alignment must be Align to Term Start; If Billing Day is set to Term End Day, Billing Period Alignment can be set to other values. Enum: "DefaultFromCustomer", "SpecificDayofMonth", "SubscriptionStartDay", "ChargeTriggerDay", "SpecificDayofWeek", "TermStartDay", "TermEndDay" - `BillingPeriod` (string, required) The billing period for the charge. The start day of the billing period is also called the bill cycle day (BCD). Notes: - Specify the number of months or weeks in the SpecificBillingPeriod field if you set this field to Specific Months or Specific Weeks. - The Subscription Term value is in Limited Availability. Enum: "Month", "Quarter", "Annual", "Semi-Annual", "Specific Months", "Subscription Term", "Week", "Specific Weeks", "Specific Days" - `BillingPeriodAlignment` (string) Aligns charges within the same subscription if multiple charges begin on different dates. Note: The AlignToTermEnd value is only available for prepayment charges by default. Reach out to Zuora Global Support to enable it for non-prepaid recurring charges. Enum: "AlignToCharge", "AlignToSubscriptionStart", "AlignToTermStart", "AlignToTermEnd" - `BillingTiming` (string) The billing timing for the charge. You can choose to bill in advance or in arrears for recurring charge types. This field is not used in one-time or usage based charge types. This feature is in Limited Availability. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/). Enum: "In Advance", "In Arrears" - `ChargeFunction` (string) 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. Enum: "Standard", "Prepayment", "CommitmentTrueUp", "Drawdown", "CreditCommitment", "DrawdownAndCreditCommitment" - `CommitmentType` (string) Note: This field is only available if you have the Prepaid with Drawdown 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. Enum: "UNIT", "CURRENCY" - `ChargeModel` (string, required) Determines how to calculate charges. Charge models must be individually activated in Zuora Billing administration. Notes: - The Delivery Pricing value is available only if you have the Delivery Pricing charge model enabled. The minimal required WSDL version is 128. - The MultiAttributePricing value is available only if you have the Multi-Attribute Pricing charge model enabled. The charge model is available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see [Zuora Editions](https://docs.zuora.com/en/entitlements/current-entitlements/zuora-editions) for pricing information. The minimal required WSDL version is 102. - The PreratedPerUnit and value is available only if you have the Pre-rated Per Unit Pricing charge model enabled. The charge model is available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see [Zuora Editions](https://docs.zuora.com/en/entitlements/current-entitlements/zuora-editions) for pricing information. The minimal required WSDL version is 102. - The PreratedPricing value is available only if you have the Pre-rated Pricing charge model enabled. The charge model is available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see [Zuora Editions](https://docs.zuora.com/en/entitlements/current-entitlements/zuora-editions) for pricing information. The minimal required WSDL version is 102. - The HighWatermarkVolumePricingvalue is available only if you have the High Water Mark Volume Pricing charge model enabled. The charge model is available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see [Zuora Editions](https://docs.zuora.com/en/entitlements/current-entitlements/zuora-editions) for pricing information. The minimal required WSDL version is 102. - The HighWatermarkTieredPricing value is available only if you have the High Water Mark Tiered Pricing charge model enabled. The charge model is available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see [Zuora Editions](https://docs.zuora.com/en/entitlements/current-entitlements/zuora-editions) for pricing information. The minimal required WSDL version is 102. Enum: "Discount-Fixed Amount", "Discount-Percentage", "Flat Fee Pricing", "Per Unit Pricing", "Overage Pricing", "Tiered Pricing", "Tiered with Overage Pricing", "Volume Pricing", "Delivery Pricing", "MultiAttributePricing", "PreratedPerUnit", "PreratedPricing`", "HighWatermarkVolumePricing", "HighWatermarkTieredPricing" - `ChargeModelConfiguration` (object) Container for charge model configuration data. Notes: - This field is only available if you have the Pre-Rated Pricing or Multi-Attribute Pricing charge models enabled. These charge models are available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see [Zuora Editions](https://docs.zuora.com/en/entitlements/current-entitlements/zuora-editions) for pricing information. - To use this field, you must set the X-Zuora-WSDL-Version request header to 102 or later. Otherwise, an error occurs with "Code: INVALID_VALUE". - `ChargeModelConfiguration.ConfigurationItem` (array) An array of Charge Model Configuration Key-Value pairs. - `ChargeModelConfiguration.ConfigurationItem.Key` (string, required) The name of the field that is specified for a specific charge model. Configuration keys supported are as follows: * formula (only available if you have the Multi-Attribute Pricing charge model enabled. The charge model is available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see [Zuora Editions](https://docs.zuora.com/en/entitlements/current-entitlements/zuora-editions) for pricing information.) * customFieldPerUnitRate (only available if you have the Pre-Rated Per Unit Pricing charge model enabled. The charge model is available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see [Zuora Editions](https://docs.zuora.com/en/entitlements/current-entitlements/zuora-editions) for pricing information.) * customFieldTotalAmount (only available if you have the Pre-Rated Pricing model enabled. The charge model is available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see [Zuora Editions](https://docs.zuora.com/en/entitlements/current-entitlements/zuora-editions) for pricing information.) - `ChargeModelConfiguration.ConfigurationItem.Value` (string, required) The value of the field that is specified in the Key field. Possible values are follows: A valid pricing formula to calculate actual rating amount for each usage record. For example, usageQuantity()10. Use it with Key formula when the Multi-Attribute Pricing charge model is used. The charge model is available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see [Zuora Editions](https://docs.zuora.com/en/entitlements/current-entitlements/zuora-editions) for pricing information. * A name of a usage custom field that carries the per-unit rate for a usage record. For example, perUnitRate__c. Use it with Key customFieldPerUnitRate when the Pre-Rated Per Unit Pricing charge model is used. The charge model is available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see [Zuora Editions](https://docs.zuora.com/en/entitlements/current-entitlements/zuora-editions) for pricing information. * A name of a usage custom field that carries the total amount for a usage record. For example, totalAmount__c. Use it with Key customFieldTotalAmount when the Pre-Rated Pricing model is used. The charge model is available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see [Zuora Editions](https://docs.zuora.com/en/entitlements/current-entitlements/zuora-editions) for pricing information. - `ChargeType` (string, required) Specifies the type of charge. Enum: "OneTime", "Recurring", "Usage" - `CreditOption` (string) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs. The way to calculate credit. See [Credit Option](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_prepayment_charge#Credit_Option) for more information. Enum: "TimeBased", "ConsumptionBased", "FullCreditBack" - `DefaultQuantity` (number) The default quantity of units, such as the number of authors in a hosted wiki service. This field is required if you use a per-unit pricing model. Character limit: 16 Values: a valid quantity value. Note: When the ChargeModel field is set to Tiered Pricing or Volume Pricing, if this field is not specified, the value will default to 0. - `DeferredRevenueAccount` (string) The name of the deferred revenue account for this charge. This feature is in Limited Availability. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/). - `DeliverySchedule` (object) - `DeliverySchedule.frequency` (string) The frequency of the delivery. Only supports weekly now Enum: "Weekly" - `DeliverySchedule.friday` (boolean) The flag to indicate should the delivery happen on Friday - `DeliverySchedule.monday` (boolean) The flag to indicate should the delivery happen on Monday - `DeliverySchedule.saturday` (boolean) The flag to indicate should the delivery happen on Saturday - `DeliverySchedule.sunday` (boolean) The flag to indicate should the delivery happen on Sunday - `DeliverySchedule.thursday` (boolean) The flag to indicate should the delivery happen on Thursday - `DeliverySchedule.tuesday` (boolean) The flag to indicate should the delivery happen on Tuesday - `DeliverySchedule.wendesday` (boolean) The flag to indicate should the delivery happen on Wendesday - `Description` (string) A description of the charge. - `DiscountLevel` (string) Specifies if the discount applies to just the product rate plan, the entire subscription, or to any activity in the account. Enum: "rateplan", "subscription", "account" - `DrawdownRate` (number) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs. The [conversion rate](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_drawdown_charge#UOM_Conversion) between Usage UOM and Drawdown UOM for a [drawdown charge](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_drawdown_charge). See [Fields related to Prepaid with Drawdown](https://knowledgecenter.zuora.com/Central_Platform/API/G_SOAP_API/E1_SOAP_API_Object_Reference/ProductRatePlanCharge#Fields_related_to_Prepaid_with_Drawdown) for more information. - `DrawdownUom` (string) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs. Unit of measurement for a [drawdown charge](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_drawdown_charge). - `EndDateCondition` (string) Defines when the charge ends after the charge trigger date. Values: - SubscriptionEnd: The charge ends on the subscription end date after a specified period based on the trigger date of the charge. - FixedPeriod: The charge ends after a specified period based on the trigger date of the charge. If you set this field to FixedPeriod, you must specify the length of the period and a period type by defining the UpToPeriods and UpToPeriodsType fields. Note: If the subscription ends before the charge end date, the charge ends when the subscription ends. But if the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge will end on the charge end date. Enum: "SubscriptionEnd", "FixedPeriod" - `ExcludeItemBillingFromRevenueAccounting` (boolean) The flag to exclude the related invoice items, invoice item adjustments, credit memo items, and debit memo items from revenue accounting. Notes: - To use this field, you must set the X-Zuora-WSDL-Version request header to 115 or later. Otherwise, an error occurs. - This field is only available if you have the Order to Revenue or Billing - Revenue Integration feature enabled. - `ExcludeItemBookingFromRevenueAccounting` (boolean) The flag to exclude the related rate plan charges and order line items from revenue accounting. Notes: - To use this field, you must set the X-Zuora-WSDL-Version request header to 115 or later. Otherwise, an error occurs. - This field is only available if you have the Order to Revenue or Billing - Revenue Integration feature enabled. - `IncludedUnits` (number) Specifies the number of units in the base set of units. Character limit: 16 Values: a positive decimal value - `IsAllocationEligible` (boolean) Indicates whether the charge segment is allocation eligible in revenue recognition. The default value is False. Values: True, False Notes: - The field is only available if you have the Order to Revenue feature enabled. To enable this field, submit a request at Zuora Global Support. - To use this field, you must set the X-Zuora-WSDL-Version request header to 132 or later. - `IsPrepaid` (boolean) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs. Indicates whether this charge is a prepayment (topup) charge or a drawdown charge. Values: true or false. - `IsRollover` (boolean) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs. The value is either "True" or "False". It determines whether the rollover fields are needed. - `IsStackedDiscount` (boolean) 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](https://knowledgecenter.zuora.com/Zuora_Billing/Products/Product_Catalog/B_Charge_Models/B_Discount_Charge_Models). - `IsUnbilled` (boolean) Specifies how to perform the accounting during revenue recognition. The default value is False. Values: True, False Notes: - The field is only available if you have the Order to Revenue feature enabled. To enable this field, submit a request at Zuora Global Support. - To use this field, you must set the X-Zuora-WSDL-Version request header to 132 or later. - `LegacyRevenueReporting` (boolean) - `ListPriceBase` (string) The list price base for the product rate plan charge. Note: If the ListBasePrice field is not set in the request, the system will use the BillingPeriod value as the default value. Enum: "Per Billing Period", "Per Month", "Per Week", "Per Year", "Per Specific Months" - `MaxQuantity` (number) Specifies the maximum number of units for this charge. Use this field and the MinQuantity field to create a range of units allowed in a product rate plan charge. Character limit: 16 Values: a positive decimal value - `MinQuantity` (number) Specifies the minimum number of units for this charge. Use this field and the MaxQuantity field to create a range of units allowed in a product rate plan charge. Character limit: 16 Values: a positive decimal value - `Name` (string, required) The name of the product rate plan charge. Example: "One-Time charge" - `NumberOfPeriod` (integer) Specifies the number of periods to use when calculating charges in an overage smoothing charge model. The valid value is a positive whole number. - `OverageCalculationOption` (string) 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. Enum: "EndOfSmoothingPeriod", "PerBillingPeriod" - `OverageUnusedUnitsCreditOption` (string,null) Determines whether to credit the customer with unused units of usage. Enum: "NoCredit", "CreditBySpecificRate", null - `PrepaidOperationType` (string) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs. The type of this charge. It is either a prepayment (topup) charge or a drawdown charge. Enum: "topup", "drawdown" - `PrepaidQuantity` (number) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs. The number of units included in a [prepayment charge](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_prepayment_charge). Must be a positive number. - `PrepaidTotalQuantity` (number) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs. The total amount of units that end customers can use during a validity period when they subscribe to a [prepayment charge](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_prepayment_charge). - `PrepaidUom` (string) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs. Unit of measurement for a [prepayment charge](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_prepayment_charge). - `PriceChangeOption` (string) Applies an automatic price change when a termed subscription is renewed. Enum: "NoChange", "SpecificPercentageValue", "UseLatestProductCatalogPricing" - `PriceIncreaseOption` (string) Applies an automatic price change when a termed subscription is renewed. Enum: "FromTenantPercentageValue", "SpecificPercentageValue" - `PriceIncreasePercentage` (number,null) Specifies the percentage to increase or decrease the price of a termed subscription's renewal. Use this field if you set the value to SpecificPercentageValue. Character limit: 16 Values: a decimal value between -100 and 100 - `ProductCategory` (string) This field is used to maintain the product category for integration with Zuora Revenue. Notes: - This field is available only if you have the Additional Revenue Fields property enabled. - To use this field, you must set the X-Zuora-WSDL-Version request header to 132 or later. - `ProductClass` (string) This field is used to maintain the product class for integration with Zuora Revenue. Notes: - This field is available only if you have the Additional Revenue Fields property enabled. - To use this field, you must set the X-Zuora-WSDL-Version request header to 132 or later. - `ProductFamily` (string) This field is used to maintain the product family for integration with Zuora Revenue. Notes: - This field is available only if you have the Additional Revenue Fields property enabled. - To use this field, you must set the X-Zuora-WSDL-Version request header to 132 or later. - `ProductLine` (string) This field is used to maintain the product line for integration with Zuora Revenue. Notes: - This field is available only if you have the Additional Revenue Fields property enabled. - To use this field, you must set the X-Zuora-WSDL-Version request header to 132 or later. - `ReflectDiscountInNetAmount` (boolean) 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 Order to Revenue 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 Billing - Revenue Integration 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` (string) 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 revenue recognition policy configuration in the Zuora Billing UI. Note: This field is only available if you have the Order to Revenue feature enabled. Enum: "Upon Billing Document Posting Date", "Upon Order Activation Date" - `RevenueAmortizationMethod` (string) 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 revenue recognition policy configuration in the Zuora Billing UI. Note: This field is only available if you have the Order to Revenue feature enabled. Enum: "Immediate", "Ratable Using Start And End Dates" - `ProductRatePlanChargeNumber` (string) The natural key of the product rate plan charge. Values: - leave null for automatically generated string - an alphanumeric string of 100 characters or fewer Note: This field is only available if you set the X-Zuora-WSDL-Version request header to 133 or later. - `ProductRatePlanChargeTierData` (object, required) Container for pricing information associated with the product rate plan charge. - `ProductRatePlanChargeTierData.ProductRatePlanChargeTier` (array) Array of product rate plan charge tiers. You should specify all relevant fields of all tiers, including pricing information for each currency. For each currency, ensure that the tiers appear in ascending order of StartingUnit. For example: [ { "StartingUnit": "1", "EndingUnit": "150", "Currency": "USD", "Price": 1.95, "PriceFormat": "Per Unit" }, { "StartingUnit": "151", "EndingUnit": "300", "Currency": "USD", "Price": 1.45, "PriceFormat": "Per Unit" }, { "StartingUnit": "1", "EndingUnit": "150", "Currency": "EUR", "Price": 1.75, "PriceFormat": "Per Unit" }, { "StartingUnit": "151", "EndingUnit": "300", "Currency": "EUR", "Price": 1.30, "PriceFormat": "Per Unit" } ] - `ProductRatePlanChargeTierData.ProductRatePlanChargeTier.Currency` (string) The code corresponding to the currency for the tier's price. - `ProductRatePlanChargeTierData.ProductRatePlanChargeTier.DiscountAmount` (number) The specific amount for a fixed discount. Required if the charge model of the product rate plan charge is Discount-Fixed Amount. - `ProductRatePlanChargeTierData.ProductRatePlanChargeTier.DiscountPercentage` (number) The percentage of discount for a percentage discount. Required if the charge model of the product rate plan charge is Discount-Percentage. - `ProductRatePlanChargeTierData.ProductRatePlanChargeTier.EndingUnit` (number) The end number of a range of units for the tier. Required if the charge model of the product rate plan charge is Tiered Pricing or Tiered with Overage Pricing. - `ProductRatePlanChargeTierData.ProductRatePlanChargeTier.IsOveragePrice` (boolean) Indicates if the price is an overage price, which is the price when usage surpasses the last defined tier. - `ProductRatePlanChargeTierData.ProductRatePlanChargeTier.Price` (number) The price of the tier if the charge is a flat fee, or the price of each unit in the tier if the charge model is tiered pricing. - `ProductRatePlanChargeTierData.ProductRatePlanChargeTier.PriceFormat` (string) Indicates if pricing is a flat fee or is per unit. This field is for tiered and volume pricing models only. Enum: "Flat Fee", "Per Unit" - `ProductRatePlanChargeTierData.ProductRatePlanChargeTier.StartingUnit` (number) The starting number of a range of units for the tier. Required if the charge model of the product rate plan charge is Tiered Pricing or Tiered with Overage Pricing. - `ProductRatePlanId` (string, required) The ID of the product rate plan associated with this product rate plan charge. Example: "8ad08ae290c4bb470190dedf752745af" - `ProrationOption` (string) Note: This field is only available if you have the Charge Level Proration feature enabled. For more information, see Usage charge proration and Charge level proration option for a recurring charge. 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. Enum: "NoProration", "TimeBasedProration", "DefaultFromTenantSetting", "ChargeFullPeriod" - `RatingGroup` (string,null) 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. Enum: "ByBillingPeriod", "ByUsageStartDate", "ByUsageRecord", "ByUsageUpload", "ByGroupId", null - `RecognizedRevenueAccount` (string) 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](http://support.zuora.com/). - `RevRecCode` (string,null) Associates this product rate plan charge with a specific revenue recognition code. - `RevRecTriggerCondition` (string,null) Specifies when revenue recognition begins. Enum: "ContractEffectiveDate", "ServiceActivationDate", "CustomerAcceptanceDate", null - `RevenueRecognitionRuleName` (string) Determines when to recognize the revenue for this charge. Enum: "Recognize upon invoicing", "Recognize daily over time" - `RolloverApply` (string) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs. This field defines the priority of rollover, which is either first or last. Enum: "ApplyFirst", "ApplyLast" - `RolloverPeriods` (number) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs. This field defines the number of rollover periods, it is restricted to 3. - `SmoothingModel` (string,null) Specifies the smoothing model for an overage smoothing charge model. Enum: "RollingWindow", "Rollover", null - `SpecificBillingPeriod` (integer,null) Customizes the number of months or weeks for the charges billing period. This field is required if you set the value of the BillingPeriod field to Specific Months or Specific Weeks. The valid value is a positive integer. - `SpecificListPriceBase` (integer,null) The number of months for the list price base of the charge. This field is required if you set the value of the ListPriceBase field to Per Specific Months. The value must be a positive integer between 1 and 120 inclusive. Notes: - This field is available only if you have the Annual List Price feature enabled. - To use this field, you must set the X-Zuora-WSDL-Version request header to 129 or later. Otherwise, an error occurs. - The value of this field is null if you do not set the value of the ListPriceBase field to Per Specific Months. Example: 12 - `TaxCode` (string) Specifies the tax code for taxation rules. Required when the Taxable field is set to True. Note: This value affects the tax calculation of rate plan charges that come from the ProductRatePlanCharge. - `TaxMode` (string,null) Determines how to define taxation for the charge. Required when the Taxable field is set to True. Note: This value affects the tax calculation of rate plan charges that come from the ProductRatePlanCharge. Enum: "TaxExclusive", "TaxInclusive", null - `Taxable` (boolean) Determines whether the charge is taxable. When set to True, the TaxMode and TaxCode fields are required when creating or updating th ProductRatePlanCharge object. Character limit: 5 Values: True, False Note: This value affects the tax calculation of rate plan charges that come from the ProductRatePlanCharge. - `TriggerEvent` (string, required) 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. Enum: "ContractEffective", "ServiceActivation", "CustomerAcceptance" - `UOM` (string,null) Specifies a configured unit to measure usage. Note: You must specify this field when creating the following charge models: - Per Unit Pricing - Volume Pricing - Overage Pricing - Tiered Pricing - Tiered with Overage Pricing - `UpToPeriods` (integer,null) Specifies the length of the period during which the charge is active. If this period ends before the subscription ends, the charge ends when this period ends. Character limit: 5 Values: a whole number between 0 and 65535, exclusive Notes: - You must use this field together with the UpToPeriodsType field to specify the time period. This field is applicable only when the EndDateCondition field is set to FixedPeriod. - If the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge end date will change accordingly up to the original period end. - `UpToPeriodsType` (string,null) The period type used to define when the charge ends. Notes: - You must use this field together with the UpToPeriods field to specify the time period. - This field is applicable only when the EndDateCondition field is set to FixedPeriod. Enum: "Billing Periods", "Days", "Weeks", "Months", "Years", null - `UsageRecordRatingOption` (string,null) Determines how Zuora processes usage records for per-unit usage charges. Enum: "EndOfBillingPeriod", "OnDemand", null - `UseDiscountSpecificAccountingCode` (boolean,null, required) Determines whether to define a new accounting code for the new discount charge. Character limit: 5 Values: True, False - `UseTenantDefaultForPriceChange` (boolean) Applies the tenant-level percentage uplift value for an automatic price change to a termed subscription's renewal. Character limit: 5 Values: true, false - `ValidityPeriodType` (string) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs. The period in which the prepayment units are valid to use as defined in a [prepayment charge](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_prepayment_charge). Enum: "SUBSCRIPTION_TERM", "ANNUAL", "SEMI_ANNUAL", "QUARTER", "MONTH" - `WeeklyBillCycleDay` (string) Specifies which day of the week as the bill cycle day (BCD) for the charge. This feature is in Limited Availability. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/). Enum: "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" - `ApplyToBillingPeriodPartially` (boolean) Allow the discount duration to be aligned with the billing period partially. Note: You must enable the [Enhanced Discount](https://knowledgecenter.zuora.com/Zuora_Billing/Build_products_and_prices/Basic_concepts_and_terms/B_Charge_Models/D_Manage_Enhanced_Discount) feature to access this field. - `RolloverPeriodLength` (integer) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. To use this field, you must set the X-Zuora-WSDL-Version request header to 137 or higher. Otherwise, an error occurs. 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. - `Formula` (string) 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 Price lookup in Attribute-based Pricing. Notes: - This field is available only if the Attribute-based Pricing feature is enabled. - To use this field, you must set the X-Zuora-WSDL-Version request header to 138 or higher. - `Class__NS` (string) Class associated with the corresponding item in NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265). - `DeferredRevAccount__NS` (string) Deferrred revenue account associated with the corresponding item in NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265). - `Department__NS` (string) Department associated with the corresponding item in NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265). - `IncludeChildren__NS` (string) Specifies whether the corresponding item in NetSuite is visible under child subsidiaries. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265). Enum: "Yes", "No" - `IntegrationId__NS` (string) ID of the corresponding object in NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265). - `IntegrationStatus__NS` (string) Status of the product rate plan charge's synchronization with NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265). - `ItemType__NS` (string) Type of item that is created in NetSuite for the product rate plan charge. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265). Enum: "Inventory", "Non Inventory", "Service" - `Location__NS` (string) Location associated with the corresponding item in NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265). - `RecognizedRevAccount__NS` (string) Recognized revenue account associated with the corresponding item in NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265). - `RevRecEnd__NS` (string) End date condition of the corresponding item in NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265). Enum: "Charge Period Start", "Rev Rec Trigger Date", "Use NetSuite Rev Rec Template" - `RevRecStart__NS` (string) Start date condition of the corresponding item in NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265). Enum: "Charge Period Start", "Rev Rec Trigger Date", "Use NetSuite Rev Rec Template" - `RevRecTemplateType__NS` (string) Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265). - `Subsidiary__NS` (string) Subsidiary associated with the corresponding item in NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265). - `SyncDate__NS` (string) Date when the product rate plan charge was synchronized with NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265). ## Response 200 fields (application/json): - `Id` (string) - `Success` (boolean) ## Response 401 fields (application/json): - `message` (string) Error message. If the error message is "Authentication error", ensure that the Authorization request header contains valid authentication credentials, then retry the request. See [Authentication](https://developer.zuora.com/docs/guides/authentication/) for more information. If the error message is "Failed to get user info", retry the request.