Skip to main content

Overview

A Ledger Account represents an individual account within a business’s chart of accounts. Accounts are organized hierarchically and track financial transactions using double-entry bookkeeping.

Account Types

Every account belongs to one of five fundamental types:
TypeDescriptionNormal Balance
assetResources owned by the businessDebit
liabilityObligations owed to othersCredit
equityOwner’s stake in the businessCredit
revenueIncome from business operationsCredit
expenseCosts incurred in operationsDebit

Account Subtypes

Subtypes provide more granular classification within each type:
SubtypeDescription
current_assetsCash, receivables, inventory - convertible within 12 months
non_current_assetsProperty, equipment, long-term investments

Account Fields

Identification

FieldTypeDescription
iduuidUnique account identifier
codestringAccount code (e.g., “1001”, “4000”)
namestringAccount name (e.g., “Cash”, “Sales Revenue”)
descriptionstringDetailed account description
is_activebooleanWhether the account accepts transactions

Classification

FieldTypeDescription
account_typeenumOne of: asset, liability, equity, revenue, expense
account_type_displaystringHuman-readable type (e.g., “Current Asset”)
account_subtypeenumGranular classification (see subtypes above)
account_subtype_displaystringHuman-readable subtype
currencystringAccount currency (GBP, EUR, USD)

Balances

FieldTypeDescription
current_balanceintegerCurrent balance in cents
current_balance_formattedstringFormatted with currency symbol (e.g., “£12,500.50”)
debit_balanceintegerTotal debits in cents
credit_balanceintegerTotal credits in cents
period_balanceintegerPeriod-specific balance (when filtered)
period_balance_formattedstringFormatted period balance

Hierarchy

FieldTypeDescription
parent_account_codestringParent account code (null for root accounts)
has_childrenbooleanWhether this account has sub-accounts
hierarchy_levelintegerDepth in hierarchy (0 for root accounts)
sub_accountsarrayNested child accounts

Bank Account Fields

For bank-type accounts, additional fields are available:
FieldTypeDescription
institution_namestringBank name (e.g., “Barclays”)
ibanstringInternational Bank Account Number
sort_codestringUK sort code (format: XX-XX-XX)
account_number_maskstringMasked account number (e.g., “****5555”)

Activity

FieldTypeDescription
total_debitsintegerCount of debit transactions
total_creditsintegerCount of credit transactions
last_entry_datedatetimeDate of most recent journal entry
last_entry_referencestringReference of most recent entry

Example Account Object

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "code": "1001",
  "name": "Business Current Account",
  "description": "Primary operating bank account",
  "currency": "GBP",
  "account_type": "asset",
  "account_type_display": "Current Asset",
  "account_subtype": "current_assets",
  "account_subtype_display": "Current Assets",
  "current_balance": 1250050,
  "current_balance_formatted": "£12,500.50",
  "debit_balance": 5000000,
  "credit_balance": 3749950,
  "has_children": false,
  "hierarchy_level": 1,
  "parent_account_code": "1000",
  "is_active": true,
  "institution_name": "Barclays",
  "sort_code": "20-00-00",
  "account_number_mask": "****5555",
  "total_debits": 150,
  "total_credits": 89,
  "last_entry_date": "2024-12-15T14:30:00Z",
  "last_entry_reference": "INV-2024-0089"
}