Bill Run

Post a bill run

Posts a bill run asynchronously. To post a bill run, the current bill run must be in Completed status.

When a bill run is being posted, its status is changed to PostInProgress. After all invoices for this bill run are posted, its status is changed to Posted.

put/v1/bill-runs/{billRunId}/post

Path parameters

billRunIdstring required

The unique ID of a bill run.

Headers

Accept-Encodingstring

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-Encodingstring

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.

Zuora-Track-Idstring

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-Idsstring

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 should not set this header.

Zuora-Org-Idsstring

Comma separated IDs. If you have <a href="https://docs.zuora.com/en/zuora-platform/organization-and-entity-management/multi-org/overview-of-multi-org" target="_blank">Zuora Multi-Org</a> enabled, you can use this header to specify which orgs to perform the operation in. If you do not have Zuora Multi-Org enabled, you should not set this header.

The IDs must be a sub-set of the user's accessible orgs. If you specify an org that the user does not have access to, the operation fails. This header is important in Multi-Org (MO) setups because it defines the organization context under which the API should operate—mainly used for read access or data visibility filtering. If the header is not set, the operation is performed in scope of the user's accessible orgs.

Zuora-Versionstring

The minor API version.

For a list of available minor versions, see API upgrades.

Request body

invoiceDatestring date required

The date that appears on the invoice being created, in yyyy-mm-dd format.

The value cannot fall in a closed accounting period.

Example request

{
  "invoiceDate": "2022-01-01"
}

Response

OK

autoEmailboolean

Whether to automatically send emails after Auto-Post is complete.

autoPostboolean

Whether to automatically post the bill run after the bill run is created.

autoRenewalboolean

Whether to automatically renew auto-renew subscriptions that are up for renewal.

batchesstring[]

The batch of accounts for this bill run, this field can not exist with billRunFilters together.

Values: AllBatches or an array of Batchn where n is a number between 1 and 50, for example, Batch7.

billCycleDaystring

The day of the bill cycle, this field is only valid when batches is specified.

Values:

  • AllBillCycleDays or one of numbers 1 - 31 for an ad-hoc bill run
  • AllBillCycleDays, one of numbers 1 - 31, or AsRunDay for a scheduled bill run
billRunNumberstring

The number of the bill run.

chargeTypeToExcludestring[] nullable

The types of the charges to be excluded from the generation of billing documents.

createdByIdstring

The ID of the user who created the bill run.

createdDatestring

The date and time when the bill run was created.

includeSubscriptionsboolean

Indicates whether to bill subscriptions in the bill run.

includeOrderLineItemsboolean

Indicates whether to bill order line items in the bill run.

idstring

The unqie ID of the bill run.

invoiceDatestring date

The invoice date for this bill run, only valid for ad-hoc bill runs.

invoiceDateOffsetinteger nullable

The offset compared to bill run execution date, only valid for scheduled bill runs.

invoiceDateMonthOffsetinteger nullable

The month offset of invoice date for this bill run compared to bill run execution date.

Note: This field is only valid when the repeatType field is set to Monthly. When using the invoiceDateMonthOffset and invoiceDateDayOfMonth fields, do not use the invoiceDateOffset field, and vice versa.

invoiceDateDayOfMonthinteger nullable

The day of month of invoice date for this bill run. Specify a day of the month. If you specify 31, even though the month doesn't have 31, for example, February or April, the date recurs on the end day of each scheduled month.

Note: This field is only valid when the repeatType field is set to Monthly. When using the invoiceDateMonthOffset and invoiceDateDayOfMonth fields, do not use the invoiceDateOffset field, and vice versa.

namestring

The name of the bill run.

noEmailForZeroAmountInvoiceboolean

Whether to suppress emails for invoices with zero total amount generated in this bill run after the bill run is complete.

scheduledExecutionTimestring nullable

The scheduled execution time for a bill run.

status'Pending' | 'Processing' | 'Completed' | 'Error' | 'Canceled' | 'Posted' | 'PostInProgress' | 'CancelInProgress' | 'RemoveInProgress' | 'Paused'

The status of the bill run.

targetDatestring date

The target date for this bill run, only valid for ad-hoc bill runs.

targetDateOffsetinteger nullable

The offset compared to bill run execution date, only valid for scheduled bill runs.

targetDateMonthOffsetinteger nullable

The month offset of target date for this bill run compared to bill run execution date.

Note: This field is only valid when the repeatType field is set to Monthly. When using the targetDateMonthOffset and targetDateDayOfMonth fields, do not use the targetDateOffset field, and vice versa.

targetDateDayOfMonthinteger nullable

The day of month of target date for this bill run. Specify a day of the month. If you specify 31, even though the month doesn't have 31, for example, February or April, the date recurs on the end day of each scheduled month.

Note: This field is only valid when the repeatType field is set to Monthly. When using the targetDateMonthOffset and targetDateDayOfMonth fields, do not use the targetDateOffset field, and vice versa.

updatedByIdstring

The ID of the user who last updated the bill run.

updatedDatestring

The date and time when the bill run was last updated.

Example response

{
  "id": "8a90ff929bb9d7c0019bbc7d34ec2c5f",
  "autoEmail": false,
  "autoPost": false,
  "autoRenewal": false,
  "billCycleDay": "AllBillCycleDays",
  "billRunNumber": "BR-00007954",
  "name": "Bill subscriptions matched the dynamic invoice date 2025-06-01",
  "invoiceDate": "2025-06-01",
  "noEmailForZeroAmountInvoice": false,
  "status": "Pending",
  "targetDate": "2025-06-01",
  "targetDateOffset": null,
  "invoiceDateOffset": null,
  "scheduledExecutionTime": null,
  "createdById": "e1187a1f28c8487ca6b40c40ffb10853",
  "createdDate": "2026-01-14 04:31:20",
  "updatedById": "e1187a1f28c8487ca6b40c40ffb10853",
  "updatedDate": "2026-01-14 04:31:20",
  "batches": [
    "AllBatches"
  ],
  "chargeTypeToExclude": null,
  "billRunFilters": [
    {
      "filterType": "FilterCondition",
      "accountId": null,
      "subscriptionId": null,
      "invoiceScheduleId": null,
      "invoiceScheduleItemId": null,
      "objectType": "Subscription",
      "condition": {
        "field": null,
        "operator": null,
        "value": null,
        "conditions": [
          {
            "field": "billRunEffectiveDate__c",
            "operator": "lte",
            "value": "{{InvoiceDate}}",
            "conditions": [],
            "relation": null
          }
        ],
        "relation": "and"
      }
    }
  ],
  "schedule": null,
  "invoiceDateMonthOffset": null,
  "invoiceDateDayOfMonth": null,
  "targetDateMonthOffset": null,
  "targetDateDayOfMonth": null,
  "includeSubscriptions": true,
  "includeOrderLineItems": true,
  "success": true
}

Changes