414 Ledger & statements
Today: 9 Nov 2026

Balance sheet

Statement of financial position as of 9 Nov 2026

Assets = Liabilities + Equity
Total assets
8,046,908.84
Total liabilities
1,405,028.40
Equity
6,641,880.44

Assets

Current assets
1000 Petty cash 33,127.80
1010 Bank - KBank current account 3,897,456.25
1020 Bank - SCB savings account 1,110,137.60
1100 Accounts receivable 2,004,228.39
1150 Input VAT 157,153.50
1160 Withholding tax prepaid 137,005.30
Total current assets7,339,108.84
Non-current assets
1500 Office equipment 300,000.00
1510 Computer equipment 660,000.00
1590 Accumulated depreciation -252,200.00
Total non-current assets707,800.00
TOTAL ASSETS8,046,908.84

Liabilities and equity

Current liabilities
2000 Accounts payable 88,061.00
2100 Output VAT 455,448.70
2150 Withholding tax payable 61,518.70
Total current liabilities605,028.40
Long-term liabilities
2500 Long-term bank loan 800,000.00
Total long-term liabilities800,000.00
Equity
3000 Share capital 2,000,000.00
3100 Retained earnings 750,000.00
Profit for 2026 to date 3,891,880.44
Total equity6,641,880.44
TOTAL LIABILITIES AND EQUITY8,046,908.84
Accumulated depreciation is a contra asset: it lives on the asset side with a negative balance. Profit is not closed into retained earnings yet, so it is shown as its own line in equity.
How this works - feature 414 Assets = Liabilities + Equity on any date.

Concepts

  • Assets and liabilities are grouped by sub_type (current / non-current).
  • There are no closing entries, so this year's profit is calculated and shown inside equity.
  • If the two totals differ, something was posted without a balancing line - the page tells you.

Read the code

  • service/ReportService#balanceSheet

SQL behind this page

SELECT account_id, account_code, account_name, sub_type, SUM(natural_amount) AS amount
FROM v_ledger
WHERE account_type IN ('ASSET','LIABILITY','EQUITY') AND entry_date <= :asOf
GROUP BY account_id, account_code, account_name, sub_type
HAVING SUM(natural_amount) <> 0
ORDER BY account_code

-- profit inside equity
SELECT COALESCE(SUM(CASE WHEN account_type = 'REVENUE' THEN natural_amount ELSE -natural_amount END), 0)
FROM v_ledger
WHERE account_type IN ('REVENUE','EXPENSE') AND entry_date BETWEEN :from AND :to