The Accounts page is your chart of accounts (COA) - the list of ledger accounts used for all postings. Balances shown here come from posted GL entries.
Open Accounting → Accounts.
Root type vs account type
Each account has:
| Field | Purpose | Stored values (snake_case) | UI labels |
|---|---|---|---|
| Root type | Balance sheet / P&L classification | asset, liability, equity, income, expense | Asset, Liability, Equity, Income, Expense |
| Account type | Fine-grained posting role (optional on groups) | receivable, payable, bank, cash, tax, income_account, expense_account, equity, temporary, round_off | Receivable, Payable, Bank, Cash, Tax, Income Account, Expense Account, Equity, Temporary, Round Off |
| Currency | Currency in which the account balance is kept | LKR, USD | same |
Values are stored as lowercase snake_case (same convention as document statuses like partially_paid). The UI shows human-readable labels.
Account type can be extended later (e.g. Stock, Fixed Asset) without changing root types.
Group vs leaf accounts
- Group accounts - containers that organise the tree (e.g. “1000 Assets”). Cannot receive postings directly. Account type is usually empty.
- Leaf accounts - actual posting targets used on invoices, payments, and journals.
Only leaf accounts appear on document lines and payment forms.
What you can do
- Browse the hierarchical COA tree with current balances
- Filter by root type
- Create and edit accounts (manage permission required)
- Seed default COA from Accounting Overview if starting fresh
Default chart of accounts
Seeding creates a standard travel-agency structure (base currency + USD party/bank leaves when base is not USD):
| Code | Account | Account type |
|---|---|---|
| 1100 | Cash | Cash |
| 1200 | Bank | Bank |
| 1210 | Bank - USD | Bank |
| 1250 | Input Tax Receivable | Tax |
| 1300 | Debtors | Receivable |
| 1310 | Debtors - USD | Receivable |
| 2100 | Creditors | Payable |
| 2110 | Creditors - USD | Payable |
| 2200 | Tax Payable | Tax |
| 3100 | Owner’s Capital | Equity |
| 3200 | Retained Earnings | Equity |
| 4100 | Tour Revenue | Income Account |
| 4200 | Other Income | Income Account |
| 5100 | Supplier Costs | Expense Account |
| 5200 | Exchange Gain / Loss | Expense Account |
Your admin can customise codes and names after seeding.
Company default accounts (multi-currency)
Under Settings → Company → Accounts, map system roles to leaf accounts.
Currency-scoped defaults (one mapping per currency):
- Accounts receivable
- Accounts payable
- Bank
Base-currency only defaults:
- Tax payable, input tax, tour revenue, supplier costs, exchange gain/loss
Example:
| Role | Currency | Account |
|---|---|---|
| Accounts receivable | LKR | 1300 Debtors |
| Accounts receivable | USD | 1310 Debtors - USD |
A USD sales invoice debits the USD receivable default (txn amounts in USD, base in company currency). Income can still post to tour revenue in LKR.
Resolution order for AR:
- Customer receivable override (must be Receivable + matching currency), if set
- Company default
(accounts_receivable, invoice currency) - Error — no silent fallback to another currency
Creating an account
- 1
Click create account on the Accounts page.
- 2
Enter code, name, root type, and optionally account type and currency.
- 3
Optionally set a parent group account to place it in the tree.
- 4
Mark as group if it is a container, or leave as leaf for postings.