» Invoice PATCH API Documentation

Update Invoice Information: /invoices/{invoice_id}/information

PATCH
https://dev-api.exsited.com/api/v3/invoices/{invoice_id}/information
Try It Out
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
ParameterTypeDescription
invoice_idStringUnique 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).