Create Invoice: /invoices
Purpose
This API allows users to create a new invoice in the system. It supports creating both linked and non-linked invoices, depending on business needs. An invoice represents a financial transaction that records the sale of goods or services to a customer, including details such as currency, issue and due dates, itemized lines, tax inclusivity, and account linkage.
Use Case
- Create a new invoice for a customer account.
- Define invoice properties such as currency, issue date, due date, and tax inclusion.
- Add line items with associated item IDs, quantities, and pricing rules.
- Automatically generate invoice totals, tax amounts, and balance due.
- Maintain financial record consistency and integrate invoice data with payment and refund modules.
Path Parameters
No path parameter is required for this endpoint.
Query Parameters
No query parameter is required for this endpoint.
Request Body
{
"invoice": {
"type": "NOT_LINKED_WITH_ORDER",
"currency": "{{currency_code}}",
"issue_date": "{{issue_date}}",
"due_date": "{{due_date}}",
"price_tax_inclusive": "{{price_tax_inclusive}}",
"invoice_note": "{{invoice_note}}",
"account_id": "{{account_id}}",
"lines": [
{
"item_id": "{{item_id}}",
"item_quantity": "{{item_quantity}}",
"package_name": "{{package_name}}",
"item_price_snapshot": {
"pricing_rule": {
"price": "{{item_price}}"
}
}
}
]
}
}
| Attribute | Type | Description |
|---|---|---|
| invoice | Object | Root object containing all invoice details. |
| type | String | Defines the invoice linkage type. Accepted values: LINKED_WITH_ORDER, NOT_LINKED_WITH_ORDER. |
| currency | String | The currency code used for the invoice (example: AUD, USD). |
| customer_purchase_order_id | String | (Optional) The customer purchase order number associated with this invoice. |
| issue_date | String | The date on which the invoice is issued (format: YYYY-MM-DD). |
| due_date | String | The date by which payment for the invoice is due (format: YYYY-MM-DD). |
| price_tax_inclusive | Boolean/String | Indicates whether the price includes tax (true or false). |
| invoice_note | String | Additional notes or remarks associated with the invoice. |
| account_id | String | Identifier of the account/customer linked to the invoice. |
| lines | Array | A list of line items included in the invoice. |
Response
On success, the API creates a new invoice record and returns the complete invoice object. The response contains key invoice details such as its system-generated ID, type, linked custom form, account information, issue and due dates, subtotal, tax, total, outstanding balance, and line item details. Each line item includes information about tax rates, amounts, and item-level metadata. Additionally, system fields such as creation timestamp, creator identity, and record version are returned for auditing and tracking purposes.
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}}",
"due": "{{due}}",
"shipping_cost": "{{shipping_cost}}",
"payment_status": "{{payment_status}}",
"last_payment": "{{last_payment}}",
"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": "{{outstanding}}",
"overdue": "{{overdue}}",
"last_payment_date": "{{last_payment_date}}",
"payment_applied": "{{payment_applied}}",
"credit_applied": "{{credit_applied}}",
"credit_issued": "{{credit_issued}}",
"last_reactivated_on": "{{last_reactivated_on}}",
"last_cancelled_on": "{{last_cancelled_on}}",
"last_amended_on": "{{last_amended_on}}",
"voided_on": "{{voided_on}}",
"deleted_on": "{{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": [],
"lines": [
{
"item_serial_or_batch_number": "{{item_serial_or_batch_number}}",
"subtotal": "{{line_subtotal}}",
"total": "{{line_total}}",
"tax": {
"amount": "{{line_tax_amount}}",
"uuid": "{{line_tax_uuid}}",
"code": "{{line_tax_code}}",
"rate": "{{line_tax_rate}}",
"link": "{{line_tax_link}}"
},
"accounting_code": {
"sales_revenue": "{{sales_revenue_code}}"
},
"item_uuid": "{{item_uuid}}",
"item_id": "{{item_id}}",
"item_name": "{{item_name}}",
"item_order_quantity": "{{item_order_quantity}}",
"item_uom": "{{item_uom}}",
"item_warehouse": "{{item_warehouse}}",
"pricing_snapshot_uuid": "{{pricing_snapshot_uuid}}",
"uuid": "{{line_uuid}}",
"version": "{{line_version}}"
}
]
}
}
| Attribute | Type | Description |
|---|---|---|
| invoice | Object | Root object containing full invoice details. |
| invoice.status | String | Current invoice status (example: ACTIVE). |
| invoice.id | String | System-generated unique identifier for the invoice. |
| invoice.type | String | Indicates whether the invoice is linked with an order (example: LINKED, NOT_LINKED). |
| invoice.custom_form | Object | Information about the form template associated with the invoice. |
| invoice.custom_form.name | String | Name of the custom form template. |
| invoice.custom_form.uuid | String | Unique identifier of the custom form template. |
| invoice.currency | Object | Currency information used in the invoice. |
| invoice.currency.name | String | Display name of the currency (example: Australian Dollar). |
| invoice.currency.uuid | String | Unique identifier for the currency. |
| invoice.currency.link | String | Reference link to the currency resource. |
| invoice.billing_start_date | String | Start date of the billing period (ISO 8601 format). |
| invoice.billing_end_date | String | End date of the billing period (ISO 8601 format). |
| invoice.issue_date | String | Date the invoice was issued (ISO 8601 format). |
| invoice.due_date | String | Date when the payment is due (ISO 8601 format). |
| invoice.subtotal | String | Subtotal amount before tax. |
| invoice.tax | String | Total tax amount applied. |
| invoice.total | String | Final total amount after tax. |
| invoice.paid | String | Total amount paid toward this invoice. |
| invoice.due | String | Outstanding balance still due. |
| invoice.payment_status | String | Payment status of the invoice (example: UNPAID, PARTIALLY_PAID, PAID). |
| invoice.invoice_note | String | Additional notes or remarks included in the invoice. |
| invoice.account_id | String | Identifier of the account linked to this invoice. |
| invoice.account_name | String | Name of the account associated with the invoice. |
| invoice.kpis | Object | Key performance indicators for invoice tracking. |
| invoice.kpis.total_items | Integer | Number of line items included in the invoice. |
| invoice.kpis.total_discount | String | Total discount amount applied to the invoice. |
| invoice.kpis.average_item_cost | String | Average cost per item across the invoice. |
| invoice.created_by | String | Name of the user who created the invoice. |
| invoice.created_on | String | Timestamp when the invoice was created (ISO 8601 format). |
| invoice.uuid | String | System-generated unique UUID for the invoice record. |
| invoice.version | String | Version number of the invoice record. |
Create an Invoice for an Specific Order: /orders/{order_id}/invoices
Purpose
This endpoint is used to create an invoice linked to a specific order, associating it with the provided order_id.
Use Case
Useful for generating an invoice for an order to facilitate billing and payment tracking.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| order_id | string | Unique identifier of the order to link with the invoice. |
Query Parameters
No query parameter is required for this endpoint.
Request Body
{
"invoice":
{
"invoice_note": "INVOICE_NOTE"
}
}
| Attribute | Type | Description |
|---|---|---|
| invoice_note | String | Notes or remarks for the invoice |
Response
The response contains details about the created invoice, including its status, associated order ID, billing and due dates, payment status, totals and tax information. It also provides metadata like creation time, custom attributes and linked items.
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": "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",
"subtotal": "SUBTOTAL",
"tax": "TAX",
"total": "TOTAL",
"paid": "PAID_AMOUNT",
"due": "DUE_AMOUNT",
"payment_status": "PAYMENT_STATUS",
"last_payment": "LAST_PAYMENT",
"discount_amount": "DISCOUNT_AMOUNT",
"price_tax_inclusive": "TAX_INCLUSIVE",
"invoice_note": "INVOICE_NOTE",
"account_id": "ACCOUNT_ID",
"order_id": "ORDER_ID",
"kpis": {
"outstanding": "OUTSTANDING",
"overdue": "OVERDUE",
"last_payment_date": "LAST_PAYMENT_DATE",
"payment_applied": "PAYMENT_APPLIED",
"credit_applied": "CREDIT_APPLIED",
"credit_issued": "CREDIT_ISSUED",
"last_reactivated_on": "LAST_REACTIVATED_DATE",
"last_cancelled_on": "LAST_CANCELLED_DATE",
"last_amended_on": "LAST_AMENDED_DATE",
"voided_on": "VOIDED_DATE",
"deleted_on": "DELETED_DATE"
},
"created_by": "CREATED_BY",
"created_on": "CREATED_ON",
"last_updated_by": "LAST_UPDATED_BY",
"last_updated_on": "LAST_UPDATED_ON",
"uuid": "INVOICE_UUID",
"version": "VERSION",
"custom_attributes": [
{
"name": "ATTRIBUTE_NAME",
"value": "ATTRIBUTE_VALUE"
}
],
"custom_objects": [],
"lines": [
{
"subtotal": "LINE_SUBTOTAL",
"total": "LINE_TOTAL",
"tax": {
"amount": "TAX_AMOUNT",
"uuid": "TAX_UUID",
"code": "TAX_CODE",
"rate": "TAX_RATE",
"link": "TAX_LINK"
},
"accounting_code": {
"sales_revenue": "ACCOUNTING_CODE"
},
"item_uuid": "ITEM_UUID",
"item_id": "ITEM_ID",
"item_order_quantity": "ORDER_QUANTITY",
"item_uom": "UNIT_OF_MEASURE",
"item_warehouse": "WAREHOUSE_NAME",
"pricing_snapshot_uuid": "PRICING_SNAPSHOT_UUID",
"charging_start_date": "CHARGING_START_DATE",
"alternate_charging_start_date": "ALTERNATE_CHARGING_START_DATE",
"charging_end_date": "CHARGING_END_DATE",
"alternate_charging_end_date": "ALTERNATE_CHARGING_END_DATE",
"uuid": "LINE_UUID",
"version": "LINE_VERSION"
}
]
}
}
| Attribute | Type | Description |
|---|---|---|
| status | String | Current status of the invoice (example: ACTIVE) |
| id | String | Unique identifier of the invoice (human-readable code) |
| type | String | Type of invoice (example: LINKED_WITH_ORDER) |
| custom_form | Object | Custom form details linked to the invoice |
| currency | Object | Currency information for the invoice |
| customer_purchase_order_id | String | External customer purchase order reference |
| issue_date | String (DateTime) | Date when invoice was issued |
| alternate_issue_date | String (DateTime) | Alternate invoice issue date |
| due_date | String (DateTime) | Due date for payment |
| alternate_due_date | String (DateTime) | Alternate due date for payment |
| subtotal | String (Decimal) | Subtotal amount before taxes/discounts |
| tax | String (Decimal) | Tax applied |
| tax_total | String (Decimal) | Total tax amount |
| total | String (Decimal) | Final total of invoice |
| paid | String (Decimal) | Amount paid |
| due | String (Decimal) | Remaining amount due |
| payment_status | String | Status of payment (example: PAID) |
| last_payment | Object | Information about the last payment |
| discount_amount | String (Decimal) | Total discount applied |
| price_tax_inclusive | String (Boolean) | Whether tax is included in prices |
| invoice_note | String | Additional notes for the invoice |
| account_id | String | Associated account identifier |
| order_id | String | Linked order identifier |
| created_by | String | User who created the invoice |
| created_on | String (DateTime) | Creation timestamp |
| last_updated_by | String | User who last updated the invoice |
| last_updated_on | String (DateTime) | Last update timestamp |
| uuid | String (UUID) | Unique system identifier for invoice |
| version | String | Version number of the record |
| custom_attributes | Array | List of custom attributes applied |
| custom_objects | Array | List of custom objects linked |
| lines | Array | Line items of the invoice |
| kpis | Object | Key performance indicators for invoice |
Cancel an Invoice: /invoices/{invoice_id}/cancel
Purpose
This endpoint allows canceling an existing invoice by its unique invoice identifier. When an invoice is canceled, its status changes to INACTIVE, and no further payments or modifications can be made. Canceling ensures proper financial record-keeping and prevents duplicate or unintended billing.
Use Case
- Businesses can use this API to cancel invoices that are no longer valid, such as when an order is voided, a customer cancels their request, or a billing correction is needed.
- The API is particularly useful for automating workflows where invoices must be deactivated after an order cancellation, subscription termination, or service withdrawal.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
invoice_id |
String | Unique identifier of the invoice to be canceled. |
Query Parameters
No query parameter is required for this endpoint.
Request Body
This API does not require a request body for the cancellation.
Response
Upon successful cancellation, the API responds with detailed invoice data. The invoice status is updated to INACTIVE, and payment_status reflects the latest settlement state (example: PAID if already paid). The response includes all core invoice fields such as identifiers, billing cycle dates, financial details (subtotal, tax, total, paid, due), account and order links, KPIs (outstanding balance, overdue, credit applied and so on), audit trail (created_by, last_updated_by, timestamps), and structural components like custom_attributes, custom_objects, and lines. This ensures both financial reconciliation and operational traceability for canceled invoices.
Response Body
{
"invoice": {
"status": "STATUS",
"id": "INVOICE_ID",
"type": "INVOICE_TYPE",
"custom_form": {
"uuid": "CUSTOM_FORM_UUID",
"name": "CUSTOM_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",
"subtotal": "SUBTOTAL",
"tax": "TAX",
"total": "TOTAL",
"paid": "PAID",
"due": "DUE",
"shipping_cost": "SHIPPING_COST",
"payment_status": "PAYMENT_STATUS",
"last_payment": "LAST_PAYMENT",
"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": [],
"lines": []
}
}
| Attribute | Type | Description |
|---|---|---|
| status | String | Current status of the invoice (example: ACTIVE, INACTIVE) |
| id | String | Unique identifier of the invoice |
| type | String | Type of invoice (example: LINKED_WITH_ORDER) |
| custom_form | Object | Custom form details linked to invoice |
| currency | Object | Currency details of the invoice |
| customer_purchase_order_id | String | External customer purchase order reference |
| billing_start_date | String (DateTime) | Start date of billing period |
| alternate_billing_start_date | String (DateTime) | Alternate start date of billing |
| billing_end_date | String (DateTime) | End date of billing period |
| alternate_billing_end_date | String (DateTime) | Alternate end date of billing |
| issue_date | String (DateTime) | Date when invoice was issued |
| alternate_issue_date | String (DateTime) | Alternate invoice issue date |
| due_date | String (DateTime) | Due date for payment |
| alternate_due_date | String (DateTime) | Alternate due date |
| subtotal | String (Decimal) | Subtotal before tax/discounts |
| tax | String (Decimal) | Tax amount |
| total | String (Decimal) | Total invoice amount |
| paid | String (Decimal) | Amount paid |
| due | String (Decimal) | Amount remaining due |
| shipping_cost | String (Decimal) | Shipping cost applied |
| payment_status | String | Status of payment (example: PAID, UNPAID) |
| last_payment | Object / Null | Last payment details, or null if none |
| discount_amount | String (Decimal) | Discount amount applied |
| price_tax_inclusive | String (Boolean) | Whether prices include tax |
| invoice_note | String | Notes or remarks for invoice |
| account_id | String | Linked account identifier |
| account_name | String | Name of linked account |
| order_id | String | Linked order identifier |
| kpis | Object | Key performance indicators |
| created_by | String | User who created the invoice |
| created_on | String (DateTime) | Creation timestamp |
| last_updated_by | String | User who last updated the invoice |
| last_updated_on | String (DateTime) | Last update timestamp |
| uuid | String (UUID) | System unique identifier |
| version | String | Record version number |
| custom_attributes | Array | Custom attributes attached |
| custom_objects | Array | Custom objects attached |
| lines | Array | Invoice line items |
Reactivate an Invoice: /invoices/{invoice_id}/reactivate
Purpose
This endpoint reactivates a previously canceled invoice, changing its status back to ACTIVE. It ensures that a canceled invoice can be reused for billing, payment tracking, and further operations without having to create a new one.
Use Case
- When an invoice was canceled by mistake and needs to be reinstated.
- If a customer resumes a transaction that was previously marked as canceled.
- To restore invoice continuity in reporting and auditing systems.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
invoice_id |
String | Unique identifier of the invoice that needs to be reactivated. |
Query Parameters
No query parameter is required for this endpoint.
Request Body
This API does not require a request body for the reactivation.
Response
On success, the API returns a full invoice object with its status updated to ACTIVE. The response contains key invoice details including its ID, type, form information, currency, issue and due dates, totals, payment status, and associated KPIs. The reactivated invoice maintains its original relationships (example: account, order, custom form) but its status changes to ACTIVE. Audit metadata (created by, created on, last updated by, last updated on, version) is also included to support traceability.
Response Body
{
"invoice": {
"status": "STATUS",
"id": "INVOICE_ID",
"type": "INVOICE_TYPE",
"custom_form": {
"uuid": "CUSTOM_FORM_UUID",
"name": "CUSTOM_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",
"subtotal": "SUBTOTAL",
"tax": "TAX",
"total": "TOTAL",
"paid": "PAID",
"due": "DUE",
"shipping_cost": "SHIPPING_COST",
"payment_status": "PAYMENT_STATUS",
"last_payment": "LAST_PAYMENT",
"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": [],
"lines": []
}
}
| Attribute | Type | Description |
|---|---|---|
| status | String | Current status of the invoice (example: ACTIVE, INACTIVE) |
| id | String | Unique identifier of the invoice |
| type | String | Type of invoice (example: LINKED_WITH_ORDER) |
| custom_form | Object | Custom form details linked to invoice |
| currency | Object | Currency details of the invoice |
| customer_purchase_order_id | String | External customer purchase order reference |
| billing_start_date | String (DateTime) | Start date of billing period |
| alternate_billing_start_date | String (DateTime) | Alternate start date of billing |
| billing_end_date | String (DateTime) | End date of billing period |
| alternate_billing_end_date | String (DateTime) | Alternate end date of billing |
| issue_date | String (DateTime) | Date when invoice was issued |
| alternate_issue_date | String (DateTime) | Alternate invoice issue date |
| due_date | String (DateTime) | Due date for payment |
| alternate_due_date | String (DateTime) | Alternate due date |
| subtotal | String (Decimal) | Subtotal before tax/discounts |
| tax | String (Decimal) | Tax amount |
| total | String (Decimal) | Total invoice amount |
| paid | String (Decimal) | Amount paid |
| due | String (Decimal) | Amount remaining due |
| shipping_cost | String (Decimal) | Shipping cost applied |
| payment_status | String | Status of payment (example: PAID, UNPAID) |
| last_payment | Object / Null | Last payment details, or null if none |
| discount_amount | String (Decimal) | Discount amount applied |
| price_tax_inclusive | String (Boolean) | Whether prices include tax |
| invoice_note | String | Notes or remarks for invoice |
| account_id | String | Linked account identifier |
| account_name | String | Name of linked account |
| order_id | String | Linked order identifier |
| kpis | Object | Key performance indicators |
| created_by | String | User who created the invoice |
| created_on | String (DateTime) | Creation timestamp |
| last_updated_by | String | User who last updated the invoice |
| last_updated_on | String (DateTime) | Last update timestamp |
| uuid | String (UUID) | System unique identifier |
| version | String | Record version number |
| custom_attributes | Array | Custom attributes attached |
| custom_objects | Array | Custom objects attached |
| lines | Array | Invoice line items |
Create a Note for an Invoice: /invoices/{invoice_id}/notes
Purpose
This endpoint allows you to create a new note for a specific invoice. You can optionally attach a file (such as a document or image) to the note.
Use Case
- Add comments or internal notes to invoices.
- Attach supporting documents (receipts, approvals, scanned copies) to invoices.
- Maintain audit and collaboration records on invoices.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| invoice_id | string | Yes | Unique identifier of the invoice. |
Query Parameters
No query parameters required for this endpoint.
Request Body
The request must be sent as multipart/form-data.
| Attribute | Type | Required | Description |
|---|---|---|---|
| note | string | Yes | Content of the note (HTML supported). |
| file | file | No | File to attach with the note. Accepts common document and image formats. |
Response
On success, the API returns the order object containing a notes object with the UUID of the newly created note. This UUID can later be used to fetch note details, list attached files, or download specific files.
Response Body
{
"invoice": {
"notes": {
"uuid": "uuid"
}
}
}
| Attribute | Type | Description |
|---|---|---|
| invoice | object | Container object holding invoice data. |
| invoice.notes | object | Newly created note object. |
| invoice.notes.uuid | string | Unique identifier (UUID) of the created note. |
Create Note with Attachments to an Invoice: /invoices/{invoice_id}/notes/{note_uuid}
Purpose
This API allows users to add a note, along with optional attached files, to a specific invoice in the system. It is particularly useful for maintaining communication, adding context, or attaching supporting documents such as images, receipts, or reference materials directly to the invoice record.
Use Case
When an invoice requires additional details or supporting information, users can use this API to attach notes and relevant documents. For example, an accountant can add a comment like “Proof of delivery attached” with a delivery receipt image file, ensuring that all invoice-related communications are stored in one place for easy reference.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| invoice_id | String | Unique identifier of the invoice to which the note will be added. |
| note_uuid | String | Unique identifier for the note being added or updated. |
Query Parameters
This API does not require any query parameters.
Request Body
The request must be sent as multipart/form-data.
| Attribute | Type | Description |
|---|---|---|
| text | String | The textual content of the note to be added to the invoice. |
| file | File | Optional file attachment (example: image, document) related to the note. Multiple files can be attached if supported. |
Response
On successful execution, the API confirms that the note and its attachments have been successfully associated with the specified invoice. The response includes the note content and a list of attached file names for verification. The system stores both the note text and attachments under the invoice record for future reference.
Response Body
{
"invoice": {
"notes": {
"content": "<note_content>",
"files": [
{
"name": "<file_name>"
}
]
}
}
}
| Attribute | Type | Description |
|---|---|---|
invoice |
Object | Root object containing the updated invoice information. |
notes |
Object | Contains the note details added to the invoice. |
notes.content |
String | Textual content of the note. |
notes.files |
Array | List of file objects attached to the note. |
notes.files.name |
String | Name of the file attached to the note. |