> This page is for Docs.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://zuora.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://zuora.ferndocs.com/_mcp/server.

# Field descriptions of ProductRatePlanCharge

> This reference provides descriptions for the fields of the ProductRatePlanCharge object.

This reference provides descriptions for the fields of the ProductRatePlanCharge object.

<table>
  <tr>
    <th>
      Name
    </th>

    <th>
      Required to create?
    </th>

    <th>
      Allowed operations
    </th>

    <th>
      Description
    </th>
  </tr>

  <tr>
    <td>
      AccountingCode
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      The accounting code for the charge. Accounting codes group transactions that contain similar accounting attributes.

      **Type**: string **Character limit**: 100 **Version notes**: `Create` operation available in WSDL 22.0+ **Values**: an active accounting code in your Zuora Chart of Accounts
    </td>
  </tr>

  <tr>
    <td>
      ApplyDiscountTo
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Filter
    </td>

    <td>
      Specifies the type of charges that you want a specific discount to apply to. All field values are case sensitive: note that these values are in all-caps.

      **Type**: string (enum) **Character limit**: 21 **Version notes**: WSDL 41.0+ **Values**: one of the following:

      * `ONETIME (1)`
      * `RECURRING (2)`
      * `USAGE (4)`
      * `ONETIMERECURRING (3)`
      * `ONETIMEUSAGE (5)`
      * `RECURRINGUSAGE (6)`
      * `ONETIMERECURRINGUSAGE (7)`
    </td>
  </tr>

  <tr>
    <td>
      BillCycleDay
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      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.

      **Type**: int **Character limit**: 2 **Version notes**: WSDL 30.0+ **Values**: a valid BCD integer, 1 - 31
    </td>
  </tr>

  <tr>
    <td>
      BillCycleType
    </td>

    <td>
      required
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      Specifies how to determine the billing day for the charge.

      **Type**: string (enum) **Character limit**: 20 **Version notes**: The `SpecificDayofWeek` value is available in WSDL 74.0+, all other values are available in WSDL 25.0 or earlier. **Values**: one of the following:

      * `DefaultFromCustomer`
      * `SpecificDayofMonth:`
      * `SubscriptionStartDay`
      * `ChargeTriggerDay`
      * `SpecificDayofWeek`

      **Note**:

      * 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.
    </td>
  </tr>

  <tr>
    <td>
      BillingPeriod
    </td>

    <td>
      required
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      The billing period for the charge. The start day of the billing period is also called the bill cycle day (BCD).

      **Type**: string (enum) **Character limit**: 15 **Version notes**: The `Specific Months` value is available in WSDL 27.0+. The `Week` and `Specific Weeks` values are available in WSDL 74.0+. **Values**: one of the following

      * `Month`
      * `Quarter`
      * `Annual`
      * `Semi-Annual`
      * `Specific Months`
      * `Subscription Term` (This value is in **Limited Availability**.)
      * `Week`
      * `Specific Weeks`

      **Note**:

      Specify the number of months or weeks in the SpecificBillingPeriod field if you set this field to `Specific Months` or `Specific Weeks` .
    </td>
  </tr>

  <tr>
    <td>
      BillingPeriodAlignment
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      Aligns charges within the same subscription if multiple charges begin on different dates.

      **Type**: string (enum) **Character limit**: 24 **Version notes**: -- **Values**: one of the following:

      * `AlignToCharge`
      * `AlignToSubscriptionStart`
      * `AlignToTermStart`
    </td>
  </tr>

  <tr>
    <td>
      BillingTiming
    </td>

    <td>
      optional
    </td>

    <td>
      Create Update Query
    </td>

    <td>
      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.

      **Type**: string (enum) **Character limit**: **Version notes**: WSDL 70.0+ **Values**: one of the following:

      * `In Advance`
      * `In Arrears`
    </td>
  </tr>

  <tr>
    <td>
      ChargeFunction
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      > **Note**
      >
      > This field is only available if you have the Prepaid with Drawdown feature enabled.

      **Type**: string (enum) **Character limit**: **Version notes**: WSDL 141.0+ **Values**: This field defines what type of charge it is in Prepaid with Drawdown and Minimum Commitment:

      * `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.
    </td>
  </tr>

  <tr>
    <td>
      CommitmentType
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      > **Note**
      >
      > This field is only available if you have the Prepaid with Drawdown feature enabled.

      **Type**: string (enum) **Character limit**: **Version notes**: WSDL 133.0+ **Values**: 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 the given prepaidUom.
      * If `CURRENCY` , it will create a fund with the currency amount calculated in the list price.

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

  <tr>
    <td>
      ChargeModel
    </td>

    <td>
      required
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      Determines how to calculate charges. Charge models must be individually activated in Z-Billing administration.

      **Type**: string (enum) **Character limit**: 27 **Version notes**: WSDL 20.0+ **Values**: one of the following:

      * `Discount-Fixed Amount`
      * `Discount-Percentage`
      * `Flat Fee Pricing`
      * `Per Unit Pricing`
      * `Overage Pricing`
      * `Tiered Pricing`
      * `Tiered with Overage Pricing`
      * `Volume Pricing`
      * `MultiAttributePricing` (only available in WSDL 102.0 and later 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 for pricing information.)
      * `PreratedPerUnit` (only available in WSDL 102.0 and later 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 for pricing information.)
      * `PreratedPricing` (only available in WSDL 102.0 and later 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 for pricing information.)
      * `HighWaterMarkVolumePricing` (only available in WSDL 102.0 and later if you have the Volume with High Water Mark 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 for pricing information.)
      * `HighWaterMarkTieredPricing` (only available in WSDL 102.0 and later if you have the Tiered with High Water Mark 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 for pricing information.)
    </td>
  </tr>

  <tr>
    <td>
      ChargeModelConfiguration
    </td>

    <td>
      optional
    </td>

    <td>
      Create Update
    </td>

    <td>
      Container of charge model configuration details

      This field is only available if you have the Pre-Rated Per Unit Pricing, 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 for pricing information coming October 2020.

      **Type**: object **Character limit**: -- **Version notes**: WSDL 102.0+ **Values**: array of Charge Model Configuration Key-Value pairs
    </td>
  </tr>

  <tr>
    <td>
      ConfigurationItem
    </td>

    <td>
      optional
    </td>

    <td>
      Create Update
    </td>

    <td>
      An array of Charge Model Configuration Key-Value pairs.

      **Type**: array **Character limit**: -- **Version notes**: WSDL 102.0+ **Values**: An array of Charge Model Configuration Key-Value pairs.
    </td>
  </tr>

  <tr>
    <td>
      Key
    </td>

    <td>
      required
    </td>

    <td>
      Create Update
    </td>

    <td>
      The name of the field that is specified for a specific charge model.

      **Values**:

      * `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 for pricing information coming October 2020.)
      * `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 for pricing information coming October 2020.)
      * `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 for pricing information coming October 2020.)
    </td>
  </tr>

  <tr>
    <td>
      Value
    </td>

    <td>
      required
    </td>

    <td>
      Create Update
    </td>

    <td>
      The value of the field that is specified in the `Key` field.

      **Values**:

      * A valid pricing formula 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 for pricing information coming October 2020.
      * A usage custom field that carries the per-unit rate for each usage record 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 for pricing information coming October 2020.
      * A usage custom field that carries the total amount for a usage record 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 for pricing information coming October 2020.
    </td>
  </tr>

  <tr>
    <td>
      ChargeType
    </td>

    <td>
      required
    </td>

    <td>
      Create Query Filter
    </td>

    <td>
      Specifies the type of charge.

      **Type**: string (enum) **Character limit**: 9 **Version notes**: WSDL 20.0+ **Values**: one of the following:

      * `OneTime`
      * `Recurring`
      * `Usage`

      **Note**: To query and filter one time charges, you need to specify `One-Time` rather than `OneTime` in the WHERE clause.
    </td>
  </tr>

  <tr>
    <td>
      CreatedById
    </td>

    <td>
      optional
    </td>

    <td>
      Query Filter
    </td>

    <td>
      The ID of the Zuora user who created the `ProductRatePlanCharge` object.

      **Type**: zns:ID **Character limit**: 32 **Version notes**: WSDL 20.0+ **Values**: automatically generated
    </td>
  </tr>

  <tr>
    <td>
      CreatedDate
    </td>

    <td>
      optional
    </td>

    <td>
      Query Filter
    </td>

    <td>
      The date when the `ProductRatePlanCharge` object was created.

      **Type**: dateTime **Character limit**: 29 **Version notes**: WSDL 20.0+ **Values**: automatically generated
    </td>
  </tr>

  <tr>
    <td>
      DefaultQuantity
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      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.

      **Type**: decimal (quantity) **Character limit**: 16 **Version notes**: type is double for WSDL 18.0 and older **Values**: a valid quantity value
    </td>
  </tr>

  <tr>
    <td>
      DeferredRevenueAccount
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update
    </td>

    <td>
      The name of the deferred revenue account for this charge.

      **Note:** If you want to implement "recognise without deferral", you should pass the same accounting code for DeferredRevenueAccount and RecognizedRevenueAccount, and pass "Recognize upon invoicing" for RevenueRecognitionRuleName.

      **Type**: string **Character limit**: 100 **Version notes**: WSDL 39.0+, requires Z-Finance **Values**: an active accounting code in your Zuora Chart of Accounts

      > **Note**
      >
      > This feature is in the ****Early Adopter**** phase. If you want to have access to the feature, submit a request at Zuora Global Support .
    </td>
  </tr>

  <tr>
    <td>
      Description
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      A description of the charge.

      **Type**: string **Character limit**: 500 **Version notes**: -- **Values**: a string of 500 characters or fewer
    </td>
  </tr>

  <tr>
    <td>
      DiscountClass
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update
    </td>

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

      The status of the discount class must be active.

      The default value is null. Discount charges that do not have a discount class are applied after discount charges that do have a discount class.

      For the order in which discount charges apply to the same product rate plan charge, see Processing Discount Charges .

      **Type**: string **Character limit**: 50 **Version notes**: 85.0+ **Values**: a string of 50 characters or fewer
    </td>
  </tr>

  <tr>
    <td>
      DiscountLevel
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Filter
    </td>

    <td>
      Specifies if the discount applies to just the product rate plan, the entire subscription, or to any activity in the account.

      **Type**: string (enum) **Character limit**: 12 **Version notes**: WSDL 41.0+ **Values**: one of the following:

      * `rateplan`
      * `subscription`
      * `account`
    </td>
  </tr>

  <tr>
    <td>
      EndDateCondition
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Filter
    </td>

    <td>
      Defines when the charge ends after the charge trigger date.

      **Type**: string (enum) **Character limit**: -- **Version notes**: WSDL 72.0+ **Values**: one of the following:

      * `SubscriptionEnd` : The charge ends on the subscription end date after a specified period based on the trigger date of the charge. This is the default value.
      * `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.
    </td>
  </tr>

  <tr>
    <td>
      ExcludeItemBookingFromRevenueAccounting
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update
    </td>

    <td>
      Specifies whether to exclude non-revenue related rate plan charges and order line items from syncing to Zuora Revenue. This field is only available if you have enabled Zuora Billing - Revenue Integration or Order to Revenue .

      You can set and update this field for a product rate plan charge through both the Zuora UI and API. You can access this field for a product rate plan charge through the Zuora UI, API, and Product Rate Plan Charge data source.

      ****Type****: boolean ****Character limit****: 5 ****Version notes****: WSDL 115.0 and later ****Values****: `true` , `false` (default)
    </td>
  </tr>

  <tr>
    <td>
      ExcludeItemBillingFromRevenueAccounting
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update
    </td>

    <td>
      Specifies whether to exclude non-revenue related invoice items, invoice item adjustments, credit memo items, and debit memo items from syncing to Zuora Revenue. This field is only available if you have enabled Zuora Billing - Revenue Integration or Order to Revenue .

      You can set and update this field for a product rate plan charge through both the Zuora UI and API. You can access this field for a product rate plan charge through the Zuora UI, API, and Product Rate Plan Charge data source.

      ****Type****: boolean ****Character limit****: 5 ****Version notes****: WSDL 115.0 and later ****Values****: `true` , `false` (default)
    </td>
  </tr>

  <tr>
    <td>
      Id
    </td>

    <td>
      optional
    </td>

    <td>
      Query Filter
    </td>

    <td>
      The ID of this object. Upon creation, the ID of this object is `ProductRatePlanChargeId` .

      **Type**: zns:ID **Character limit**: 32 **Version notes**: -- **Values**: automatically generated
    </td>
  </tr>

  <tr>
    <td>
      IncludedUnits
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      Specifies the number of units in the base set of units.

      **Type**: decimal **Character limit**: 16 **Version notes**: -- **Values**: a positive decimal value
    </td>
  </tr>

  <tr>
    <td>
      IsAllocationEligible
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update
    </td>

    <td>
      This field is used to identify if the charge segment is allocation eligible in revenue recognition.

      **Type**: boolean **Character limit**: 5 **Version notes**: WSDL 132.0 and later **Values**: `true` , `false` (default)

      ****Note****: This feature is in the **Early Adopter** phase. If you want to use the feature, submit a request at Zuora Global Support , and we will evaluate whether the feature is suitable for your use cases.
    </td>
  </tr>

  <tr>
    <td>
      IsUnbilled
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update
    </td>

    <td>
      This field is used to dictate how to perform the accounting during revenue recognition.

      **Type**: boolean **Character limit**: 5 **Version notes**: WSDL 132.0 and later **Values**: `true` , `false` (default)

      ****Note****: This feature is in the **Early Adopter** phase. If you want to use the feature, submit a request at Zuora Global Support , and we will evaluate whether the feature is suitable for your use cases.
    </td>
  </tr>

  <tr>
    <td>
      LegacyRevenueReporting
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      Specifies whether to include in legacy revenue reports.

      **Type**: boolean **Character limit**: 5 **Version notes**: -- **Values**: `true` or `false`
    </td>
  </tr>

  <tr>
    <td>
      ListPriceBase
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Subscribe Amend
    </td>

    <td>
      The list price base for the product rate plan charge.

      **Type**: string (enum) **Character limit**: -- **Version notes**: WSDL 67+ **Values**: one of the following:

      * `Per Month`
      * `Per Billing Period`
      * `Per Week`
      * `Per Year`
    </td>
  </tr>

  <tr>
    <td>
      MaxQuantity
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      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.

      **Type**: decimal (quantity) **Character limit**: 16 **Version notes**: type is double for WSDL 18.0 and older **Values**: a positive decimal value
    </td>
  </tr>

  <tr>
    <td>
      MinQuantity
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      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.

      **Type**: decimal (quantity) **Character limit**: 16 **Version notes**: type is double for WSDL 18.0 and older **Values**: a positive decimal value
    </td>
  </tr>

  <tr>
    <td>
      Model
    </td>

    <td>
      n/a
    </td>

    <td>
      n/a
    </td>

    <td>
      Deprecated. Use `ChargeModel` instead.
    </td>
  </tr>

  <tr>
    <td>
      Name
    </td>

    <td>
      required
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      The name of the product rate plan charge.

      **Type**: string **Character limit**: 100 **Version notes**: -- **Values**: a string of 100 characters or fewer
    </td>
  </tr>

  <tr>
    <td>
      NumberOfPeriod
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      Specifies the number of periods to use when calculating charges in an overage smoothing charge model.

      **Type**: integer **Character limit**: **Version notes**: -- **Values**: a positive whole number
    </td>
  </tr>

  <tr>
    <td>
      OverageCalculationOption
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      Determines when to calculate overage charges. If the value of the `SmoothingModel` field is not specified, the value of this field is ignored.

      **Type**: string (enum) **Character limit**: 20 **Version notes**: -- **Values**: one of the following:

      * `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.
    </td>
  </tr>

  <tr>
    <td>
      OverageUnusedUnitsCreditOption
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

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

      **Type**: string (enum) **Character limit**: 20 **Version notes**: -- **Values**: one of the following:

      * `NoCredit`
      * `CreditBySpecificRate`
    </td>
  </tr>

  <tr>
    <td>
      PriceChangeOption
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

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

      **Type**: string (enum) **Character limit**: **Version notes**: WSDL 43.0+ **Values**: one of the following:

      * `NoChange` (default)
      * `SpecificPercentageValue`
      * `UseLatestProductCatalogPricing`
    </td>
  </tr>

  <tr>
    <td>
      PriceIncreaseOption
    </td>

    <td>
      optional
    </td>

    <td>
      Create Update Delete Filter
    </td>

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

      **Type**: string (enum) **Character limit**: 25 **Version notes**: deprecated at WSDL 43.0 **Values**: one of the following

      * `FromTenantPercentageValue`
      * `SpecificPercentageValue`
    </td>
  </tr>

  <tr>
    <td>
      PriceIncreasePercentage
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

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

      **Type**: decimal **Character limit**: 16 **Version notes**: WSDL 43.0+ **Values**: a decimal value between -100 and 100
    </td>
  </tr>

  <tr>
    <td>
      ProductCategory
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update
    </td>

    <td>
      This is used to maintain the product category.

      **Type**: string **Character limit**: **Version notes**: WSDL 132.0 and later **Values**:

      ****Note****: This field is only available if you have the Additional Revenue Fields property enabled.
    </td>
  </tr>

  <tr>
    <td>
      ProductClass
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update
    </td>

    <td>
      This is used to maintain the product class.

      **Type**: string **Character limit**: **Version notes**: WSDL 132.0 and later **Values**:

      ****Note****: This field is only available if you have the Additional Revenue Fields property enabled.
    </td>
  </tr>

  <tr>
    <td>
      ProductFamily
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update
    </td>

    <td>
      This is used to maintain the product family.

      **Type**: string **Character limit**: **Version notes**: WSDL 132.0 and later **Values**:

      ****Note****: This field is only available if you have the Additional Revenue Fields property enabled.
    </td>
  </tr>

  <tr>
    <td>
      ProductLine
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update
    </td>

    <td>
      This is used to maintain the product line.

      **Type**: string **Character limit**: **Version notes**: WSDL 132.0 and later **Values**:

      ****Note****: This field is only available if you have the Additional Revenue Fields property enabled.
    </td>
  </tr>

  <tr>
    <td>
      ProductDiscountApplyDetailData
    </td>

    <td>
      optional
    </td>

    <td>
      Create Update
    </td>

    <td>
      Container of application details about the discount product rate plan charge.

      For more information about discount charge use cases, see Discount Charge Use Cases .

      You can specify this field only when the `DiscountLevel` field is `rateplan` or `subscription` . If you specify this field when `DiscountLevel` is not set to `rateplan` or `subscription` , even if the value is set to null, an error is returned.

      You can use this field to specify the product rate plans or product rate plan charges that the discount product rate plan charge is applied to. In this field, you can specify at most 1,000 ProductDiscountApplyDetail.

      If this field is not specified, discount charges apply to all product rate plan charges defined by the `DiscountLevel` field and `ApplyDiscountTo` field.

      **Type**: array **Character limit**: -- **Version notes**: 85.0+ **Values**: array of ProductDiscountApplyDetail
    </td>
  </tr>

  <tr>
    <td>
      AppliedProductRatePlanId
    </td>

    <td>
      optional
    </td>

    <td>
      Create Update
    </td>

    <td>
      The ID of the product rate plan that the discount product rate plan charge applies to.

      If the `DiscountLevel` field is rateplan, the value of the `AppliedProductRatePlanId` field must be the same as the ID of the product rate plan that the discount charge belongs to.

      The `AppliedProductRatePlanId` and `AppliedProductRatePlanChargeId` fields cannot be null at the same time.

      **Type**: zns:ID **Character limit**: 32 **Version notes**: 85.0+ **Values**: a valid product rate plan ID
    </td>
  </tr>

  <tr>
    <td>
      AppliedProductRatePlanChargeId
    </td>

    <td>
      optional
    </td>

    <td>
      Create Update
    </td>

    <td>
      The ID of the product rate plan charge that the discount product rate plan charge applies to.

      The `AppliedProductRatePlanId` and `AppliedProductRatePlanChargeId` fields cannot be null at the same time.

      If you specify a value in the `AppliedProductRatePlanId` field, the charge specified in the `AppliedProductRatePlanChargeId` field must belong to the product rate plan specified in the `AppliedProductRatePlanId` field.

      If the `DiscountLevel` field is rateplan, the charge specified in the `AppliedProductRatePlanChargeId` field must belong to the product rate plan that the discount charge belongs to.

      If this field is not specified, discount charges apply to all product rate plan charges in the product rate plan whose ID is the value specified in the `AppliedProductRatePlanId` field.

      **Type**: zns:ID **Character limit**: 32 **Version notes**: 85.0+ **Values**: a valid product rate plan charge ID
    </td>
  </tr>

  <tr>
    <td>
      ProductRatePlanChargeTierData
    </td>

    <td>
      required
    </td>

    <td>
      Create Update
    </td>

    <td>
      Container for pricing information associated with the product rate plan charge.

      For more information about this container, see Create a Product Catalog and Update Product Catalog .
    </td>
  </tr>

  <tr>
    <td>
      ProductRatePlanId
    </td>

    <td>
      required
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      The ID of the product rate plan associated with this product rate plan charge.

      **Type**: zns:ID **Character limit**: 32 **Version notes**: -- **Values**: a valid product rate plan ID
    </td>
  </tr>

  <tr>
    <td>
      ProductRatePlanChargeNumber
    </td>

    <td>
      optional
    </td>

    <td>
      Create Update Query
    </td>

    <td>
      The natural key of the product rate plan charge.

      For existing objects that were created before this field was introduced, this value will be null. Use this field in the CRUD: Update a product rate plan charge operation to specify a value.

      Zuora also helps you automatically backfill this field with tenant ID for your existing product catalog. If you want to backfill this field, contact Zuora Global Support .

      * **Type:** string
      * **Character limit**: 100
      * **Values**: one of the following:

        * leave null for automatically generated string
        * an alphanumeric string of 100 characters or fewer
      * **Version notes**: WSDL 133.0+
    </td>
  </tr>

  <tr>
    <td>
      RatingGroup
    </td>

    <td>
      conditional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      Specifies a rating group based on which usage records are rated.

      See Usage Rating by Group for more information.

      **Type**: string (enum) **Character limit**: **Version notes**: WSDL 74.0+ **Values**: one of the following:

      * `ByBillingPeriod` (default): 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` ). If you import a mass usage in a single upload, which contains multiple usage files in `.xls` or `.csv` format, usage records are grouped for each usage file.
      * `ByGroupId` : The rating is based on all the usages in the same custom group.

      **Note**:

      * The `ByBillingPeriod` value can be applied for all charge models.
      * The `ByUsageStartDate` , `ByUsageRecord` , and `ByUsageUpload` values can only be applied for the per unit, volume pricing, or tiered pricing charge model.
      * 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.
    </td>
  </tr>

  <tr>
    <td>
      RecognizedRevenueAccount
    </td>

    <td>
      Conditional
    </td>

    <td>
      Create Query Update
    </td>

    <td>
      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.

      Navigate to **Z-Finance Settings > Configure Accounting Rules** to check this setting.

      **Note:** If you want to implement "recognise without deferral", you should pass the same accounting code for DeferredRevenueAccount and RecognizedRevenueAccount, and pass "Recognize upon invoicing" for RevenueRecognitionRuleName.

      **Type**: string **Character limit**: 100 **Version notes**: WSDL 39.0+, requires Z-Finance **Values**: an active accounting code in your Zuora Chart of Accounts

      > **Note**
      >
      > This feature is in the ****Early Adopter**** phase. If you want to have access to the feature, submit a request at Zuora Global Support .
    </td>
  </tr>

  <tr>
    <td>
      RevenueRecognitionRuleName
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update
    </td>

    <td>
      Determines when to recognize the revenue for this charge.

      **Type**: string (enum) **Character limit**: 25 **Version notes**: WSDL 39.0+, requires Z-Finance **Values**: one of the following:

      * `Recognize upon invoicing`
      * `Recognize daily over time`

      **Note:** If you want to implement "recognise without deferral", you should pass the same accounting code for DeferredRevenueAccount and RecognizedRevenueAccount, and pass "Recognize upon invoicing" for RevenueRecognitionRuleName.
    </td>
  </tr>

  <tr>
    <td>
      RevRecCode
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

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

      **Type**: string **Character limit**: 70 **Version notes**: -- **Values**: a valid revenue recognition code
    </td>
  </tr>

  <tr>
    <td>
      RevRecTriggerCondition
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      Specifies when revenue recognition begins.

      **Type**: string (enum) **Character limit**: 22 **Version notes**: -- **Values**: one of the following:

      * `ContractEffectiveDate`
      * `ServiceActivationDate`
      * `CustomerAcceptanceDate`
    </td>
  </tr>

  <tr>
    <td>
      SmoothingModel
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      Specifies the smoothing model for an overage smoothing charge model.

      **Type**: string (enum) **Character limit**: 22 **Version notes**: -- **Values**: one of the following:

      * `RollingWindow`
      * `Rollover`
    </td>
  </tr>

  <tr>
    <td>
      SpecificBillingPeriod
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      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` .

      **Type**: long **Character limit**: **Version notes**: WSDL 27.0+ **Values**: a positive integer
    </td>
  </tr>

  <tr>
    <td>
      IsStackedDiscount
    </td>

    <td>
      optional
    </td>

    <td>
      Create Update Query
    </td>

    <td>
      Specifies whether the discount is to be calculated by stacking with other discount percentages. This field applies only to the discount percentage charge model. For more information, see Discount charge models .

      **Type**: boolean **Character limit**: – **Version notes**: WSDL 130+ **Values**: `True` , `False`
    </td>
  </tr>

  <tr>
    <td>
      Taxable
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      Determines whether the charge is taxable. When set to `True` , the TaxMode and TaxCode fields are required when creating or updating the ProductRatePlanCharge object.

      **Type**: boolean **Character limit**: 5 **Version notes**: Z-Tax **Values**: `True` , `False`

      **Note**: This value affects the tax calculation of rate plan charges that come from the ProductRatePlanCharge.
    </td>
  </tr>

  <tr>
    <td>
      TaxCode
    </td>

    <td>
      conditional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      Specifies the tax code for taxation rules. Required when the Taxable field is set to `True` .

      **Type**: string **Character limit**: 64 **Version notes**: Z-Tax **Values**: a valid tax code

      **Note**: This value affects the tax calculation of rate plan charges that come from the ProductRatePlanCharge.
    </td>
  </tr>

  <tr>
    <td>
      TaxMode
    </td>

    <td>
      conditional
    </td>

    <td>
      Create Query Update Filter
    </td>

    <td>
      Determines how to define taxation for the charge. Required when the Taxable field is set to `True` .

      **Type**: string (enum) **Character limit**: 12 **Version notes**: Z-Tax, WSDL 42.0+ **Values**: one of the following:

      * `TaxExclusive`
      * `TaxInclusive`

      **Note**: This value affects the tax calculation of rate plan charges that come from the ProductRatePlanCharge.
    </td>
  </tr>

  <tr>
    <td>
      TriggerEvent
    </td>

    <td>
      required
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      Specifies when to start billing the customer for the charge.

      **Type**: string (enum) **Character limit**: 18 **Version notes**: -- **Values**: one of the following:

      * `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.
    </td>
  </tr>

  <tr>
    <td>
      Type
    </td>

    <td>
      n/a
    </td>

    <td>
      n/a
    </td>

    <td>
      Deprecated. Use `ChargeType` instead.
    </td>
  </tr>

  <tr>
    <td>
      UOM
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      Specifies the units to measure usage. Units of measure are configured in the web-based UI: **Z-Billing > Settings**.

      **Type**: string **Character limit**: 25 **Version notes**: **Values**: a configured unit of measure **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
    </td>
  </tr>

  <tr>
    <td>
      UpdatedById
    </td>

    <td>
      optional
    </td>

    <td>
      Query Filter
    </td>

    <td>
      The ID of the last user to update the object.

      **Type**: zns:ID **Character limit**: 32 **Version notes**: WSDL 20.0+ **Values**: automatically generated
    </td>
  </tr>

  <tr>
    <td>
      UpdatedDate
    </td>

    <td>
      optional
    </td>

    <td>
      Query Filter
    </td>

    <td>
      The date when the object was last updated.

      **Type**: dateTime **Character limit**: 29 **Version notes**: -- **Values**: automatically generated
    </td>
  </tr>

  <tr>
    <td>
      UpToPeriods
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Filter
    </td>

    <td>
      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.

      **Type**: long **Character limit**: 5 **Version notes**: WSDL 41.0+ **Values**: a whole number between 0 and 65535, exclusive

      **Note**:

      * 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.
    </td>
  </tr>

  <tr>
    <td>
      UpToPeriodsType
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Filter
    </td>

    <td>
      The period type used to define when the charge ends.

      **Type**: string (enum) **Character limit**: -- **Version notes**: WSDL 72.0+ **Values**: one of the following:

      * `Billing Periods` (default)
      * `Days`
      * `Weeks`
      * `Months`
      * Years

      **Note**:

      * 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` .
    </td>
  </tr>

  <tr>
    <td>
      UsageRecordRatingOption
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete
    </td>

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

      **Type**: string (enum) **Character limit**: 18 **Version notes**: WSDL 83.0+ **Values**: one of the following:

      * `EndOfBillingPeriod` (default)
      * `OnDemand`
    </td>
  </tr>

  <tr>
    <td>
      UseDiscountSpecificAccountingCode
    </td>

    <td>
      required
    </td>

    <td>
      Create Query Update Filter
    </td>

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

      **Type**: boolean **Character limit**: 5 **Version notes**: all listed operations available for WSDL 41.0+; only Query and Filter available for WSDL 34.0 - 40.0; no availability for WSDL 33.0 and older **Values**: `True` , `False`
    </td>
  </tr>

  <tr>
    <td>
      UseTenantDefaultForPriceChange
    </td>

    <td>
      optional
    </td>

    <td>
      Create Query Update Delete Filter
    </td>

    <td>
      Applies the tenant-level percentage uplift value for an automatic price change to a termed subscription's renewal. You set the tenant uplift value in the web-based UI: **Z-Billing > Define Default Subscription Settings**

      **Type**: boolean **Character limit**: 5 **Version notes**: WSDL 43.0+ **Values**: `true` , `false`
    </td>
  </tr>

  <tr>
    <td>
      WeeklyBillCycleDay
    </td>

    <td>
      optional
    </td>

    <td>
      Create Update Query
    </td>

    <td>
      Specifies which day of the week as the bill cycle day (BCD) for the charge.

      **Type**: string (enum) **Version notes**: WSDL 74.0+ **Values**: one of the following:

      * `Sunday`
      * `Monday`
      * `Tuesday`
      * `Wednesday`
      * `Thursday`
      * `Friday`
      * `Saturday`
    </td>
  </tr>
</table>