CRUD: Update an invoice

Request
path Parameters
id
required
string

Object id

query Parameters
rejectUnknownFields
boolean
Default: false

Specifies whether the call fails if the request body contains unknown fields. With rejectUnknownFields set to true, Zuora returns a 400 response if the request body contains unknown fields. The body of the 400 response is:

{
    "message": "Error - unrecognised fields"
}

By default, Zuora ignores unknown fields in the request body.

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

Zuora-Track-Id
string <= 64 characters

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 (').

Request Body schema: application/json
required
RegenerateInvoicePDF
boolean

Whether to regenerate a PDF file for an invoice that already has PDF files generated.

This field is valid only if you enable the billing document file generation feature. To enable this feature, you have to select the Enable the billing document generation check box after navigating to Billing > Manage Billing Document Configuration through the Zuora UI. Otherwise, the request is rejected.

For one specific invoice, you can use this field to regenerate PDF files for a maximum of 100 times.

Note: If you set this field to true, you cannot update any other fields in the same update request. Otherwise, you will receive the following INVALID_VALUE error:

"When field RegenerateInvoicePDF is set to true to regenerate the invoice PDF file, changes on other fields of the invoice are not allowed."

Status
string

The status of the invoice in the system. This status is not the status of the payment of the invoice, just the status of the invoice itself.

With the Cancel Posted Billing Documents billing permission, you can directly update the status of an invoice from Posted to Draft.

Character limit: 8 Values: one of the following:

  • Draft (default, automatically set upon invoice creation)
  • Posted
  • Canceled
TransferredToAccounting
string

Specifies whether or not the invoice was transferred to an external accounting system, such as NetSuite. Character limit: 10 Values: Processing, Yes, Error, Ignore

IntegrationId__NS
string <= 255 characters

ID of the corresponding object in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

IntegrationStatus__NS
string <= 255 characters

Status of the invoice's synchronization with NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

SyncDate__NS
string <= 255 characters

Date when the invoice was synchronized with NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

property name*
additional property
any

Custom fields of the Invoice object. The name of each custom field has the form customField__c. Custom field names are case sensitive. See Manage Custom Fields for more information.

Responses
200
401
put/v1/object/invoice/{id}
Request samples
application/json
{
  • "Status": "Posted"
}
Response samples
application/json
{
  • "Success": true,
  • "Id": "2c93808457d787030157e031d86c4c57"
}