Skip to content

Defer cost on a contract line

Request

Purpose

Defers a cost (for example a commission or fulfillment cost) on a revenue contract line so it is amortized under the cost rule dates instead of being expensed.

When to use

  • A capitalized contract cost must be amortized over a specific window.
  • Set ruleStartDate and ruleEndDate to the amortization window.

Behavior notes

Errors from the revenue engine for this operation are returned as HTTP 200 with success: false and the generic message shown in the examples, not as 4xx/5xx responses.

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
lineIdinteger, (int64)required

Revenue contract line that carries the cost.

costTypeIdinteger, (int64)required

Cost type ID configured in your tenant (for example commissions).

commentsstring, non-emptyrequired

Reason for the action, recorded in the audit history.

releaseAmountnumber, (double)

Amount of cost to release.

releasePercentagenumber, (double)

Percentage of cost to release.

releaseQuantityinteger, (int32)

Quantity of cost to release.

ruleStartDatestring

Start date of the cost amortization rule (yyyy-MM-dd).

Default:""
ruleEndDatestring

End date of the cost amortization rule (yyyy-MM-dd).

Default:""
objectVersioninteger, (int64)

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
{ "lineId": 85922, "costTypeId": 10000, "comments": "Deferring commission", "ruleStartDate": "2026-01-01", "ruleEndDate": "2026-12-31" }

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.

Response
{ "success": true, "processId": "3f1c2a7e-9b4d-4c1e-8a55-2d6f0e9b1c11", "message": "Cost deferred successfully" }