CRUD: Update a rate plan charge

Request
path Parameters
id
required
string

Object id

query Parameters
rejectUnknownFields
boolean
Default: false

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:

{
    "message": "Error - unrecognised fields"
}

By default, Zuora ignores unknown fields in the request body.

header Parameters
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.

Authorization
string

The value is in the Bearer {token} format where {token} is a valid OAuth token generated by calling Create an OAuth token.

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 do not need to set this header.

Zuora-Track-Id
string <= 64 characters

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 (').

Request Body schema: application/json
required
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. Character limit: Values: one of the following:

  • In Advance
  • In Arrears Note: You can override the value inherited from the Product Rate Plan Charge when a subscription has a recurring charge type.
DiscountAmount
number <decimal>

Specifies the amount of a fixed-amount discount. You can provide a value for this field if the ChargeModel field value is Discount-Fixed Amount. Character limit: 16 Values: A valid currency amount

DiscountPercentage
number <decimal>

The percentage of discount for a percentage discount. Use this field if the value for ProductRatePlanCharge.ChargeModel is Discount-Percentage and you want to override the value in ProductRatePlanChargeTier.DiscountPercentage. Character limit: 16 Values: a decimal value between -100 and 100, exclusive

EndDateCondition
string

Defines when the charge ends after the charge trigger date. This field can be updated when Status is Draft. Values: one of the following:

  • SubscriptionEnd: The charge ends on the subscription end date after the charge trigger date. 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.
  • SpecificEndDate: The specific date on which the charge ends. If you set this field to SpecificEndDate, you must specify the specific date by defining the SpecificEndDate field.

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.

ListPriceBase
string

The list price base for the product rate plan charge.

Enum: "Per Month" "Per Billing Period" "Per Week" "Per Year" "Per Specific Months"
PriceChangeOption
string

Applies an automatic price change when a termed subscription is renewed. Character limit: Values: one of the following:

  • NoChange (default)
  • SpecificPercentageValue
  • UseLatestProductCatalogPricing
PriceIncreasePercentage
number <double>

Specifies the percentage to increase or decrease the price of renewed subscriptions. Character limit: 16 Values: a decimal value between -100 and 100

RatingGroup
string

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

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

See Usage Rating by Group for more information.

Enum: "ByBillingPeriod" "ByUsageStartDate" "ByUsageRecord" "ByUsageUpload" "ByGroupId"
RevRecCode
string

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

Character limit: 70

Values: inherited from ProductRatePlanCharge.RevRecCode or a valid revenue recognition code

Note: Unless overridden, this value changes if ProductRatePlanCharge.RevRecCode is updated. The values of UpdatedById and UpdatedDate for the RatePlanCharge do not change when ProductRatePlanCharge.RevRecCode is updated.

RevRecTriggerCondition
string

Specifies when revenue recognition begins.

Character limit: 22

Values: inherited from ProductRatePlanCharge.RevRecTriggerCondition or one of the following:

  • ContractEffectiveDate

  • ServiceActivationDate

  • CustomerAcceptanceDate

Note: Unless overridden, this value changes if ProductRatePlanCharge.RevRecTriggerCondition is updated. The values of UpdatedById and UpdatedDate for the RatePlanCharge do not change when ProductRatePlanCharge.RevRecTriggerCondition is updated.

RevenueRecognitionRuleName
string

Specifies the Revenue Recognition Rule that you want the Rate Plan Charge to use. This field can be updated when Status is Draft. By default, the Revenue Recognition Rule is inherited from the Product Rate Plan Charge. For Amend calls, you can use this field only for NewProduct amendments. For Update calls, you can use this field only to update subscriptions in draft status. Note that if you use this field to specify a Revenue Recognition Rule for the Rate Plan Charge, the rule will remain as specified even if you later change the rule used by the corresponding Product Rate Plan Charge.

Character limit: n/a

Values: inherited from ProductRatePlanCharge.RevenueRecognitionRuleName or the name of an active Revenue Recognition Rule

Note: Unless overridden, this value changes if ProductRatePlanCharge.RevenueRecognitionRuleName is updated. The values of UpdatedById and UpdatedDate for the RatePlanCharge do not change when ProductRatePlanCharge.RevenueRecognitionRuleName is updated.

SpecificEndDate
string <date>

The specific date on which the charge ends, in yyyy-mm-dd format. Character limit: 29 Note:

  • This field is only applicable when the EndDateCondition field is set to SpecificEndDate.
  • If the subscription ends before the specific 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 specific end date.
SpecificListPriceBase
integer <int32> [ 1 .. 200 ]

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. Note: - This field is available only if you have the Annual List Price feature enabled. - The value of this field is null if you do not set the value of the ListPriceBase field to Per Specific Months.

TriggerDate
string <date>

The date when the charge becomes effective and billing begins, in yyyy-mm-dd format. This field is required if the TriggerEvent field value is SpecificDate. Character limit: 29

TriggerEvent
string

Specifies when to start billing the customer for the charge.

Note: This field can be passed through the Subscribe and Amend calls and will override the default value set on the Product Rate Plan Charge.

Note: When the Update rate plan charge trigger condition? setting is set to Yes, this field can be passed through the update() call and override the previous value. You can use this feature to directly update the trigger condition of a rate plan charge without creating an order action (or amendment). 

Character limit: 18 Values: inherited from ProductRatePlanCharge.TriggerEvent and can be one of the following values:

  • ContractEffective is the date when the subscription's contract goes into effect and the charge is ready to be billed.

  • ServiceActivation is 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 valid only on the RatePlanCharge. When this value is specified, use the TriggerDate field to set the specific date.

UpToPeriods
any

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.

This field can be updated when Status is Draft.

Character limit: 5

Values: inherited from ProductRatePlanCharge.UpToPeriods

Note:

  • You must use this field together with the UpToPeriodsType field to specify the time period. This field is only applicable only when the EndDateCondition field is set to FixedPeriod.
  • You can override the value inherited from the Product Rate Plan Charge, but only when creating a new subscription or a New Product amendment.
  • Use this field to override the value in ProductRatePlanCharge.UpToPeriod.
  • If you override the value in this field, enter a whole number between 0 and 65535, exclusive.
  • 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

The period type used to define when the charge ends. This field can be updated when Status is Draft. 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 only applicable only when the EndDateCondition field is set to FixedPeriod.

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.

Values: one of the following:

  • Sunday
  • Monday
  • Tuesday
  • Wednesday
  • Thursday
  • Friday
  • Saturday
property name*
additional property
any

Custom fields of the Rate Plan Charge object. The name of each custom field has the form customField__c. Custom field names are case sensitive. See Manage Custom Fields for more information.

Responses
200
401
put/v1/object/rate-plan-charge/{id}
Request samples
application/json
{
  • "PriceIncreasePercentage": 10
}
Response samples
application/json
{
  • "Success": true,
  • "Id": "2c92c0f86a79e2e4016a8bad616b257c"
}