General Ledger

Create account

    Create a new account in the chart of accounts.

    **Idempotency:** If external_id is provided and matches an existing account,
    returns the existing account with 200 OK.

    **Parent account:** Can be specified by UUID, code, or external_id.

    **Accounting validations:**
    - is_non_cash_expense can only be set on expense accounts
    - balance_behavior must be 'debit_positive', 'credit_positive', or blank
    
post/v1/platform/businesses/{business_id}/general-ledger/chart-of-accounts/

Request

  • Base URL
    https://docs.thredfi.com (the document declares no server; this is the origin it was published from)
  • Auth
    • HTTP bearer
    • or HTTP bearer
    • or HTTP basic
    • or HTTP bearer
    • or HTTP bearer

Path parameters

business_idstring required

Request body

codestring required

Unique account code within business (e.g., '1000', 'REV-SALES')

namestring

Account display name. Maps to custom_name field.

account_type'asset' | 'liability' | 'equity' | 'revenue' | 'expense' | ''

Account type: asset, liability, equity, revenue, expense

  • asset - Asset
  • liability - Liability
  • equity - Equity
  • revenue - Revenue
  • expense - Expense
account_subtype'current_assets' | 'non_current_assets' | 'current_liabilities' | 'non_current_liabilities' | 'share_capital' | 'share_premium' | 'reserves' | 'retained_earnings' | 'revenue' | 'other_operating_income' | 'finance_income' | 'direct_costs' | 'operating_expenses' | 'finance_costs' | 'income_tax' | ''

Account subtype for granular categorization

  • current_assets - Current Assets
  • non_current_assets - Non-current Assets
  • current_liabilities - Current Liabilities
  • non_current_liabilities - Non-current Liabilities
  • share_capital - Share Capital
  • share_premium - Share Premium
  • reserves - Reserves
  • retained_earnings - Retained Earnings
  • revenue - Revenue
  • other_operating_income - Other Operating Income
  • finance_income - Finance Income
  • direct_costs - Direct Costs
  • operating_expenses - Operating Expenses
  • finance_costs - Finance Costs
  • income_tax - Income Tax
parent_idstring nullable

Parent account identifier - accepts UUID, code, or external_id

descriptionstring

Human-readable description of account purpose

external_idstring

External system identifier. Enables idempotent creation.

institution_namestring

Financial institution name (e.g., 'Barclays Bank PLC')

ibanstring

International Bank Account Number (EU/UK format)

sort_codestring

UK sort code (flexible format: XX-XX-XX or XXXXXX)

account_number_maskstring

Masked account number for display (e.g., '****4300')

balance_behavior'' | 'debit_positive' | 'credit_positive'

Override balance calculation behavior. Leave blank for standard accounting rules.

  • `` - Auto-detect
  • debit_positive - Debit Positive
  • credit_positive - Credit Positive
is_cash_accountboolean

Mark as cash or cash equivalent for cash flow purposes

is_non_cash_expenseboolean

Mark as non-cash expense (depreciation, amortization). Only valid for expense accounts.

custom_fieldsunknown

Response

idstring uuid required

Unique account identifier

codestring required

Account code from chart of accounts (e.g., '1000', '4000')

namestring required

Account name from chart of accounts

currencystring required

Account currency from business base currency (GBP, EUR, USD)

account_type'asset' | 'liability' | 'equity' | 'revenue' | 'expense' required

Account type code (asset, liability, equity, revenue, expense)

  • asset - Asset
  • liability - Liability
  • equity - Equity
  • revenue - Revenue
  • expense - Expense
account_type_displaystring nullable required

Human-readable account type (e.g., 'Current Asset', 'Revenue')

account_subtype'current_assets' | 'non_current_assets' | 'current_liabilities' | 'non_current_liabilities' | 'share_capital' | 'share_premium' | 'reserves' | 'retained_earnings' | 'revenue' | 'other_operating_income' | 'finance_income' | 'direct_costs' | 'operating_expenses' | 'finance_costs' | 'income_tax' required

Account subtype code for more granular classification (bank, cash, etc.)

  • current_assets - Current Assets
  • non_current_assets - Non-current Assets
  • current_liabilities - Current Liabilities
  • non_current_liabilities - Non-current Liabilities
  • share_capital - Share Capital
  • share_premium - Share Premium
  • reserves - Reserves
  • retained_earnings - Retained Earnings
  • revenue - Revenue
  • other_operating_income - Other Operating Income
  • finance_income - Finance Income
  • direct_costs - Direct Costs
  • operating_expenses - Operating Expenses
  • finance_costs - Finance Costs
  • income_tax - Income Tax
account_subtype_displaystring nullable required

Account subtype for more granular classification

parent_account_codestring nullable required

Parent account code if this is a sub-account (null for top-level accounts)

current_balanceinteger required

Current balance in cents

current_balance_formattedstring required

Formatted balance with currency symbol (e.g., '£12,500.50')

debit_balanceinteger required

Debit balance in cents

credit_balanceinteger required

Credit balance in cents

period_balanceinteger required

Period balance in cents (null if no period filter applied)

period_balance_formattedstring nullable required

Formatted period balance with currency symbol (null if no period filter)

has_childrenboolean required

Whether this account has sub-accounts (nested hierarchy)

hierarchy_levelinteger required

Depth in account hierarchy (0 for root accounts)

is_activeboolean required

Whether this account is active and accepting transactions

descriptionstring required

Detailed account description

institution_namestring nullable required

Bank institution name (for bank accounts only)

ibanstring nullable required

International Bank Account Number (for bank accounts)

sort_codestring nullable required

UK bank sort code (for UK bank accounts, format: XX-XX-XX)

account_number_maskstring nullable required

Masked account number showing last 4 digits (e.g., '****5555')

total_debitsinteger required

Total number of debit transactions (count, not amount)

total_creditsinteger required

Total number of credit transactions (count, not amount)

last_entry_datestring date-time nullable required

Date of most recent journal entry

last_entry_referencestring required

Reference of most recent journal entry

sub_accountsobject[] required

List of sub-accounts if this is a parent account (empty array if no children)

Changes

No recorded changes to this operation across all 1 revision of this API.