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
id stringPrefixed transaction ID (e.g. txn_42). Immutable after creation.
date stringTransaction date (YYYY-MM-DD). Determines the accounting period.
description stringTransaction description. Required, max 500 characters.
reference stringOptional external reference (e.g. bank reference, cheque number). Max 100 characters.
sourceType stringOrigin of the transaction:
manual, invoice, or bank_import. Determines deletion rules.sourceId stringPrefixed ID of the source document (e.g. inv_42 for invoice-generated journals), or
null for manual entries.status stringEither
draft (editable, excluded from reports) or posted (immutable, included in balances).isReconciled stringWhether the transaction has been matched against a bank statement. Only posted transactions can be reconciled.
reconciledAt stringISO 8601 timestamp when reconciled, or
null.periodId stringAccounting period identifier, if period-lock is enabled.
createdBy stringPrefixed user ID of the creator.
createdByName stringDisplay name of the creator.
metadata stringCustom key-value pairs. Max 50 keys, values must be strings. Keys prefixed
_sb_ are reserved.totalDebit stringSum of positive line amounts in minor units (pence). List endpoint only.
totalCredit stringSum of absolute negative line amounts in minor units (pence). List endpoint only.
accountCodes stringComma-separated list of account codes involved. List endpoint only.
accountLabels stringComma-separated list of account code + name labels. List endpoint only.
createdAt stringISO 8601 creation timestamp.
updatedAt stringISO 8601 last-updated timestamp.