# Distribute revenue across accounting periods Distributes revenue by specifying the revenue schedule number. Request and response field descriptions and sample code are provided. Endpoint: PUT /v1/revenue-schedules/{rs-number}/distribute-revenue-across-accounting-periods Version: 2025-12-17 ## 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-Track-Id` (string) 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 ('). - `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. ## Path parameters: - `rs-number` (string, required) Revenue schedule number. The revenue schedule number is always prefixed with "RS", for example, "RS-00000001". ## Request fields (application/json): - `eventType` (string) Label of the revenue event type. Revenue event type labels can be duplicated. You can configure your revenue event type labels by navigating to Settings > Finance > Configure Revenue Event Types in the Zuora UI. Note that Credit Memo Posted and Debit Memo Posted are only available if you enable the Invoice Settlement feature. Enum: "Invoice Posted", "Invoice Item Adjustment Created", "Invoice Canceled", "Invoice Item Adjustment Canceled", "Revenue Distributed", "Credit Memo Posted", "Debit Memo Posted" - `eventTypeSystemId` (string) System ID of the revenue event type. Each eventType has a unique system ID. You can configure your revenue event type system IDs by navigating to Settings > Finance > Configure Revenue Event Types in the Zuora UI. Cannot be duplicated. Example: "RevenueDistributed__z" - `notes` (string) Additional information about this record. Example: "Manually distribute revenue for Phase 1" - `revenueDistributions` (array) An array of revenue distributions. Represents how you want to distribute revenue for this revenue schedule. You can distribute revenue into a maximum of 250 accounting periods with one revenue schedule. Example: [{"accountingPeriodName":"Jan'2013","newAmount":"500"},{"accountingPeriodName":"Feb'2013","newAmount":"600"}] - `revenueDistributions.accountingPeriodName` (string, required) Name of the accounting period. The open-ended accounting period is named Open-Ended. The accounting period must be open. - `revenueDistributions.newAmount` (string, required) Amount of revenue you want to distribute into the accounting period. The value must be formatted based on the currency, for example, JPY 30 or USD 30.15. If the value is formatted incorrectly, the following error message is returned: Allocation amount with wrong decimal places. ## Response 200 fields (application/json): - `revenueEventNumber` (string) The revenue event number created when a revenue event occurs. - `success` (boolean) Returns true if the request was processed successfully.