Skip to content

Apply variable consideration to a line

Request

Purpose

Applies variable consideration (for example a rebate, discount, or penalty) of a given type to a revenue contract line, as an amount or a percentage. This creates a line price adjustment that changes the transaction price and flows into allocation and revenue.

When to use

  • Record an estimated (E), actual (A), or set (S) variable consideration that is not in the source data.
  • Send dryRun: true first to preview the effect without saving.
  • Find valid vcTypeId values with GET /revenue-management/contracts/{rcId}/vc-types.
Security
bearerAuth
Path
rcIdinteger, (int64)required

Revenue contract ID.

Example:111442
Headers
X-REV-BOOK-IDinteger, (int64)

Revenue book to work in. Defaults to 1 (the primary book). Ignored by the revenue hold definition endpoints, because hold definitions are shared across books.

Default:1
Example:1
Zuora-Request-Idstring, <= 64 characters

Optional correlation ID, echoed in the traceId response header.

Example:b8f1c2d4-6e1a-4c7b-9d2e-0f3a5b7c9e11
Bodyapplication/jsonrequired
rcLineIdinteger, (int64)required

Revenue contract line to adjust.

vcTypeIdinteger, (int64)required

Variable consideration type. List valid values with GET /revenue-management/contracts/{rcId}/vc-types.

applyValuenumber, (double)required

Amount or percentage to apply, depending on applyType.

applyTypestringrequired

Whether applyValue is an amount or a percentage. Case-sensitive. Ignored (treated as AMOUNT) when vcRuleType is S, but still required.

Enum:"AMOUNT""PERCENT"
vcRuleTypestringrequired

Variable consideration rule type: E estimate, A actuals, S set. Case-sensitive.

Enum:"E""A""S"
applyOnstring

Line amount or quantity field the variable consideration is based on.

Default:""
commentsstring

Comment recorded in the audit history.

Default:""
calcMethodstring

Calculation method, for financing-type variable consideration.

Default:""
intFreqstring

Interest frequency, for financing-type variable consideration.

Default:""
intRatestring

Interest rate, for financing-type variable consideration.

Default:""
startDatestring

Start date (yyyy-MM-dd).

Default:""
endDatestring

End date (yyyy-MM-dd).

Default:""
dryRunboolean

true returns a preview in previewData without saving the adjustment.

Default:false
objectVersioninteger, (int32)

Current version of the revenue contract, used for optimistic locking. Omit it to use the contract's current version. If you send a version that is no longer current, the revenue engine rejects the action.

Example:5
{ "rcLineId": 85922, "vcTypeId": 1, "applyValue": 1000, "applyType": "AMOUNT", "vcRuleType": "E", "comments": "Q1 rebate estimate" }

Responses

Processed. success: true means the action completed; success: false means a business rule rejected it and message explains why.

Headers
traceIdstring

Correlation ID of the request. Quote it when you contact Zuora Global Support.

Bodyapplication/json
successbooleanrequired

true when the action completed. false when the revenue engine rejected it under a business rule; see message.

processIdstringrequired

Unique ID generated for this request. Quote it when you contact Zuora Global Support.

messagestring

Result message from the revenue engine. May be empty on success.

changeIdsstring

Comma-separated IDs of records changed by the action, when the action reports them. Omitted otherwise.

rcLineAdjustmentRecordsArray of objects(RcLineAdjustmentRecord)

Price adjustments created. Omitted when none were created (for example on a dry run).

previewDatastring

Preview of the adjustment returned on a dry run. Omitted when the engine returns none.

Response
{ "success": true, "processId": "3f1c2a7e-9b4d-4c1e-8a55-2d6f0e9b1c11", "message": "Variable consideration applied successfully", "rcLineAdjustmentRecords": [ { … } ] }