Get Purchase
GET/api/qbo/purchases/:id
Get one mirrored QuickBooks purchase (expense).
The linked_ledger_entry field identifies the SKU ledger entry this QuickBooks document was created from (id, document number, and an app route). It is null when the document originated in QuickBooks rather than being pushed by SKU. This field is only present on the detail response, not on list rows.
qbo_link deep-links to the expense in the QuickBooks web UI.
This document is pushed to QuickBooks by SKU's ledger, so the response includes reverse cross-link fields: ledger_entry_id and ledger_entry_reference identify the SKU ledger entry that pushed it, while sku_link_type, sku_link_id, sku_link_label, and sku_link_route point back to the originating SKU document. These are null when the document originated in QuickBooks rather than being pushed by SKU.
Authentication: Requires Bearer token. Returns line_items (normalized line rows parsed from the stored QuickBooks payload) and detail_payload (the full raw QuickBooks payload); both are null until the document is re-synced from QuickBooks.
Also returns an amounts summary (subtotal, tax, total, balance, paid) and a tax_code on each line_items row.
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
Response Headers
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.