---
title: "List product rate plan charges"
method: GET
path: "/object-query/product-rate-plan-charges"
tags: ["Object Queries"]
---

# List product rate plan charges

`GET /object-query/product-rate-plan-charges`

Lists Product Rate Plan Charge objects. You can use the query parameters to filter, expand, and sort the returned results.

## Query parameters

- `pageSize` integer
- `cursor` string
- `sort[]` string[]
- `expand[]` string[]
- `filter[]` string[]
- `fields[]` string[]
- `includeNullFields` boolean

## Headers

- `Idempotency-Key` string
- `Accept-Encoding` string
- `Content-Encoding` string
- `Zuora-Track-Id` string
- `Zuora-Entity-Ids` string
- `Zuora-Org-Ids` string
- `Zuora-Version` string

## Response `200`

OK

- object
  - `nextPage` string, nullable — A string that can be used as the `cursor` value to retrieve the next page of the response if it exists; otherwise absent.
  - `data` ExpandedProductRatePlanCharge[]
    - `id` string — The unique identifier of the product rate plan charge.
    - `createdById` string — The unique identifier of the user who created the product rate plan charge.
    - `createdDate` string, date-time — The date and time when the product rate plan charge was created.
    - `updatedById` string — The unique identifier of the user who last updated the product rate plan charge.
    - `updatedDate` string, date-time — The date and time when the product rate plan charge was last updated.
    - `accountingCode` string — The accounting code for the charge. Accounting codes group transactions that contain similar accounting attributes.
    - `applyDiscountTo` 'ONETIME' | 'RECURRING' | 'USAGE' | 'ONETIMERECURRING' | 'ONETIMEUSAGE' | 'RECURRINGUSAGE' | 'ONETIMERECURRINGUSAGE' | 'null', nullable — Indicates which type of charge the discount charge applies to.
    - `chargeFunction` 'Standard' | 'Prepayment' | 'CommitmentTrueUp' | 'Drawdown' | 'CreditCommitment' | 'DrawdownAndCreditCommitment' — **Note**: This field is only available if you have the Prepaid with Drawdown or Minimum Commitment feature enabled. 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.
    - `isAllocationEligible` boolean — Indicates whether the charge segment is allocation eligible in revenue recognition.
    - `isUnbilled` boolean — Specifies how to perform the accounting during revenue recognition.
    - `applyToBillingPeriodPartially` boolean — Allow the discount duration to be aligned with the billing period partially.
    - `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.
    - `billCycleType` 'DefaultFromCustomer' | 'SpecificDayofMonth' | 'SubscriptionStartDay' | 'ChargeTriggerDay' | 'SpecificDayofWeek' | 'TermStartDay' | 'TermEndDay' — Specifies how to determine the billing day for the charge.
    - `billingPeriod` 'Month' | 'Quarter' | 'Annual' | 'Semi-Annual' | 'Specific Months' | 'Subscription Term' | 'Week' | 'Specific Weeks' | 'Specific Days' — The billing period for the charge. The start day of the billing period is also called the bill cycle day (BCD).
    - `billingPeriodAlignment` 'AlignToCharge' | 'AlignToSubscriptionStart' | 'AlignToTermStart' | 'AlignToTermEnd' — The billing period alignment setting for this charge.
    - `billingTiming` 'IN_ADVANCE' | 'IN_ARREARS' — The billing timing for this charge.
    - `chargeModel` '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' — Determines how to calculate charges. Charge models must be individually activated in Zuora Billing administration.
    - `chargeType` 'OneTime' | 'Recurring' | 'Usage' — Specifies the type of charge.
    - `creditOption` 'TimeBased' | 'ConsumptionBased' | 'FullCreditBack' — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://docs.zuora.com?resourceId=billing-prepaid-with-drawdown-overview) feature enabled. The way to calculate credit. See [Credit Option](https://docs.zuora.com?resourceId=billing-prepayment-charge) for more information.
    - `defaultQuantity` number, nullable — The default quantity. This field is applicable only for one-time and recurring charges.
    - `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/).
    - `description` string — Description of the product rate plan charge.
    - `discountClassId` string, nullable — ID of the class the discount belongs to. The discount class defines the order in which discount product rate plan charges are applied. For more information, see [Manage Discount Classes](https://docs.zuora.com?resourceId=billing-manage-discount-classes).
    - `discountLevel` 'rateplan' | 'subscription' | 'account' | 'null', nullable — The application scope of the discount charge. For example, if the value of this field is `subscription` and the value of the `applyDiscountTo` field is `RECURRING`, the discount charge applies to all recurring charges in the same subscription as the discount charge.
    - `drawdownRate` number, nullable — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://docs.zuora.com?resourceId=billing-prepaid-with-drawdown-overview) feature enabled. The [conversion rate](https://docs.zuora.com?resourceId=billing-create-drawdown-charge) between Usage UOM and Drawdown UOM for a [drawdown charge](https://docs.zuora.com?resourceId=billing-create-drawdown-charge). Must be a positive number (>0).
    - `endDateCondition` 'SubscriptionEnd' | 'OneTime' | 'FixedPeriod' | 'SpecificEndDate' — The end date condition for this charge.
    - `excludeItemBillingFromRevenueAccounting` boolean — Indicates whether to exclude the related invoice items, invoice item adjustments, credit memo items, and debit memo items from revenue accounting. **Note**: This field is only available if you have the Order to Revenue or Billing - Revenue Integration feature enabled.
    - `excludeItemBookingFromRevenueAccounting` boolean — Indicates whether to exclude the related rate plan charges and order line items from revenue accounting. **Note**: This field is only available if you have the Order to Revenue or Billing - Revenue Integration feature enabled.
    - `includedUnits` number — Specifies the number of units in the base set of units.
    - `isPrepaid` boolean — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://docs.zuora.com?resourceId=billing-prepaid-with-drawdown-overview) feature enabled. Indicates whether this charge is a prepayment (topup) charge or a drawdown charge.
    - `isRollover` boolean — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://docs.zuora.com?resourceId=billing-prepaid-with-drawdown-overview) feature enabled. It determines whether the rollover fields are needed.
    - `isStackedDiscount` boolean — **Note**: This field is only applicable to the Discount - Percentage charge model. 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://docs.zuora.com?resourceId=billing-discount-charge-models).
    - `legacyRevenueReporting` boolean — Indicates whether to use the legacy revenue reporting for this charge.
    - `listPriceBase` 'Per Billing Period' | 'Per Month' | 'Per Week' | 'Per Year' | 'Per Specific Months' — The list price base for the product rate plan charge. This field is only applicable for recurring charges.
    - `specificListPriceBase` integer, nullable — The number of months for the list price base of the charge. The value of this field is `null` if you do not set the value of the `listPriceBase` field to `Per_Specific_Months`.
    - `maxQuantity` number — The maximum number of units for this charge. This field and the `minQuantity` field can be used to create a range of units allowed in a product rate plan charge.
    - `minQuantity` number — The minimum number of units for this charge. This field and the `maxQuantity` field can be used to create a range of units allowed in a product rate plan charge.
    - `name` string — Name of the product rate-plan charge. Not required to be unique.
    - `numberOfPeriod` integer, nullable — Specifies the number of periods to use when calculating charges in an overage smoothing charge model. This field is ued when overage smoothing model is `RollingWindow` or `Rollover`.
    - `overageCalculationOption` 'EndOfSmoothingPeriod' | 'PerBillingPeriod' | 'null', nullable — Value specifies when to calculate overage charges.
    - `overageUnusedUnitsCreditOption` 'NoCredit' | 'CreditBySpecificRate', nullable — Determines whether to credit the customer with unused units of usage.
    - `prepaidOperationType` 'topup' | 'drawdown' | 'null', nullable — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://docs.zuora.com?resourceId=billing-prepaid-with-drawdown-overview) feature enabled. The type of this charge. It is either a prepayment (topup) charge or a drawdown charge.
    - `prepaidQuantity` number, nullable — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://docs.zuora.com?resourceId=billing-prepaid-with-drawdown-overview) feature enabled. The number of units included in a [prepayment charge](https://docs.zuora.com?resourceId=billing-create-prepayment-charge-with-rollover). Must be a positive number (>0).
    - `prepaidTotalQuantity` number, nullable — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://docs.zuora.com?resourceId=billing-prepaid-with-drawdown-overview) feature enabled. The total amount of units that end customers can use during a validity period when they subscribe to a [prepayment charge](https://docs.zuora.com?resourceId=billing-create-prepayment-charge-with-rollover).
    - `priceChangeOption` 'NoChange' | 'SpecificPercentageValue' | 'UseLatestProductCatalogPricing', nullable — Applies an automatic price change when a termed subscription is renewed and the following applies: 1. AutomatedPriceChange setting is on 2. Charge type is not one-time 3. Charge model is not discount fixed amount
    - `priceIncreasePercentage` number, nullable — 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`. 1. AutomatedPriceChange setting is on 2. Charge type is not one-time 3. Charge model is not discount fixed amount Values: a decimal between -100 and 100
    - `productRatePlanChargeNumber` string — The natural key of the product rate plan charge.
    - `prorationOption` string — **Note**: This field is only available if you have the Charge Level Proration feature enabled. The charge-level proration option for the product rate plan charge.
    - `ratingGroup` string, nullable — Specifies a rating group based on which usage records are rated. Possible values: - `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`). - `ByGroupId`: The rating is based on all the usages in a custom group. **Note:** - 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`.
    - `revRecTriggerCondition` 'ContractEffectiveDate' | 'ServiceActivationDate' | 'CustomerAcceptanceDate' | 'null', nullable — Specifies when revenue recognition begins.
    - `revenueRecognitionRuleName` string — The name of the revenue recognition rule governing the revenue schedule.
    - `rolloverApply` 'ApplyFirst' | 'ApplyLast' — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://docs.zuora.com?resourceId=billing-prepaid-with-drawdown-overview) feature enabled. This field defines the priority of rollover, which is either first or last.
    - `rolloverPeriodLength` integer — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://docs.zuora.com?resourceId=billing-prepaid-with-drawdown-overview) feature enabled. The period length of the rollover fund.
    - `rolloverPeriods` integer — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://docs.zuora.com?resourceId=billing-prepaid-with-drawdown-overview) feature enabled. This field defines the number of rollover periods, it is restricted to 3.
    - `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/).
    - `smoothingModel` string, nullable — Specifies the smoothing model for an overage smoothing charge model or an tiered with overage model, which is an advanced type of a usage model that avoids spikes in usage charges. If a customer's usage spikes in a single period, then an overage smoothing model eases overage charges by considering usage and multiple periods. One of the following values shows which smoothing model will be applied to the charge when `Overage` or `Tiered with Overage` is used: - `RollingWindow` considers a number of periods to smooth usage. The rolling window starts and increments forward based on billing frequency. When allowed usage is met, then period resets and a new window begins. - `Rollover` considers a fixed number of periods before calculating usage. The net balance at the end of a period is unused usage, which is carried over to the next period's balance.
    - `specificBillingPeriod` integer, nullable — When the billing period is set to `Specific` Months then this positive integer reflects the number of months for billing period charges.
    - `taxable` boolean — Specifies whether the charge is taxable; used by Zuora Tax.
    - `taxCode` string — Specifies the tax code for taxation rules; used by Zuora Tax.
    - `taxMode` 'TaxExclusive' | 'TaxInclusive' | 'null', nullable — Specifies how to define taxation for the charge; used by Zuora Tax.
    - `triggerEvent` 'ContractEffective' | 'ServiceActivation' | 'CustomerAcceptance' | 'SpecificDate' — Specifies when to start billing the customer for the charge. 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. - `SpecificDate` is the date specified.
    - `upToPeriods` integer, nullable — 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. 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` 'Billing Periods' | 'Days' | 'Weeks' | 'Months' | 'Years' | 'null', nullable — The period type used to define when the charge ends.
    - `usageRecordRatingOption` string, nullable — Determines how Zuora processes usage records for per-unit usage charges.
    - `useDiscountSpecificAccountingCode` boolean, nullable — Determines whether to define a new accounting code for the new discount charge.
    - `useTenantDefaultForPriceChange` boolean — Shows 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: **Settings > Billing > Define Default Subscription Settings**.
    - `validityPeriodType` 'SubscriptionTerm' | 'Annual' | 'SemiAnnual' | 'Quarter' | 'Month' — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://docs.zuora.com?resourceId=billing-prepaid-with-drawdown-overview) feature enabled. The period in which the prepayment units are valid to use as defined in a [prepayment charge](https://docs.zuora.com?resourceId=billing-create-prepayment-charge-with-rollover).
    - `weeklyBillCycleDay` 'Sunday' | 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday' — 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/).
    - `priceUpsellQuantityStacked` boolean — Indicates whether the price upsell quantity is stacked.
    - `deliveryScheduleId` string — The unique identifier of the delivery schedule associated with the product rate plan charge. This field is applicable only when this charge is using Delivery Pricing charge model.
    - `commitmentType` 'UNIT' | 'CURRENCY' — **Note**: This field is only available if you have the <a href="https://docs.zuora.com?resourceId=billing-unbilled-usage" target="_blank">Unbilled Usage</a> feature enabled. To use this field, you must set the `X-Zuora-WSDL-Version` request header to `133` or higher. Otherwise, an error occurs. This field defines the type of commitment. A prepaid charge can be `UNIT` or `CURRENCY`. A minimum commitment(in-arrears) charge can only be `CURRENCY` type. For topup(recurring or one-time) charges, this field indicates what type of funds are created. * If UNIT, it will create a fund with given prepaidUom. * If CURRENCY, it will create a fund with the currency amount calculated in list price. For drawdown(usage) charges, this field indicates what type of funds are drawdown from that created from topup charges.
    - `isCommitted` boolean — Indicates whether the charge is commited.
    - `productRatePlanId` string — The unique identifier of the product rate plan to which this product rate plan charge belongs.
    - `accountReceivableAccountingCodeId` string — The type of the accounting code for accounts receivable.
    - `recognizedRevenueAccountingCodeId` string — The accounting code for recognized revenue, such as Monthly Recurring Charges or Overage Charges.
    - `deferredRevenueAccountingCodeId` string, nullable — The type associated with the deferred revenue accounting code, such as Deferred Revenue.
    - `adjustmentLiabilityAccountingCodeId` string — The type associated with the adjustment liability accounting code. **Note**: This field is only available if you have the Zuora Billing - Revenue Integration feature enabled.
    - `adjustmentRevenueAccountingCodeId` string — The type associated with the adjustment revenue accounting code. **Note**: This field is only available if you have the Zuora Billing - Revenue Integration feature enabled.
    - `contractAssetAccountingCodeId` string — The type associated with the contract asset accounting code. **Note**: This field is only available if you have the Zuora Billing - Revenue Integration feature enabled.
    - `contractLiabilityAccountingCodeId` string — The accounting code for contract liability. **Note**: This field is only available if you have the Zuora Billing - Revenue Integration feature enabled.
    - `contractRecognizedRevenueAccountingCodeId` string — The accounting code for contract recognized revenue. **Note**: This field is only available if you have the Zuora Billing - Revenue Integration feature enabled.
    - `unbilledReceivablesAccountingCodeId` string, nullable — The accounting code for unbilled receivables. **Note**: This field is only available if you have the Zuora Billing - Revenue Integration feature enabled.
    - `revRecCode` string, nullable — Associates this product rate plan charge with a specific revenue recognition code.
    - `uOM` string, nullable — Describes the Units of Measure (uom) configured in **Settings > Billing** for the productRatePlanCharges.
    - `drawdownUom` string — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://docs.zuora.com?resourceId=billing-prepaid-with-drawdown-overview) feature enabled. Unit of measurement for a [drawdown charge](https://docs.zuora.com?resourceId=billing-create-drawdown-charge).
    - `prepaidUom` string, nullable — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://docs.zuora.com?resourceId=billing-prepaid-with-drawdown-overview) feature enabled. Unit of measurement for a [prepayment charge](https://docs.zuora.com?resourceId=billing-create-prepayment-charge-with-rollover).
    - `productRatePlan` NestedProductRatePlanOnExpand
      - `id` string — The unique identifier of the product rate plan.
      - `createdById` string — The unique identifier of the user who created the product rate plan.
      - `createdDate` string, date-time — The date and time when the product rate plan was created.
      - `updatedById` string — The unique identifier of the user who last updated the product rate plan.
      - `updatedDate` string, date-time — The date and time when the product rate plan was last updated.
      - `productId` string — The unique identifier of the product to which this product rate plan belongs.
      - `name` string — The name of the product rate plan.
      - `description` string — A description of the product rate plan.
      - `effectiveStartDate` string, date — First date the rate plan is active (i.e., available to be subscribed to), as `yyyy-mm-dd`. Before this date, the status is `NotStarted`.
      - `effectiveEndDate` string, date — Final date the rate plan is active, as `yyyy-mm-dd`. After this date, the rate plan status is `Expired`.
      - `grade` integer — The grade of the product rate plan. **Note**: This field is in the **Early Adopter** phase. We are actively soliciting feedback from a small set of early adopters before releasing it as generally available. If you want to join this early adopter program, submit a request at [Zuora Global Support](http://support.zuora.com/).
      - `productRatePlanNumber` string — The natural key of the product rate plan.
      - `product` object — The product associated with the product rate plan.
      - `productRatePlanCharges` object[] — The product rate plan charges on the product rate plan.
    - `productRatePlanChargeTiers` NestedPrpcTierOnExpand[]
      - `id` string — The unique identifier of the product rate plan charge tier.
      - `createdById` string — The unique identifier of the user who created the product rate plan charge tier.
      - `createdDate` string, date-time — The time that the product rate plan charge tier gets created in the system, in the `YYYY-MM-DD HH:MM:SS` format.
      - `updatedById` string — The unique identifier of the user who last updated the product rate plan charge tier.
      - `updatedDate` string, date-time — The date and time when the product rate plan charge tier was last updated.
      - `active` boolean — Indicates whether the product rate plan charge tier is active.
      - `currency` string — The valid code corresponding to the currency for the tier's price.
      - `discountAmount` number, double — The specific amount for a fixed discount. This field is applicable for charges based on the Discount-Fixed Amount charge model.
      - `discountPercentage` number, double — The percentage of discount for a percentage discount. This field is applicable for charges based on the Discount-Percentage charge model.
      - `endingUnit` number — The end number of a range of units for the tier. This field is applicable for charges based on the Tiered Pricing or Tiered with Overage Pricing charge model.
      - `includedUnits` number — Specifies the number of units in the base set of units.
      - `overagePrice` number, double — Indicates whether the price is an overage price, which is the price when usage surpasses the last defined tier.
      - `price` number, double — 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.
      - `priceFormat` 'Flat Fee' | 'Per Unit' — Indicates if pricing is a flat fee or is per unit. This field is for tiered and volume pricing models only.
      - `startingUnit` number — The starting number of a range of units for the tier. This field is applicable for charges based on the Tiered Pricing or Tiered with Overage Pricing charge model.
      - `tier` integer — A unique number that identifies the tier that the price applies to.
      - `isDefault` boolean — Indicates whether the tier is the default tier. The default tier is the tier that is used when the usage does not fall into any of the defined tiers.
      - `productRatePlanChargeId` string — The unique identifier of the product rate plan charge that the tier belongs to.
      - `productChargeDefinitionId` string — The unique identifier of the product rate plan charge definition that the tier belongs to.
      - `productRatePlanCharge` object — The product rate plan charge that contains this product rate plan charge tier.

## Other responses

- `500` — Internal server error
- `4XX` — Invalid input

---

[API](https://skmtc.dev/zuora/apis/api-reference.md) · [All operations](https://skmtc.dev/zuora/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/zuora/api-reference/revisions/d11e237f3e54/schema)
