Docs/API Reference/Transactions
Classify Transaction
Assigns classification data to a staged ledger event. Supports three modes: intent (category + payment, server builds the balanced lines — with optional single or multi-component tax), transfer (two owned accounts, no category), and raw (client sends pre-built double-entry lines). This is the primary way to prepare a transaction for confirmation.
Parameters
organizationIdUUID!requiredOrganization ID
eventIdUUID!requiredLedger event ID to classify
categoryIdUUIDIntent mode: expense or income account ID
paymentIdUUIDIntent mode: bank/credit card payment account ID
taxAmountStringSingle-tax: tax portion of the amount (e.g. HST/GST)
taxAccountIdUUIDSingle-tax: tax liability account ID (e.g. HST Payable)
taxCodeStringSingle-tax: tax code identifier (e.g. HST_ON, GST, exempt)
taxComponentsJSONStringMulti-tax: array of { sales_tax_code, amount } (e.g. GST + PST). Amounts are used as-is; the server resolves each component's account. Overrides taxAmount/taxCode.
fromAccountIdUUIDTransfer mode: the owned account money moves out of
toAccountIdUUIDTransfer mode: the owned account money moves into
accountsJSONStringRaw mode: pre-built balanced lines — array of { account_id, debit, credit, description, sales_tax_code }. Must balance (total debits = total credits).
qbObjectTypeStringRaw mode: the QuickBooks object type the lines represent (e.g. journal_entry, purchase, deposit).