Void an invoice

Cancel a draft or open invoice, moving it to void and queueing a void-stamped document. This is terminal: reissue by creating a new invoice.

The invoice's line items are deleted in the same transaction and their ledger journal entries are released back to the uninvoiced pool, so the response always carries an empty line_items array.

A void is rejected with 409 when the invoice has a linked payment that has already gone to the bank (any status other than pending), since that payment can no longer be cancelled. To reverse a paid invoice, issue a credit note instead: create an invoice with original_invoice_id set.

Invoicing is opt-in per organization: unless the invoicing feature flag is enabled for your organization this endpoint returns 403.

Path Params
string
required

Must be a UUID. The unique identifier of the invoice to void.

Body Params
string

Why the invoice is being voided. Recorded on the invoice's voided event.

Responses

400

The invoice cannot move to void from its current status. Only a draft or open invoice can be voided.

403

Invoicing is not enabled for the organization, or the caller is missing the invoices:void permission.

404

No such invoice, or the caller's user group does not grant access to its policy.

409

The invoice's linked payment has already gone to the bank and can no longer be cancelled, or the invoice was modified by a concurrent writer. Reconcile the payment before voiding.

Language
Credentials
Basic
base64
:
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json