RatePlanCharge
A rate plan charge is part of a subscription or an amendment to a subscription, and it comes from a product rate plan charge. Like a product and its product rate plan charges, a subscription can have one or more rate plan charges.
Rate plan charges are sometimes called subscription rate plan charges to distinguish them from product rate plan charges. Rate plan charges that are part of an amendment are sometimes called amendment rate plan charges for the same reason. The object name is RatePlanCharge – not SubscriptionRatePlanCharge nor AmendmentRatePlanCharge.
Rate plan charges represent the actual charges for the rate plans or services that you sell.
Updating default values on a Product Rate Plan Charge
Use the RatePlanCharge object to define the charges in a RatePlan. Upon creation, it inherits values from the corresponding ProductRatePlanCharge. You can alter some of the field values on an individual subscription or amendment basis using the RatePlanCharge object. To update it, first query it, then update the relevant fields and use it in a RatePlanChargeData array in a subscribe() call. See Subscribe() and RatePlanChargeData for more information.
Type of rate plan charges
Rate plan charges have the same types as their counterparts in product: one-time fees, recurring fees, and usage fees.
A one-time fee is a charge that your customer pays only once. One-time fees don't recur. Upfront setup fees and activation fees are examples of a one-time fee.
A recurring fee is a fee that repeats on a regular basis. You can set the schedule to be monthly, quarterly, semi-annually, or annually. Once the charge is triggered, the customer is automatically charged on the appropriate dates in the future. Monthly charges for satellite TV and yearly charges for authoring licenses on a hosted wiki are examples of a recurring fee. See Triggering Conditions for more information.
A usage fee is a fee based on the quantity of units, such as media storage, that customers use during a given billing period. Usage charges are billed in arrears based on a customer's actual usage. Per-minute charges for phone calls and GB of media storage are examples of usage fees.
Segmented rate plan charges (charge segments)
Zuora returns segmented rate plan charges, which are referred to as rate plan charge segments or charge segments. Every time an amendment (or an order action) changes a charge (except the Remove Product amendment), Zuora creates a new segmented RatePlanCharge object. Segmentation help you to use the fields, Segment
, EffectiveEndDate
, EffectiveStartDate
, andisLastSegment
, to determine the following:
- The current price and quantity of a charge:
EffectiveStartDate
<= Today <EffectiveEndDate
or
isLastSegment=
true
(As this filter condition always returns the last charge segment, if a subscription has any future dated changes, the future dated charge segment will be returned rather than the current charge segment. In this scenario, use the filter condition above.) - The previous details of a charge, such as its price and quantity:
EffectiveStartDate
< Today - Pending charges:
EffectiveStartDate
> Today - The entire history of a charge:
Order the RatePlanCharge object by segments, starting with theSegment
field with the value,1
.
Segmented rate plan charges are supported as of WSDL version 20.0+.
Supported Calls
You can use this object with the following calls:
Walkthroughs and Use Cases
Here are some common ways to use this object:
- Apply multiple discount charges
- Override settings in the ProductRatePlanCharge object
- Review the history of a charge
Field Descriptions
All field names are case sensitive. Check enumerated values in descriptions to confirm capitalization and spacing. See Field Types for additional information.
See API Basics for information on usage.
Name | Required? | Allowed Operation | Description |
---|---|---|---|
AccountingCode | optional |
Query |
The accounting code for the charge. Accounting codes group transactions that contain similar accounting attributes.
Type: string Note: This value changes if ProductRatePlanCharge.AccountingCode is updated. The values of UpdatedById and UpdatedDate for the RatePlanCharge do not change when ProductRatePlanCharge.AccountingCode is updated. |
amendedByOrderOn | n/a | Query Filter |
The date when the rate plan charge is amended through an order or amendment. This field is to standardize the booking date information to increase audit ability and traceability of data between Zuora Billing and Zuora Revenue. It is mapped as the booking date for a sale order line in Zuora Revenue. Type: string |
ApplyDiscountTo | optional |
Query |
Specifies the type of charges a specific discount applies to. Type: string (enum) |
BillCycleDay | optional |
Subscribe |
Indicates the charge's billing cycle day (BCD), which is when bill runs generate invoices for charges associated with the product rate plan charge or the account. Type: int |
BillCycleType | optional |
Subscribe |
Specifies how to determine the billing day for the charge. Type: string (enum) Note: You can override the value inherited from the Product Rate Plan Charge, but only when creating a new subscription or a New Product amendment. |
BillingPeriod | optional |
Subscribe |
Allows billing period to be overridden on rate plan charge. Type: string () Note: You can override the value inherited from the Product Rate Plan Charge, but only when creating a new subscription or a New Product amendment. |
BillingPeriodAlignment | optional |
Subscribe |
Aligns charges within the same subscription if multiple charges begin on different dates. Type: string (enum) Note: |
BillingTiming | optional |
Create |
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)
Note: You can override the value inherited from the Product Rate Plan Charge when a subscription has a recurring charge type. |
ChargedThroughDate | optional | Query Filter |
The date through which a customer has been billed for the charge. Type:
Character limit: 29 Note: The value of UpdatedDate for the RatePlanCharge does not change when ChargedThroughDate is updated. |
ChargeModel | optional | Query Filter |
Determines how to evaluate charges. Charge models must be individually activated in the web-based UI. Type: string (enum) |
ChargeNumber | optional |
Create |
A unique number that identifies the charge. This number is returned as a string. Type: sequence/string
|
ChargeType | optional |
Query |
Specifies the type of charge. Type: string (enum) |
CreatedById | optional |
Query |
The ID of the Zuora user who created the RatePlanCharge object.
Type: zns:ID |
CreatedDate | optional |
Query |
The date when the Type: dateTime |
Description | optional |
Subscribe |
A description of the charge. Type: string |
DiscountAmount | optional |
Subscribe |
Specifies the amount of a fixed-amount discount. You can provide a value for this field if the If this field is included in a query, the query will filter out the rate plans whose You cannot query this field with the following fields in a single query:
Type: decimal (currency) |
DiscountClass |
optional |
Query |
The class that the discount belongs to. The discount class defines the order in which discount rate plan charges are applied. For the order in which discount charges apply to the same product rate plan charge, see Processing Discount Charges. Type: string Character limit: 50 |
DiscountLevel | optional |
Query |
Specifies if the discount applies to just the product rate plan, the entire subscription, or to any activity in the account.
Type: string (enum) |
DiscountPercentage | optional |
Subscribe |
The percentage of discount for a percentage discount. Use this field if the value for You cannot query this field with the following fields in a single query:
Type: decimal |
DMRC | optional |
Query |
A delta monthly recurring charge is the change in monthly recurring revenue caused by an amendment or a new subscription. This is the value at the charge segment level.
Type: decimal |
DTCV | optional |
Query |
After an Amendment, the change in the total contract value (TCV) amount for this charge segment, compared with its previous value. Type: decimal |
EffectiveEndDate | optional |
Query |
The date when the segmented charge ends or ended. Type:
Character limit: 16 |
EffectiveStartDate | optional |
Query |
The date when the segmented charge starts or started. Type:
Character limit: 16 |
EndDateCondition |
optional |
Subscribe |
Defines when the charge ends after the charge trigger date. This field can be updated when Status is Type: string (enum)
Note: |
ExcludeItemBookingFromRevenueAccounting | optional |
Subscribe |
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 the Order to Revenue or Billing - Revenue Integration feature. You can set this field for a rate plan charge when creating a new subscription or adding a new product to an existing subscription. You can access this field for a rate plan charge through the Zuora UI, API, and Rate Plan Charge data source. However, you can not update this field for a rate plan charge in the subscription. Type: boolean |
ExcludeItemBillingFromRevenueAccounting | optional | Subscribe Create Amend Query |
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 the Order to Revenue or Billing - Revenue Integration feature. You can set this field for a rate plan charge when creating a new subscription or adding a new product to an existing subscription. You can access this field for a rate plan charge through the Zuora UI, API, and Rate Plan Charge data source. However, you can not update this field for a rate plan charge in the subscription. Type: boolean |
Id | optional | Query Filter |
The ID of this object. Upon creation, the ID of this object is Type: zns:ID |
InvoiceOwnerId | required | Query |
The invoice owner ID of the subscription that the rate plan belongs to. Type: zns:ID |
IncludedUnits | optional |
Create* |
Specifies the number of units in the base set of units. This field can only be created for overage charge models. You cannot query this field with the following fields in a single query:
Type: decimal |
IsAllocationEligible | optional | Create Query Update |
This field is used to identify if the charge segment is allocation eligible in revenue recognition.
Type: boolean 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. |
IsLastSegment | optional |
Query |
Indicates if the segment of the rate plan charge is the most recent segment.
Type: boolean |
IsUnbilled | optional | Create Query Update |
This field is used to dictate how to perform the accounting during revenue recognition.
Type: boolean 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. |
ListPriceBase | optional |
Subscribe |
The list price base for the product rate plan charge. You can only update the value of this field if the amendment type is NewProduct. Type: string (enum)
|
MRR | optional |
Query |
Monthly recurring revenue (MRR) is the amount of recurring charges in a given month. The MRR calculation doesn't include one-time charges nor usage charges. This field returns MRR of a particular charge segment.
Type: decimal |
Name | optional |
Query |
The name of the rate plan charge.
Type: string |
NumberOfPeriods | optional |
Query |
Specifies the number of periods to use when calculating charges in an overage smoothing charge model.
Type: long |
OriginalChargeId |
n/a |
n/a |
Deprecated. Use |
OriginalId | optional |
Query |
The original ID of the rate plan charge.
Type: zns:ID |
originalOrderDate | n/a | Query Filter |
The date when the rate plan charge is created through an order or amendment. This field is to standardize the booking date information to increase audit ability and traceability of data between Zuora Billing and Zuora Revenue. It is mapped as the booking date for a sale order line in Zuora Revenue. Type: string |
OverageCalculationOption | optional |
Query |
Determines when to calculate overage charges. If the value of the SmoothingMode field is null (not specified and not inherited from ProductRatePlanCharge.SmoothingMode), the value of this field is ignored.
Type: string (enum) |
OveragePrice | optional |
Query |
The price for units over the allowed amount. You cannot query this field with the following fields in a single query:
Type: decimal (currency) |
OverageUnusedUnitsCreditOption | optional |
Query |
Determines whether to credit the customer with unused units of usage. Type: string (enum) |
Price | optional |
Create |
The price for units in the subscription rate plan. Use this field with a You cannot query this field with the following fields in a single query:
Type: decimal (currency) When querying the price of a rate plan charge or filtering by price, the response will include results from the following charge models:
|
PriceChangeOption | optional | Create Query Update Delete Filter |
Applies an automatic price change when a termed subscription is renewed. Type: string (enum)
|
PriceIncreasePercentage | optional | Create Query Update Delete Filter |
Specifies the percentage to increase or decrease the price of renewed subscriptions. Use this field if the Type: decimal |
ProcessedThroughDate | optional |
Query |
The date until when charges have been processed. When billing in arrears, such as usage, this field value is the the same as the Type:
Character limit: 29 Note: The value of UpdatedDate for the RatePlanCharge does not change when ProcessedThroughDate is updated. |
ProductCategory | optional | Create Query Update |
This is used to maintain the product category. Type: string Note: This field is only available if you have the Additional Revenue Fields property enabled. |
ProductClass | optional | Create Query Update |
This is used to maintain the product class. Type: string Note: This field is only available if you have the Additional Revenue Fields property enabled. |
ProductFamily | optional | Create Query Update |
This is used to maintain the product family. Type: string Note: This field is only available if you have the Additional Revenue Fields property enabled. |
ProductLine | optional | Create Query Update |
This is used to maintain the product line. Type: string Note: This field is only available if you have the Additional Revenue Fields property enabled. |
ProductRatePlanChargeId |
required |
Query |
The ID of the product rate plan charge associated with the subscription rate plan charge, Type: zns:ID |
Quantity | optional |
Subscribe |
The default quantity of units, such as the number of authors in a hosted wiki service. Valid for all charge models except for Flat Fee pricing. Type: decimal (quantity) |
RatePlanId |
required |
Query |
The ID of the rate plan associated with the rate plan charge. Type: zns:ID |
RatingGroup |
conditional |
Create |
Specifies a rating group based on which usage records are rated. See Usage Rating by Group for more information. Type: string (enum)
Note:
|
RevenueRecognitionRuleName |
optional |
Create |
Specifies the Revenue Recognition Rule that you want the Rate Plan Charge to use. This field can be updated when Status is By default, the Revenue Recognition Rule is inherited from the Product Rate Plan Charge. Unless overwritten, 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. However, after you use this field to overwrite 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. 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. See Manage Revenue Rules for more information. This field is only available to Z-Revenue users. You must have the Override Revenue Recognition Rule Z-Billing User Role permission enabled to use this field. Type: string |
RevRecCode |
optional |
Create |
Associates this product rate plan charge with a specific revenue recognition code. Type: string 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 | optional | Create Update |
Specifies when revenue recognition begins. Type: string (enum)
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. |
RolloverBalance | optional |
Query |
Specifies the number of units of measure (UOM) rolled over from previous periods. The value of this field is the rollover balance for the corresponding account. This field is applicable only to usage charges with overage models. Type: decimal
|
Segment | required |
Query |
The identifying number of the subscription rate plan segment. Segments are numbered sequentially, starting with 1. Type: int |
SpecificBillingPeriod | optional | Create Subscribe Query Filter |
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 Type: smallint Note: You can override the value inherited from the Product Rate Plan Charge, but only when creating a new subscription or a New Product amendment. |
SpecificEndDate |
optional |
Create |
The specific date on which the charge ends. Type: date
|
SubscriptionId | required | Query | The ID of the subscription that the rate plan charge belongs to.
Type: zns:ID |
SubscriptionOwnerId | required | Query |
The subscription owner ID of the subscription that the rate plan belongs to. Type: zns:ID |
TCV | optional |
Query |
The total contract value (TCV) is the value of a single rate plan charge at the segment level in a subscription over the lifetime of the subscription. This value does not represent all charges on the subscription. The TCV includes recurring charges and one-time charges, but it doesn't include usage charge. Type: decimal |
TriggerDate | optional |
Create |
The date when the charge becomes effective, and billing begins. This field is required if the Type:
Character limit: 29 |
TriggerEvent | required |
Create |
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. Type: string (enum)
|
UnusedUnitsCreditRates |
optional |
Query |
Specifies the rate to credit a customer for unused units of usage. This field is applicable only for overage charge models when the Type: decimal |
UOM | optional |
Query |
Specifies the units to measure usage. Units of measure are configured in the web-based UI: Z-Billing > Settings. Type: string |
UpdatedById | optional |
Query |
The ID of the last user to update the object.
Type: zns:ID |
UpdatedDate | optional |
Query |
The date when the object was last updated. The default behavior is that when Charged Through Date, Processed Through Date, or Is Processed is updated, the value of Updated Date for the Rate Plan Charge does not change. If you want the Updated Date field to change when Charged Through Date, Processed Through Date, or Is Processed is updated, submit a request at Zuora Global Support. Type: dateTime |
UpToPeriods |
optional |
Create |
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 Type: long Note:
|
UpToPeriodsType |
optional |
Create |
The period type used to define when the charge ends. This field can be updated when Status is Type: string (enum)
Note:
|
UsageRecordRatingOption | optional | Query |
Determines how Zuora processes usage records for per-unit usage charges. Type: string (enum) |
UseDiscountSpecificAccountingCode | optional | Query Filter |
Determines whether to define a new accounting code for the new discount charge. Type: boolean |
Version | optional |
Query |
The version of the rate plan charge. Each time a charge is amended, Zuora creates a new version of the rate plan charge. Type: long |
WeeklyBillCycleDay |
optional | Create Update Query |
Specifies which day of the week as the bill cycle day (BCD) for the charge. Type: string (enum)
|
cf_txtn__c | optional |
Create |
One or more custom fields. |
cf_pkn__c | optional | Create Subscribe Amend Update Query |
One or more custom fields. |
Additional Field Detail
ApplyDiscountTo
Specifies the type of charges a specific discount applies to. This field inherits its value from ProductRatePlanCharge.ApplyDiscountTo
, and can be one of the following values:
RECURRING
USAGE
ONETIME
ONETIMERECURRING
ONETIMEUSAGE
RECURRINGUSAGE
ONETIMERECURRINGUSAGE
All field values are case sensitive: note that these values are in all-caps.
BillCycleDay
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.
Use this field in the RatePlanCharge
object only if you want to override the settings in the product's ProductRatePlanCharge
object.
Use this field for recurring charges and usage charges. Omit this field for one-time charges.
Set this field value to whole number, 1 - 31. Set the value to 31 if you want to bill this charge at the end of the month, including months with fewer than 31 days. The number, 0, isn't a valid value for this object; 0 represents the auto-set trigger, which applies to Account
objects, not ProductRatePlanCharge
objects.
BillCycleType
Specifies how to determine the billing day for the charge.
Use this field in the RatePlanCharge
object only if you want to override the settings in the product's ProductRatePlanCharge
object.
Use one of the following values:
DefaultFromCustomer
sets the bill cycle day (BCD) according to theBillCycleDay
field value in relatedAccount
objects.SpecificDayofMonth
sets the BCD to a specific day of every month on a recurring basis. If you use this value, then you need to specify a BCD value for theBillCycleDay
field in this object.SubscriptionStartDay
sets the BCD to the day that the subscription starts, which equates to one of the following dates. The date depends on which one you assigned to trigger the start of subscription charges in theSubscription
object.- Contract effective date: the date that the contract for this subscription takes effect.
- Service activation date: the date that services or products for this subscription are delivered or rendered.
- Customer acceptance date: the date that the customer accepts the services or products for this subscription.
ChargeTriggerDay
sets the BCD to the day that charges for this product rate plan are triggered to start.SpecificDayofWeek
sets the BCD to a specific day of every week on a recurring basis. If you use this value, then you need to specify a BCD value for theWeeklyBillCycleDay
field in this object.
BillingPeriod
The billing period for the charge.
By default, this value is inherited from the product rate plan charge, but you have the option to override the value for recurring and usage charges when creating a new subscription or performing a New Product amendment. Omit this field for one-time charges.
If the value is set to Specific Months
or Specific Weeks
then you must also set a value for the SpecificBillingPeriod
field. The Specific Months
or Specific Weeks
value lets you specify a month or a week in the SpecificBillingPeriod
field to customize the billing period for the charge.
BillingPeriodAlignment
Aligns charges within the same subscription if multiple charges begin on different dates.
This field anchors quarterly, semi-annual, or annual charges. When this value is the same for charges, then charges are added to the same subscription on different dates have aligned billing periods.
A typical use case for this object is to use the subscribe() call and default to the inherited value in ProductRatePlanCharge.BillingPeriodAlignment
, then change the field value when you use an amend()
call and Amendment
object to add a new product.
Use one of the following values:
AlignToCharge
starts the biling period on the first bill cycle day (BCD) on or after the charge trigger date. Charges bill on their own schedules and don't align with each other within the subscription. This value is the default value.AlignToSubscriptionStart
aligns all billing period to the first BCD on or after the subscription start date. Charges are aligned as soon as they're triggered.AlignToTermStart
aligns all billing periods to the first BCD on or after the current term start date. Charges are billed on their own schedules until the subscription reaches the end of its term and renews. The billing period for charges aligns when the subscription renews.
ChargeModel
Determines how to calculate charges. Charge models must be individually activated in Z-Billing administration.
Use one of the following values if they're active on your tenant:
Discount-Fixed Amount
is a fixed amount discount charge model, such as a one-time, $100 discount if the customer signs up for a subscription in January.Discount-Percentage
is a percentage discount charge model, such as a 15% discount on all subscription charges for the initial six months of service.Flat Fee Pricing
is a single price or fixed amount.Per Unit Pricing
charges per unit.Overage Pricing
charges a per-unit price on units in excess of included units in the base charge. Use this charge model only for usage-based charges.Tiered Pricing
changes pricing progressively as volume increases. A price table calculates pricing based on tiers that each define a range of volume and the corresponding pricing rule to apply when customers purchase a quantity of units that falls within the range of the tier.
You can't create multiple discounts in a single product rate plan.
You can't update the chage model on a product rate plan charge if it's part of an existing subscription.
ChargeType
Specifies the type of charge:
OneTime
is a charge that happens once during the subscription, such as an activation or initiation fee.Recurring
is a charge that repeats during the subscription, such as monthly or annually.Usage
is a charge assessed on a customer's actual usage during a specific billing period of a subscription. Usage is always billed in arrears because it's based on actual usage. For example, a customer's usage in January is billed in February in a monthly billing period plan.
ChargedThroughDate
The date until when a customer was billed for the charge. Use this field value when you amend a subscription to determine an EffectiveDate
field value or SuspendDate
field value to set the amendment to a date that doesn't require proration, such as when the amendment cancels a subscription or suspending a subscription.
DiscountLevel
Specifies if the discount applies to just the product rate plan, the entire subscription, or to any activity in the account. This field is required in the associated ProductRatePlanCharge
object if the ChargeModel
field value is DiscountFixedAmount
or DiscountPercentage
.
You can't create multiple discounts in a single rate plan. However, you can apply multiple discounts to an individual customer. Customers can have a discount of each discount level type.
For example, Sergio has a $1000 recurring subscriptioncharge. He has the following discounts to apply to that $1000 charge:
- A rate plan discount of 10%, which equals $100, and reduces his charge from $1000 to $900:
$1000 charge - 10% discount = $900 charge - A subscription discount of 20%, which equals $180, and reduces his charge from $900 to $720:
$900 charge - 20% discount = $720 charge - An account discount of 30%, which equals $216, and reduces his charge from $720 to $504:
$720 charge - 30% discount = $504 charge
Discount charge models don't support tax inclusive modes; don't use this field if the ProductRatePlanCharge.TaxMode
field value is set to TaxInclusive
.
Id
The ID of this object. Every object has a unique identifier that Zuora automatically assigns upon creation. You use this ID later when you work with the object. For example, if you send an amend()
call to modify an existing subscription, then you need to include the specific Subscription
object's ID with the call.
The ID for the RatePlanCharge
object is RatePlanChargeId
.
IncludedUnits
Specifies the number of usage units that are provided as part of the plan's upfront fees. Any usage that exceeds the value set in IncludedUnits
is recorded as overage. This field is for usage-based fees only.
NumberOfPeriods
Specifies the number of periods to use when calculating charges in an overage smoothing charge model, which is an advanced type of usage model that avoids spikes in usage charges. If a customer's usage spikes in a single period, an overage smoothing model eases overage charges by considering usage over multiple periods. The value that you provide in the NumberOfPeriod
field determines the number of these periods to consider.
OverageCalculationOption
Determines whether to calculate overage charges at the end of the smoothing period or at the individual billing periods. This field is for usage charges that use either an overage charge model or a tiered overage charge model.
OverageUnusedUnitsCreditOption
Determines whether to credit the customer with unused units of usage. Use this field for usage charges that use either an overage charge model or a tiered overage charge model.
Use NoCredit
to issue no credit to the customer for unused usage. Use CreditBySpecificRate
to issue credit to the customer for unused usage at a specified rate of units to credit.
Price
The price for units in the subscription rate plan. Use this field with a subscribe()
call to override the price in the associated subscription rate plan charge tiers.
Prices are always stored in subscription rate plan charge tiers even when the charge model isn't tiered pricing. You can query for Price
from a RatePlanCharge
object unless the charge model is volume or tiered pricing. If the charged model is volume or tiered pricing, then you need to query for Price
from the relevant RatePlanChargeTier
.
SpecificBillingPeriod
Specifies a custom number of months for the billing period of a particular charge.
If you override the BillingPeriod
when creating a new subscription or a New Product amendment, then this field is required if you set the value of the BillingPeriod
field to Specific Months
.
If you want to charge a customer annually, semi-annually, quarterly, or monthly, then you can simply specify that choice in the BillingPeriod
field, rather than using this SpecificBillingPeriod
field.
UsageRecordRatingOption
This field cannot be updated. The UsageRecordRatingOption
field on a charge is owned by the product catalog in the product rate plan charge. This value is not a property of the subscription rate plan charge. The subscription rate plan charge always points back to the original product rate plan charge for this data. The value for this field is EndOfBillingPeriod
or OnDemand
.
UseDiscountSpecificAccountingCode
Determines whether to define a new accounting code for the new discount charge.
Set the value to True
to define a dedicated accounting code for the discount charge. Set the value to False
to copy the accounting code from the regular charge that the discount applies to.