SolariumSolariumDocs
Browse The Docs

Docs/API Reference/Transactions

POST

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!required

Organization ID

eventIdUUID!required

Ledger event ID to classify

categoryIdUUID

Intent mode: expense or income account ID

paymentIdUUID

Intent mode: bank/credit card payment account ID

taxAmountString

Single-tax: tax portion of the amount (e.g. HST/GST)

taxAccountIdUUID

Single-tax: tax liability account ID (e.g. HST Payable)

taxCodeString

Single-tax: tax code identifier (e.g. HST_ON, GST, exempt)

taxComponentsJSONString

Multi-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.

fromAccountIdUUID

Transfer mode: the owned account money moves out of

toAccountIdUUID

Transfer mode: the owned account money moves into

accountsJSONString

Raw mode: pre-built balanced lines — array of { account_id, debit, credit, description, sales_tax_code }. Must balance (total debits = total credits).

qbObjectTypeString

Raw mode: the QuickBooks object type the lines represent (e.g. journal_entry, purchase, deposit).

Request
mutation {
  updateStagedEntry(
    organizationId: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
    eventId: "c8d9e0f1-a2b3-4567-c890-def012345678"
    categoryId: "f5a6b7c8-d9e0-1234-5678-9abcdef01234"
    paymentId: "e4f5a6b7-c8d9-0123-ef01-23456789abcd"
    taxAmount: "1.93"
    taxAccountId: "a0b1c2d3-e4f5-6789-0abc-def123456789"
    taxCode: "HST_ON"
  ) {
    success
  }
}
Response
{
  "data": {
    "updateStagedEntry": {
      "success": true
    }
  }
}