The Transactions object
A transaction object represents a balanced double-entry journal. The header carries the date, description, status, and source metadata. Lines carry the account allocations, amounts, VAT treatment, and optional contact references.
The totals object on the detail endpoint confirms the
transaction balances (debit equals credit). Amounts on lines
follow the sign convention: positive = debit, negative = credit.
Attributes
idstringPrefixed transaction ID (e.g. txn_42). Immutable after creation.
datestringTransaction date (YYYY-MM-DD). Determines the accounting period.
descriptionstringTransaction description. Required, max 500 characters.
referencestringOptional external reference (e.g. bank reference, cheque number). Max 100 characters.
sourceTypestringOrigin of the transaction:
manual, invoice, or bank_import. Determines deletion rules.sourceIdstringPrefixed ID of the source document (e.g. inv_42 for invoice-generated journals), or
null for manual entries.statusstringEither
draft (excluded from reports and balances) or posted (immutable, included in balances).isReconciledstringWhether the transaction has been matched against a bank statement. Only posted transactions can be reconciled.
reconciledAtstringISO 8601 timestamp when reconciled, or
null.periodIdstringAccounting period identifier, if period-lock is enabled.
createdBystringPrefixed user ID of the creator.
createdByNamestringDisplay name of the creator.
metadatastringCustom key-value pairs. Max 50 keys, values must be strings. Keys prefixed
_sb_ are reserved.totalDebitstringSum of positive line amounts in minor units (pence). List endpoint only.
totalCreditstringSum of absolute negative line amounts in minor units (pence). List endpoint only.
accountCodesstringComma-separated list of account codes involved. List endpoint only.
accountLabelsstringComma-separated list of account code + name labels. List endpoint only.
createdAtstringISO 8601 creation timestamp.
updatedAtstringISO 8601 last-updated timestamp.