Skip to main content
An invoice bills an account for items, either on its own or raised from an order. This area has 30 endpoints: create, read, update, amend, cancel, reactivate and delete invoices; raise an invoice for an order; read their lines, KPIs and PDF links; add, read and delete notes and note files; and read their fulfillments, return merchandise authorisations and custom objects. Every SDK supports all of them.

At a glance

Before you call

Register your API credentials once when your app starts, as shown in Authentication. Every SDK sample on these pages then gets its client in one line. With cURL, send the access token in an Authorization header: Authorization: Bearer $ACCESS_TOKEN.

Things to know

  • Pass an invoice’s id, never its uuid. Every {invoice_id} is the invoice’s id, such as INV-0001.
  • Write bodies go under an invoice key. Create, update, amend, cancel and reactivate all wrap their fields in invoice. Amend, cancel, reactivate and creating an invoice for an order also work with no body.
  • Money comes back as text. Amounts such as total, subtotal and due are strings like "12.00". discount_amount and a line’s tax rate are numbers.
  • The invoice listing pages by cursor. Records are under data. Pass pagination.next_cursor back as cursor while pagination.has_more is true.
  • Only a single read carries the lines. A listing entry has no lines; retrieve the invoice, or list its lines, to see them.
  • Some reads under an invoice do not check the invoice. The credit note application read returns any application under any invoice that exists.