Skip to main content

Get Sales Invoice

GET 

/api/sales-invoices/:salesInvoice

One invoice with its lines, linked shipments, payment allocations, applied credit notes, totals, addresses, terms, accounting and EDI state, and permissions — what the current user may do next, with the plain-language reason when voiding is not possible (void_blocked_reason). Also returns tags (string[]), documents_count (attached files; always 0 on an order invoice, whose files live on the sales order) and warnings ([{code, message}] review notes on a draft that was not issued automatically).

Required scope: orders:read

Grant this scope to your token under Settings → Developer → Personal Access Tokens.

Requires orders:read and sales_invoices.show.

on_account_total (drafts only, else null): what the order holds on account — issuing applies it to this invoice. edi (null unless the order came in over SPS Commerce EDI) carries partner_name, sends_on_issue (issuing sends the partner an 810) and waits_for_asn (the 810 waits for the shipment's 856).

Each entry in credits carries applied_at_provider: the accounting system name (Xero, QuickBooks Online) when that credit note's application to this invoice has been recorded there, otherwise null. Such a credit's amounts can't be changed until it is unapplied in that system and re-checked with Reconcile Sales Credit Invoice Application.

Due dates: due_date is the effective due date: the stored due date, else the invoice date plus the customer's payment terms, else the invoice date. due_date_is_derived is true when no due date is stored and it was worked out from terms. Drafts are never overdue. Due-status and due-date filters and sorts use the same effective date.

Channel-settled orders: an order invoice (order_mirror) whose order the sales channel marks paid, refunded or partially refunded has balance_due 0 and payment_status paid, whether or not payment records exist.

Request​

Responses​

OK

Response Headers
    Content-Type