Axiomatic

Chart of Accounts

Organize your financial accounts by type with hierarchical grouping and logical role mappings.

Overview

Every entity in Axiomatic maintains its own chart of accounts — a structured list of accounts organized by type. When you create an entity, a default chart of accounts is automatically generated based on the entity's type and legal structure.

Accounts support:

  • Hierarchical nesting — group accounts under parent accounts for organized reporting
  • Per-account currency — denominate individual accounts in foreign currencies
  • Cash flow classification — control how accounts appear on the cash flow statement
  • Logical role mappings — decouple posting rules from specific account IDs

Account Types

Every account belongs to one of five types. Each type has a normal balance that determines how it naturally increases:

TypeNormal BalanceDescription
AssetDebitResources owned by the entity (cash, receivables, equipment)
LiabilityCreditObligations owed to others (payables, loans, deferred revenue)
EquityCreditOwner's stake (capital, retained earnings)
RevenueCreditIncome earned from operations
ExpenseDebitCosts incurred in operations

Account Hierarchy

Accounts are organized using a numbering convention. You can nest accounts under parent accounts to create a hierarchy:

Code RangeTypeExamples
1xxxAssets1100 Cash, 1200 Accounts Receivable, 1500 Equipment
2xxxLiabilities2100 Accounts Payable, 2200 Accrued Expenses, 2300 Deferred Revenue
3xxxEquity3000 Capital / Stock, 3100 Retained Earnings
4xxxRevenue4000 Sales Revenue, 4100 Service Revenue
5xxx–6xxxExpenses5000 Operating Expenses, 6000 Cost of Goods Sold

Default Templates

When you create a new entity, Axiomatic seeds a chart of accounts tailored to your entity type and legal structure.

Business entities receive a full chart with cash, receivables, payables, revenue, and expense accounts. Equity accounts vary by legal structure:

Legal StructureEquity Accounts
C-Corp / S-CorpCommon Stock, APIC, Retained Earnings
LLC (Single) / Sole PropOwner's Equity, Owner's Draw, Retained Earnings
LLC (Multi)Member's Capital, Member's Draw, Retained Earnings
LP / LLPGP Capital, LP Capital, GP Draw, LP Draw
Non-ProfitNet Assets Without/With Donor Restrictions

Fund entities additionally get NAV, management fee revenue, and fund administration expense accounts.

Trust entities receive trust-specific accounts: Trust Corpus/Principal, Accumulated Trust Income, trustee fees, and distribution accounts.

Personal entities receive checking, savings, brokerage, retirement, credit cards, loans, and 13 expense categories covering housing, utilities, food, transportation, and more.

Account Currency

Each account can optionally be denominated in a specific currency (e.g. EUR, BTC). This is useful for:

  • Foreign bank accounts
  • Crypto wallets
  • FX-related accounts

When no currency is set, the account inherits the entity's functional currency.

Cash Flow Classification

Accounts can carry a cash flow category tag that controls how they appear on the cash flow statement:

  • Operating — day-to-day business activities
  • Investing — purchase/sale of long-term assets
  • Financing — debt, equity, distributions

When no category is set, the system automatically classifies accounts based on their type and code range.

Logical Role Mappings

Role mappings connect your posting rules to specific accounts without hardcoding account IDs. A rule references a logical role like cash.operating or revenue.subscription, and the mapping layer resolves it to the correct account at posting time.

This means you can:

  • Swap accounts without updating rules
  • Override mappings per entity while sharing rules across entities
  • Layer mappings from system defaults up to entity-specific overrides

Mapping Layers

Mappings are organized into layers with increasing precedence:

  1. Kernel — system defaults (lowest precedence)
  2. Standard — general-purpose mappings
  3. Industry — sector-specific overrides
  4. Entity — per-entity overrides (highest precedence)

When resolving a role, the system selects the mapping with the highest precedence and priority.

Role mappings are automatically bootstrapped when you create an entity, so the posting engine can process events immediately.

Managing Accounts

Adding an Account

Create accounts via the UI or API. Each account requires:

  • Code — a numeric code for ordering (e.g. 1000, 5200)
  • Name — display name (e.g. "Cash — Operating")
  • Type — one of the five account types

Optional fields include parent account, currency, and cash flow classification.

POST /api/accounts
{
  "entityId": "your-entity-id",
  "code": "1000",
  "name": "Cash — Operating",
  "type": "ASSET",
  "currency": "USD",
  "tags": { "cashFlowCategory": "OPERATING" }
}

Updating an Account

PUT /api/accounts
{
  "id": "account-id",
  "code": "1000",
  "name": "Cash — Operating",
  "type": "ASSET",
  "currency": "USD",
  "isActive": true
}

Deleting an Account

DELETE /api/accounts?id=<account-id>

Deleting an account also removes all of its associated role mappings.

On this page