Update Invoice Information: /invoices/{invoice_id}/information
Purpose
This API endpoint allows updating specific informational details of an existing invoice, such as customer purchase order ID, alternate billing period, issue/due dates, notes, or other metadata. It provides flexibility for modifying non-financial invoice data without regenerating the entire invoice, ensuring that administrative or informational corrections can be made efficiently.
Use Case
A finance or billing administrator may use this endpoint to correct or append invoice metadata after creation. For example, if the billing period, customer purchase order reference, or invoice note was entered incorrectly or needs to be updated due to client requests or changes in billing cycles, this API can be used to make those updates while keeping the invoice active and valid in the system.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| invoice_id | String | Unique identifier of the invoice whose information needs to be updated. |
Query Parameters
This endpoint does not accept any query parameters.
Request Body
{
"invoice": {
"customer_purchase_order_id": "customer_purchase_order_id",
"alternate_billing_start_date": "alternate_billing_start_date",
"alternate_billing_end_date": "alternate_billing_end_date",
"alternate_issue_date": "alternate_issue_date",
"alternate_due_date": "alternate_due_date",
"invoice_note": "invoice_note",
"custom_attributes": [
{
"name": "attribute_name",
"value": "attribute_value"
}
]
}
}
| Attribute | Type | Description |
|---|---|---|
| invoice | Object | Root object containing invoice information fields to be updated. |
| customer_purchase_order_id | String | External purchase order reference provided by the customer. |
| alternate_billing_start_date | String | Alternate start date for the billing period (format: YYYY-MM-DD). |
| alternate_billing_end_date | String | Alternate end date for the billing period (format: YYYY-MM-DD). |
| alternate_issue_date | String | Alternate date when the invoice was issued (optional, format: YYYY-MM-DD). |
| alternate_due_date | String | Alternate due date for invoice payment (optional, format: YYYY-MM-DD). |
| invoice_note | String | Additional notes or comments related to the invoice. |
| custom_attributes | Array of Objects | List of user-defined attributes for storing additional metadata. |
| name | String | Name of the custom attribute. |
| value | String | Value assigned to the custom attribute. |
Response
If the invoice information update is successful, the API returns a 200 OK response with the full updated invoice object. The response includes all invoice metadata such as status, dates, totals, payment details, and audit information (created/updated by). This allows clients to verify that the update has been applied correctly. The response confirms that only the specified fields were modified, while the rest of the invoice structure and financial data remain unchanged.
Response Body
{
"invoice": {
"status": "status",
"id": "invoice_id",
"type": "invoice_type",
"custom_form": {
"uuid": "form_uuid",
"name": "form_name"
},
"currency": {
"uuid": "currency_uuid",
"name": "currency_name",
"link": "currency_link"
},
"customer_purchase_order_id": "customer_purchase_order_id",
"billing_start_date": "billing_start_date",
"alternate_billing_start_date": "alternate_billing_start_date",
"billing_end_date": "billing_end_date",
"alternate_billing_end_date": "alternate_billing_end_date",
"issue_date": "issue_date",
"alternate_issue_date": "alternate_issue_date",
"due_date": "due_date",
"alternate_due_date": "alternate_due_date",
"origin": "origin",
"subtotal": "subtotal",
"tax": "tax",
"total": "total",
"paid": "paid_amount",
"due": "due_amount",
"shipping_cost": "shipping_cost",
"payment_status": "payment_status",
"last_payment": {
"id": "payment_id",
"amount": "payment_amount",
"created_at": "payment_created_at"
},
"discount_amount": "discount_amount",
"price_tax_inclusive": "price_tax_inclusive",
"invoice_note": "invoice_note",
"account_id": "account_id",
"account_name": "account_name",
"order_id": "order_id",
"kpis": {
"outstanding": "kpi_outstanding",
"overdue": "kpi_overdue",
"last_payment_date": "kpi_last_payment_date",
"payment_applied": "kpi_payment_applied",
"credit_applied": "kpi_credit_applied",
"credit_issued": "kpi_credit_issued",
"last_reactivated_on": "kpi_last_reactivated_on",
"last_cancelled_on": "kpi_last_cancelled_on",
"last_amended_on": "kpi_last_amended_on",
"voided_on": "kpi_voided_on",
"deleted_on": "kpi_deleted_on"
},
"created_by": "created_by",
"created_on": "created_on",
"last_updated_by": "last_updated_by",
"last_updated_on": "last_updated_on",
"uuid": "uuid",
"version": "version",
"custom_attributes": [],
"custom_objects": []
}
}
| Attribute | Type | Description |
|---|---|---|
| invoice | Object | Root object containing the updated invoice information. |
| status | String | Current status of the invoice (example: ACTIVE, CANCELLED). |
| id | String | Unique system-generated invoice ID. |
| type | String | Type of invoice (example: LINKED_WITH_ORDER, NOT_LINKED_WITH_ORDER). |
| custom_form | Object | Form definition associated with the invoice. |
| custom_form.uuid | String | Unique identifier of the custom form. |
| custom_form.name | String | Name of the associated custom form. |
| currency | Object | Currency information related to the invoice. |
| currency.uuid | String | Unique identifier of the currency used. |
| currency.name | String | Currency name (example: AUD, USD). |
| currency.link | String | API link to retrieve currency details. |
| customer_purchase_order_id | String | Customer purchase order reference linked to this invoice. |
| billing_start_date | String | Original billing start date of the invoice. |
| alternate_billing_start_date | String | Alternate billing start date, if updated. |
| billing_end_date | String | Original billing end date. |
| alternate_billing_end_date | String | Alternate billing end date, if updated. |
| issue_date | String | Original issue date of the invoice. |
| alternate_issue_date | String | Alternate issue date, if updated. |
| due_date | String | Original due date of the invoice. |
| alternate_due_date | String | Alternate due date, if updated. |
| origin | String | Source or origin of the invoice creation (example: API, UI). |
| subtotal | String | Total amount before tax. |
| tax | String | Total tax applied on the invoice. |
| total | String | Grand total amount after taxes and discounts. |
| paid | String | Amount already paid against the invoice. |
| due | String | Remaining due amount. |
| shipping_cost | String | Cost associated with shipping (if applicable). |
| payment_status | String | Current payment status (example: PAID, UNPAID, PARTIALLY_PAID). |
| last_payment | Object | Information about the most recent payment applied to this invoice. |
| last_payment.id | String | Unique ID of the last payment. |
| last_payment.amount | String | Amount paid in the last transaction. |
| last_payment.created_at | String | Timestamp of when the last payment was made. |
| discount_amount | String | Discount amount applied to the invoice. |
| price_tax_inclusive | String | Indicates whether prices are tax-inclusive (true/false). |
| invoice_note | String | Notes or comments associated with the invoice. |
| account_id | String | Unique identifier of the customer account. |
| account_name | String | Name of the customer account. |
| order_id | String | Associated sales order ID (if linked). |
| kpis | Object | Key performance indicators related to the invoice lifecycle. |
| created_by | String | Name of the user who created the invoice. |
| created_on | String | Timestamp when the invoice was created. |
| last_updated_by | String | Name of the user who last updated the invoice. |
| last_updated_on | String | Timestamp of the last update. |
| uuid | String | Unique system-generated identifier for the invoice. |
| version | String | Current version number of the invoice record. |
| custom_attributes | Array | List of custom fields attached to the invoice. |
| custom_objects | Array | Linked objects associated with the invoice (if any). |