Invoices
Sales invoice list, create, accept, send, paid, credit loss, and recurrence.
Sales invoices live under /v1/invoicing/{business_slug}/invoice/. Purchase invoices are a different list, linked at the bottom. {business_slug} comes from list businesses.
Read
Sales Invoices - List supports page, page_size, and search. It also documents status filters: current status, and a history window with status_changed_to plus status_changed_at_gte and status_changed_at_lte. Use invoice_number when you already know the number.
Sales Invoice - Retrieve takes invoice_id from that list or from a create response.
Create and send
Sales Invoice - Create is POST /v1/invoicing/{business_slug}/invoice/. Send Idempotency-Key so a timeout does not create two invoices. The rules are on Idempotency. Build the JSON from the reference schema. The short body on the idempotency page is only an illustration of the header. It is not a valid invoice.
After create, the reference documents these POSTs. Each one is its own operation. None of them is implied by create:
| Step | Operation |
|---|---|
| Accept | Sales Invoice - Accept |
| Delivery methods | Sales Invoice - Get Delivery Methods |
| Send | Sales Invoice - Send |
| Mark paid | Sales Invoice - Set as Paid |
| Mark unpaid | Sales Invoice - Set as Unpaid |
| Credit loss | Sales Invoice - Set as Credit Loss |
| Stop recurrence | Sales Invoice - Disable Recurrence |
Read each page for the body. Send is an external action. Do not call it from a retry loop without an idempotency key on that POST.
Purchase invoices
Purchase Invoices - List is GET /v1/invoicing/{business_slug}/purchase_invoice/. The public schema lists retrieve, update, and delete. It does not list a create operation. Do not POST one.