A chart of accounts template is a ready-made list of numbered accounts, grouped by assets, liabilities, equity, revenue and expenses, that you install instead of designing your ledger from scratch. A good template follows the reporting standard you use, leaves room to grow, and tags each account so financial statements can be produced automatically.
This guide covers how charts are structured, the numbering schemes used under IFRS, US GAAP, the European PCG and the Iranian group, ledger and subsidiary system, which accounts you can post to, why categories matter more than codes, and how to keep the chart small by using parties, cost centers and projects. At the end there is a side-by-side comparison of the templates that ship with Ledgeriano.
What is a chart of accounts?
A chart of accounts is the complete, coded list of every account a business uses to record transactions in its general ledger. Each journal entry line points to exactly one account in it, so the chart decides what your trial balance, balance sheet and income statement can show.
Every account has at least four properties:
- Code: a number that fixes its position, for example 1103.
- Name: what it holds, for example "Bank, main operating account".
- Type: asset, liability, equity, revenue or expense. The type sets the normal balance: assets and expenses normally carry a debit balance; liabilities, equity and revenue a credit balance.
- Parent: the group it rolls up into, which creates the tree.
The chart is not the ledger itself. It is the skeleton the ledger hangs on. That is why changing it in the middle of a year is painful and why choosing a sensible template on day one pays off. If double entry is new to you, start with our guide to double-entry journal entries.
Chart of accounts structure: groups and postable accounts
A chart of accounts is a tree: top-level classes branch into groups and subgroups, and only the leaves at the bottom receive postings. Group accounts exist to total their children; postable accounts hold the actual debits and credits.
Here is one branch of the IFRS template in Ledgeriano:
| Level | Code | Name | Postable? |
|---|---|---|---|
| Class | 1 | Assets | No |
| Group | 11 | Current assets | No |
| Subgroup | 110 | Cash and cash equivalents | No |
| Account | 1101 | Cash on hand | Yes |
| Account | 1103 | Bank, main operating account | Yes |
| Account | 1105 | Bank, foreign currency account | Yes |
In Ledgeriano an account becomes a group automatically as soon as it has children, and journal lines can only use postable accounts. Two safety rules protect the tree once money has moved:
- You cannot add a child under an account that already has journal lines, because its balance would suddenly be split in a way the history does not support.
- You cannot change the type of an account that has lines, or delete an account that has lines, children or a system role. Deactivate it instead, which blocks new postings but keeps history intact.
The trial balance can be viewed at any depth, so the same tree gives you a one-page summary at class level or a full list at account level.
Account numbering schemes by standard
Account numbering is a convention, not a law, but most countries and standards follow a familiar pattern. The first digit almost always identifies the class, and the remaining digits narrow it down.
IFRS chart of accounts (1xxx to 8xxx)
IFRS does not publish a chart, so IFRS reporters use a logical layout that mirrors the statements. Ledgeriano's IFRS template uses eight classes with four-digit postable codes:
| Class | Content | Example accounts |
|---|---|---|
| 1 | Assets | 1101 Cash on hand, 1103 Bank, 1111 Trade receivables, 1124 Merchandise inventory, 1221 Accumulated depreciation, buildings |
| 2 | Liabilities | 2111 Trade payables, 2131 VAT payable |
| 3 | Equity | 3111 Share capital, 3201 Retained earnings, 3202 Profit for the year, 3301 Opening balance equity, 3302 Income summary |
| 4 | Revenue | 4101 Sales of goods |
| 5 | Cost of sales | 5101 Cost of goods sold |
| 6 | Operating expenses | 6201 Salaries and wages, 6205 Rent, 6301 Depreciation |
| 7 | Other income, expenses and finance | 7103 Foreign exchange gains and losses |
| 8 | Income tax | 8101 Current income tax |
US GAAP chart of accounts (1000 to 9999)
The classic American layout uses four-digit numbers in blocks of a thousand: 1000s assets, 2000s liabilities, 3000s equity, 4000s revenue, 5000s cost of goods sold, 6000s operating expenses, 7000s other income, 8000s other expenses and 9000s income taxes. Ledgeriano's US GAAP template follows that pattern: 1000 Cash on hand, 1020 Operating checking account, 1100 Accounts receivable (trade), 1230 Merchandise inventory, 3000 Common stock, 3100 Retained earnings, 7030 Foreign currency gain (loss). Numbers step in tens, so 1010, 1020 and 1030 leave space for new accounts in between.
European PCG classes (1 to 7)
The French Plan Comptable Général, used in similar forms across continental Europe and francophone Africa, groups accounts into classes by nature rather than by statement: class 1 equity and long-term liabilities, 2 fixed assets, 3 inventories, 4 third parties, 5 financial accounts, 6 expenses and 7 revenue. Codes are short and famous: 401 suppliers, 411 customers, 4456 deductible VAT, 4457 VAT collected, 512 bank, 53 cash, 707 sales of merchandise. Ledgeriano adds class 8 for technical accounts (890 opening balance, 891 income summary).
Iranian group, ledger and subsidiary coding
Iranian practice uses a hierarchy of گروه (group, one digit), کل (control or general ledger account, two digits), معین (subsidiary account, four digits) and تفصیلی (detail). Groups follow the statement layout: 1 current assets, 2 non-current assets, 3 current liabilities, 4 non-current liabilities, 5 equity, 6 revenue, 7 cost of sales, 8 expenses and 9 other income and expenses. So 1103 is a bank account (group 1, control 11 cash, subsidiary 03), 1301 trade receivables and 5301 retained earnings. The detail level is covered in the section on dimensions below.
Categories: why they matter more than codes
A category tells the software what an account means for reporting, independent of its code. Codes help humans find accounts; categories let the system build the balance sheet, income statement and cash flow statement without a manual mapping.
Ledgeriano uses these categories, grouped by type:
| Type | Categories |
|---|---|
| Asset | cash, receivables, inventory, prepayments, other current asset, PPE, accumulated depreciation, intangible assets, accumulated amortization, investments, right-of-use assets, deferred tax asset, other non-current asset |
| Liability | payables, accrued liabilities, tax payable, short-term debt, deferred revenue, other current liability, long-term debt, lease liabilities, deferred tax liability, provisions, other non-current liability |
| Equity | share capital, share premium, reserves, retained earnings, treasury shares, owner drawings, other equity |
| Revenue | operating revenue, sales returns, other income, finance income |
| Expense | cost of sales, selling expense, administrative expense, depreciation expense, other operating expense, finance cost, other expense, income tax |
Each category answers three questions at once: is it current or non-current, where does it sit on the statement, and which cash flow section does it belong to. Receivables, for example, are current, appear under current assets and feed working capital in operating cash flow. PPE is non-current and belongs to investing activities. Long-term debt is non-current and belongs to financing.
Get the category right and the code barely matters. A new bank account coded 1109 but left in the "other current asset" category will make your cash flow statement stop reconciling, because its movements are treated as working capital instead of cash.
The financial statements guide shows how those categories turn into report lines.
Contra accounts
A contra account sits under a normal account but carries the opposite balance, reducing it on the statements. The classic example is accumulated depreciation: it lives among assets but has a credit balance, so buildings at cost minus accumulated depreciation gives the carrying amount.
Common contra accounts in the templates:
- 1221 Accumulated depreciation, buildings (IFRS), credit balance under assets
- 1120 Allowance for doubtful accounts (US GAAP), credit balance under receivables
- 3203 Dividends declared (IFRS), debit balance under equity
- 108 Owner's drawings and 119 Accumulated losses brought forward (PCG), debit balances under equity
When an account is marked as contra in Ledgeriano, its normal balance flips automatically, so a credit balance on accumulated depreciation is shown as a reduction of assets rather than as an error.
Use parties, cost centers and projects instead of thousands of accounts
The best charts are short. Instead of creating one receivable account per customer or one expense account per branch, keep a single account and tag each journal line with a dimension. Ledgeriano has three:
- Parties (customers and suppliers). One trade receivables account (1111) with a party on each line replaces hundreds of customer accounts. Accounts such as receivables and payables are marked "requires party", so a line cannot be saved without one, and the party balances report lists what each customer owes.
- Cost centers (branches, departments). Tag expense lines with "Tehran branch" or "Sales team" and filter the income statement by cost center. An account can be set to require a cost center.
- Projects (contracts, jobs, campaigns). Tag revenue and costs to see profit per project without duplicating the chart.
Compare the two approaches for a business with 400 customers, 6 branches and 12 expense types:
| Approach | Accounts needed | Adding a customer |
|---|---|---|
| One account per customer and per branch expense | 400 receivable accounts + 72 expense accounts | Create a new account, check numbering |
| Accounts plus dimensions | 1 receivable account + 12 expense accounts | Add a party record |
This is exactly the role the تفصیلی level plays in Iranian practice. In Ledgeriano the detail layer is shared across accounts, so the same customer can appear on receivables, notes receivable and advances received.
System accounts and roles
Some accounts have a system role that tells Ledgeriano which account to use in automated postings. They are created by the template, marked as system accounts, and cannot be deleted.
| Role | IFRS template | Used for |
|---|---|---|
| Retained earnings | 3201 | Receives the year's profit or loss on closing |
| Profit or loss for the year | 3202 | Current-year earnings account in equity |
| Income summary | 3302 | Collects revenue and expense balances during closing |
| Opening balance | 3301 | Balancing account for opening entries and unmatched codes |
| FX gain and loss | 7103 | Exchange differences |
Other roles mark the default cash, bank, receivable, payable, sales, cost of goods sold, VAT, salaries, depreciation and bank charges accounts, which workflows and integrations can reference. The closing process in the year-end closing guide depends on the income summary and retained earnings roles, so keep them in place when you customise a template.
How to choose a chart of accounts template
Choose the template that matches the standard you report under and the country you file in, then trim it rather than building from zero. When you create a business in Ledgeriano, the default follows your accounting standard: US GAAP installs the US GAAP chart, Iranian national standards installs the Iranian chart, GCC IFRS installs the GCC chart, European local GAAP installs the PCG chart, and IFRS installs the general IFRS chart (or the GCC chart for Middle East businesses).
| Template | Numbering | Accounts | Best for |
|---|---|---|---|
| IFRS, general business | Classes 1 to 8, four-digit postable (1101) | 202 | IFRS reporters worldwide |
| US GAAP | 1000 to 9999 in blocks of a thousand | 200 | US companies and US-style reporting |
| Continental Europe (PCG) | Classes 1 to 7 plus 8, short codes (401, 411, 512) | 248 | France, Belgium, francophone and other PCG users |
| Iran national standards | Group, control, subsidiary (1, 11, 1101) | 213 | Iranian companies, with VAT and cheques |
| GCC IFRS with VAT and zakat | Six-digit codes (110101) | 213 | Saudi Arabia, UAE and other GCC countries |
| Small business | Simple four-digit codes | 97 | Sole traders and small firms |
Counts include group accounts. Every template carries English and Persian names for each account, so a bilingual team can read the same ledger. You can compare the standards in more detail on the standards page.
Customising without breaking things
- Add accounts inside existing groups and keep the same code length.
- Leave gaps (step by 10 or by 1 with room to spare) so related accounts stay together.
- Do not encode dimensions in codes. "4101-TEH" for Tehran sales belongs in a cost center.
- Set the category on every new account before posting to it.
Copying the chart to a new fiscal year
In Ledgeriano each fiscal year has its own copy of the chart, which lets you restructure next year without rewriting last year's history. When you create a new year you choose one of three sources: copy the previous year's chart (the default once a previous year exists), install a fresh template, or start empty.
Closing a year creates the next year automatically with the chart copied, then generates the opening entry by matching account codes. Any balance whose code no longer exists in the new chart is posted to the opening balance account (3301 in the IFRS template), so nothing gets lost, but you should reclassify it. The practical rule: renumber accounts before you close, or accept a clean-up entry afterwards.
Chart of accounts mistakes to avoid
- Too many accounts. Hundreds of customer or branch accounts make the trial balance unreadable. Use dimensions.
- Missing or wrong categories. Statements are built from categories, so a wrong one moves an amount to the wrong line.
- Posting to group accounts. Postings belong on leaves; groups only total.
- Renumbering mid-year. It breaks comparatives. Plan changes for the start of a fiscal year.
- Deleting instead of deactivating. Deactivation stops new postings and keeps the audit trail.
- One chart for several companies. Each business in a group should keep its own chart; account maps in intercompany workflows connect them.
Your chart is also the vocabulary your API integrations use: the developer documentation shows how entries reference accounts by code, which is one more reason to keep codes stable. For definitions of terms such as contra account and normal balance, see the accounting glossary.
Frequently asked questions
What is a chart of accounts?
+
It is the coded list of every account a business uses in its general ledger, organised as a tree of assets, liabilities, equity, revenue and expenses. Each journal line posts to one account in it, so it determines what your reports can show.
How should chart of accounts numbers be structured?
+
Use the first digit for the class (for example 1 assets, 2 liabilities, 3 equity, 4 revenue) and the following digits for groups and accounts. Keep code lengths consistent and leave gaps so new accounts can be inserted next to related ones.
Is there an official IFRS chart of accounts?
+
No. IFRS sets presentation and measurement rules but does not publish a chart of accounts. Companies use a logical layout that mirrors the IFRS statements, such as classes 1 to 8 for assets through income tax.
What is the difference between a group account and a postable account?
+
A group account totals the accounts beneath it and never receives postings directly. A postable account is a leaf of the tree where debits and credits are recorded. In Ledgeriano an account becomes a group as soon as it has children.
How many accounts should a chart of accounts have?
+
Most small and mid-sized businesses work well with 80 to 250 accounts including groups. If you find yourself creating an account per customer, branch or project, use dimensions such as parties, cost centers and projects instead.
What is a contra account?
+
A contra account carries the opposite balance of the account it belongs with and reduces it on the statements. Accumulated depreciation (credit balance among assets) and allowance for doubtful accounts are the most common examples.
Can I change my chart of accounts after I start posting?
+
You can add accounts and rename them at any time, but changing the type or structure of accounts with history is restricted to protect the ledger. Larger restructuring is best done at the start of a new fiscal year, which in Ledgeriano gets its own copy of the chart.
Reviewed by our accounting specialists. Published:



