Key takeaways
- A single chart of accounts for the group does not mean every company uses every account. It means the same account has the same meaning in every company.
- An account code should hold only the "type" of transaction. Project, company and department should be separate dimensions.
- The account code determines how a transaction is recognised. Choosing the wrong one affects the income statement, tax and covenants.
What is a chart of accounts
A chart of accounts is a systematically arranged list of a business's accounts, each with a code. It lets accountants, executives and auditors share the same understanding of where a figure comes from and where it sits in the financial statements. Keeping books without a chart is like travelling without a map: at closing time the figures are scattered and hard to consolidate.
Basic code structure
| Group | Code | Example accounts | Where it appears in the financial statements |
|---|---|---|---|
| Asset | 1xxxx | Cash, receivables, inventory, WIP, land held for development | Balance Sheet |
| Liability | 2xxxx | Payables, loans, advances received, accrued expenses | Balance Sheet |
| Equity | 3xxxx | Registered capital, retained earnings | Balance Sheet |
| Revenue | 4xxxx | Revenue from sales, other income | P&L |
| Expenses | 5xxxx | COGS, SG&A, interest expense | P&L |
Land held for development and sale is inventory under TAS 2, not property, plant and equipment under TAS 16, so it should have separate accounts within the inventory category.
Why codes matter
- Controlling the treatment: Codes 1xxxx are held as assets, while 5xxxx are expensed in the period incurred, so they affect profit and tax.
- Automated reporting: The ERP pulls the codes to prepare the financial statements, so a good structure means a faster close.
- Audit trail: Auditors can trace a journal entry back to its source document.
Example: sales commission
A company incurs commission of THB 1,000,000 on a unit that will be transferred in 18 months. The codes are illustrative.
When the commission obligation arises
| Code | Account | Debit | Credit |
|---|---|---|---|
| 11050 | Deferred Commission | 1,000,000 | |
| 21000 | Accrued Commission Payable | 1,000,000 |
On ownership transfer and revenue recognition
| Code | Account | Debit | Credit |
|---|---|---|---|
| 50004 | Commission Expense | 1,000,000 | |
| 11050 | Deferred Commission | 1,000,000 |
When the cash is actually paid, debit the accrued liability account 21000 and credit cash. If the commission were booked to 50004 from day one, profit before tax for that period would fall by THB 1,000,000 even though no revenue has yet been recognised. This treatment reflects the approach to costs of obtaining a contract under TFRS 15. Entities using TFRS for NPAEs should check their accounting policy with the auditor.
Group principles
| Principle | How it is done |
|---|---|
| Single logic | The same account has the same definition and treatment in every company. |
| Use only what is needed | Each company activates only the relevant accounts, without changing their meaning. |
| Dimensions instead of codes | Company, project, phase, department and cost code are kept separate from the account code. |
| Dedicated intercompany accounts | Keep intercompany receivables, payables and loans in separate accounts, together with a counterparty code. |
| Single mapping | Map to the statutory financial statements, consolidated statements, tax, covenants and management reports. |
| Chart owner | Group Finance owns the chart. Adding an account requires a request. |
Dimensions a developer should have
| Dimension | Used to answer | Example |
|---|---|---|
| Entity | Company-level financial statements | Holding, SPV-01 |
| Project / Phase | Project results | Sample project, Phase 1 |
| Cost Code | Cost against BoQ and budget | Structure, building services, fit-out |
| Department | Overhead | Sales, finance |
| Counterparty | Matching intercompany transactions | ICP-SPV-02 |
| Funding Source | Funding and interest allocation | Senior Loan, Equity |
A design that is hard to fix
Opening new accounts for every project, such as construction cost for projects A, B and C. As projects are added, the chart keeps growing and cross-project comparison becomes difficult.
A scalable design
Use a single "construction cost" account and add project and cost code dimensions. You can report from any angle without adding codes.
Account categories to keep clearly separate
- Purpose-specific cash, such as project receipt, escrow, DSRA and juristic holding accounts
- Customer deposits as a liability, split by type of receipt
- Sinking fund and common area fees held on behalf of the juristic person
- Land and work in progress under development within the inventory category
- Capitalised borrowing costs in the project, separate from interest expense
- Costs of obtaining a contract
- Retention, both amounts withheld and the receivable side
- Tax accounts, such as input VAT pending refund, output VAT, WHT and SBT
- Intercompany loans and interest
Moving to a group chart of accounts
- Survey Collect every company's accounts and review actual movements.
- Define Write a description and usage examples for every account.
- Map Map the old chart to the new one and specify the dimensions.
- Test Run a retrospective close and compare the results with the original financial statements.
- Launch Start at the beginning of an accounting period and close the old codes.
- Govern Control the addition of codes and periodically review unused accounts.
A good design balances detail for analysis against simplicity for practical use, because every figure in the financial statements starts from a single account code.