Get Sales Order Accounting Transaction
GET/api/sales-orders/:salesOrder/accounting
Gets the accounting transaction (invoice journal) generated for a sales order, including its lines with nominal codes and tax rates, any child transactions, and a summary of its parent batch transaction. Returns data: null when no accounting transaction has been generated for the order yet.
orders:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Authentication: Requires Bearer token.
Response fields:
- id (integer), transaction_date (date-time), reference (string): The order number the transaction posts against.
- type (object): name (e.g.
sales_order_invoice), link_type / link_id (the source record), link_type_label (human-friendly label), link_route (in-app path to the source record). - name (string|null): The counterparty name (customer).
- integration_invoice_number_override (string|null): Invoice number override used when posting to the accounting integration.
- is_tax_included (boolean), total (number).
- parent_type (object): Summary of the parent batch transaction; all values are null when the transaction has no parent.
- children (array): Child transactions in the same structure (e.g. fulfillment journals), empty when none.
- last_synced_at (date-time|null) and link (string|null): Last sync time and deep link into the connected accounting system, present when an accounting integration is connected.
- last_sync_error (string|object|null): The most recent sync error, if any.
- is_sync_enabled (boolean): Whether this transaction is allowed to sync.
- is_type_sync_enabled (boolean): Whether this transaction type is enabled in the accounting sync settings.
- lines (array): id, type (
debitorcredit), nominal_code {id, code, name}, description, quantity, amount (unit amount), subtotal (amount x quantity), tax_amount, tax {id, name, rate} (null when no tax rate applies), created_at, updated_at. - status (string):
toSync,synced,hasErrors,submissionInProgress, orineligibleToSync. - is_locked (boolean): Locked transactions cannot be regenerated or edited.
- is_batchable (boolean), created_at, updated_at.
Path parameters:
- salesOrder (required): Sales order ID.
Request
Responses
- 200
- 401
- 403
- 404
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.