Chart of Accounts (All Countries)

Unified Chart of Accounts Reference

Last Updated: 2026-02-20 Purpose: Cross-country comparison and implementation guide for Bilko's Chart of Accounts

Overview

All three target markets (Serbia, Bosnia & Herzegovina, Croatia) use a class-based Chart of Accounts structure inherited from the former Yugoslav accounting system. Despite political separation, the accounting frameworks remain structurally similar with 10 main classes (0-9).

graph TD
    subgraph BALKAN["Balkan Chart of Accounts — Universal Classes 0-9"]
        direction LR
        CL0["Class 0<br/>Stalna imovina<br/>Long-term Assets<br/>DEBIT normal"]
        CL1["Class 1<br/>Obrtna imovina<br/>Current Assets<br/>DEBIT normal"]
        CL2["Class 2<br/>Kratkoročne obaveze<br/>Short-term Liabilities<br/>CREDIT normal"]
        CL3["Class 3<br/>Kapital<br/>Equity<br/>CREDIT normal"]
        CL4["Class 4<br/>Dugoročne obaveze<br/>Long-term Liabilities<br/>CREDIT normal"]
        CL5["Class 5<br/>Rashodi<br/>Expenses<br/>DEBIT normal"]
        CL6["Class 6<br/>Prihodi<br/>Revenue<br/>CREDIT normal"]
        CL7["Class 7<br/>RS/BA: Troškovi (Costs)<br/>HR: Dobici i Gubici (Gains/Losses)<br/>MIXED"]
        CL8["Class 8<br/>Vanbilansna evidencija<br/>Off-Balance Sheet<br/>DEBIT memorandum"]
        CL9["Class 9<br/>Interna računovodstva<br/>Internal Accounting<br/>MIXED — enterprise only"]
    end

    BS["Balance Sheet"] --> CL0
    BS --> CL1
    BS --> CL2
    BS --> CL3
    BS --> CL4
    PL["P&L Statement"] --> CL5
    PL --> CL6
    PL --> CL7

    style CL0 fill:#198754,color:#fff
    style CL1 fill:#198754,color:#fff
    style CL2 fill:#dc3545,color:#fff
    style CL3 fill:#6f42c1,color:#fff
    style CL4 fill:#dc3545,color:#fff
    style CL5 fill:#fd7e14,color:#fff
    style CL6 fill:#0d6efd,color:#fff
    style CL7 fill:#6c757d,color:#fff
    style CL8 fill:#adb5bd,color:#fff
    style CL9 fill:#adb5bd,color:#fff
    style BS fill:#0d6efd,color:#fff
    style PL fill:#198754,color:#fff

Universal Structure (Classes 0-9)

Class 0: Long-term Assets (Stalna imovina / Dugotrajna imovina)

Normal Balance: Debit Examples:

Bilko AccountType: asset (debit normal balance)


Class 1: Current Assets (Obrtna imovina / Kratkotrajna imovina)

Normal Balance: Debit Examples:

Bilko AccountType: asset (debit normal balance)


Class 2: Short-term Liabilities (Kratkoročne obaveze)

Normal Balance: Credit Examples:

Bilko AccountType: liability (credit normal balance)


Class 3: Capital and Equity (Kapital / Glavni kapital)

Normal Balance: Credit Examples:

Bilko AccountType: equity (credit normal balance)


Class 4: Long-term Liabilities (Dugoročne obaveze)

Normal Balance: Credit Examples:

Bilko AccountType: liability (credit normal balance)


Class 5: Expenses (Rashodi / Troškovi poslovanja)

Normal Balance: Debit Examples:

Bilko AccountType: expense (debit normal balance)


Class 6: Revenue (Prihodi)

Normal Balance: Credit Examples:

Bilko AccountType: revenue (credit normal balance)


Class 7: Cost / Gains and Losses (Troškovi / Dobici i gubici)

Normal Balance: Mixed (varies by country)

NOTE: This class has different usage across the three countries:

Serbia & BiH: Costs (Troškovi)

Croatia: Gains and Losses (Dobici i gubici)

Bilko Implementation:


Class 8: Off-Balance Sheet Items (Vanbilansna evidencija)

Normal Balance: Debit (memorandum accounts) Examples:

Bilko AccountType: asset (debit memorandum) Note: These accounts do NOT affect the balance sheet totals — they are for tracking only.


Class 9: Internal Accounting (Interna računovodstva)

Normal Balance: Mixed (company-specific) Examples:

Bilko AccountType: Mixed — depends on company's internal structure Usage: Primarily for large multi-division companies. NOT needed for SMB MVP.


Account Numbering Hierarchy

graph TD
    CL["1 — Current Assets (Class)"]
    GRP["12 — Short-term Receivables (Group)"]
    ACC1["120 — Trade Receivables Domestic (Account)"]
    ACC2["121 — Trade Receivables Foreign (Account)"]
    SA1["1200 — Trade Rec. — EU (Sub-account)"]
    SA2["1201 — Trade Rec. — Non-EU (Sub-account)"]
    SA3["1210 — Foreign Rec. — EU (Sub-account)"]
    SA4["1211 — Foreign Rec. — Non-EU (Sub-account)"]

    CL --> GRP
    GRP --> ACC1
    GRP --> ACC2
    ACC1 --> SA1
    ACC1 --> SA2
    ACC2 --> SA3
    ACC2 --> SA4

    MVP["MVP Scope<br/>2-3 digit codes<br/>covers 95% of SMBs"]
    PH2["Phase 2<br/>4+ digit analytical accounts<br/>enterprise clients"]

    ACC1 -.->|"MVP"| MVP
    SA1 -.->|"Phase 2"| PH2

    style CL fill:#0d6efd,color:#fff
    style GRP fill:#0d6efd,color:#fff,stroke-dasharray: 5 5
    style ACC1 fill:#198754,color:#fff
    style ACC2 fill:#198754,color:#fff
    style SA1 fill:#6c757d,color:#fff
    style SA2 fill:#6c757d,color:#fff
    style SA3 fill:#6c757d,color:#fff
    style SA4 fill:#6c757d,color:#fff
    style MVP fill:#ffc107,stroke:#e0a800
    style PH2 fill:#adb5bd,color:#fff

Country-Specific Differences

Serbia

Bosnia & Herzegovina

Croatia


Country Divergence — Class 7

graph LR
    CL7["Class 7"]

    CL7 --> RS7["Serbia RS<br/>Troškovi (Costs)<br/>70: Cost of goods sold<br/>71: Cost of services sold<br/>72: Production costs<br/>AccountType: expense"]

    CL7 --> BA7["Bosnia BA<br/>Troškovi (Costs)<br/>70: Cost of goods sold<br/>71: Cost of services sold<br/>72: Production costs<br/>AccountType: expense"]

    CL7 --> HR7["Croatia HR<br/>Dobici i gubici<br/>(Gains and Losses)<br/>70: Extraordinary gains<br/>71: Extraordinary losses<br/>72: Prior period adjustments<br/>AccountType: revenue/expense mixed"]

    RS7 --> SAME["Serbia + BiH<br/>Identical Class 7 treatment<br/>Cost accounting focus"]
    BA7 --> SAME

    HR7 --> DIFF["Croatia differs<br/>Non-operating items only<br/>Bilko: type depends on sub-account"]

    style CL7 fill:#6c757d,color:#fff
    style RS7 fill:#c0392b,color:#fff
    style BA7 fill:#2c3e50,color:#fff
    style HR7 fill:#e74c3c,color:#fff
    style SAME fill:#198754,color:#fff
    style DIFF fill:#ffc107,stroke:#e0a800

MVP Implementation for Bilko

Minimum Chart of Accounts for SMBs

A basic SMB in any of the three markets needs at minimum 30-40 accounts to operate legally:

Assets (Classes 0-1)

Liabilities (Classes 2, 4)

Equity (Class 3)

Revenue (Class 6)

Expenses (Class 5)

Total: ~40 accounts (covers 90% of SMB transactions)


Seed Data Strategy

Approach: Country-Specific Presets

Bilko should ship with 3 predefined Chart of Accounts templates:

  1. Serbia — SMB Standard (Serbian language, Classes 0-6 + 8)
  2. BiH — FBiH SMB Standard (Bosnian language, IFRS-aligned, Classes 0-6 + 8)
  3. BiH — RS SMB Standard (Serbian language, IFRS-aligned, Classes 0-6 + 8)
  4. Croatia — SMB Standard (Croatian language, RRiF-based, Classes 0-6 + 7-gains/losses + 8)

Installation Process

On Company Setup:

  1. User selects country: Serbia / BiH-FBiH / BiH-RS / Croatia
  2. Bilko seeds database with relevant Chart of Accounts preset
  3. User can:
    • Accept preset as-is (recommended for new businesses)
    • Customize (add/edit/hide accounts)
    • Import existing chart (for migrating companies)

Database Schema

-- Chart of Accounts Table
CREATE TABLE chart_of_accounts (
  id INTEGER PRIMARY KEY,
  company_id INTEGER NOT NULL,
  code TEXT NOT NULL,           -- e.g., "120", "600"
  name TEXT NOT NULL,            -- e.g., "Potraživanja od kupaca", "Prihodi od prodaje"
  name_en TEXT,                  -- English translation (optional)
  account_type TEXT NOT NULL,    -- 'asset', 'liability', 'equity', 'revenue', 'expense'
  class INTEGER NOT NULL,        -- 0-9
  parent_code TEXT,              -- for hierarchical charts (e.g., "12" parent of "120")
  country TEXT NOT NULL,         -- 'RS' (Serbia), 'BA-FBiH', 'BA-RS', 'HR' (Croatia)
  is_system BOOLEAN DEFAULT 1,  -- system preset vs user-created
  is_active BOOLEAN DEFAULT 1,  -- allow hiding unused accounts
  FOREIGN KEY (company_id) REFERENCES companies(id),
  UNIQUE (company_id, code)
);

-- Example Seed Data (Serbia)
INSERT INTO chart_of_accounts (company_id, code, name, account_type, class, country) VALUES
  (1, '120', 'Potraživanja od kupaca', 'asset', 1, 'RS'),
  (1, '140', 'Novac u banci', 'asset', 1, 'RS'),
  (1, '210', 'Obaveze prema dobavljačima', 'liability', 2, 'RS'),
  (1, '240', 'PDV za uplatu', 'liability', 2, 'RS'),
  (1, '300', 'Osnovni kapital', 'equity', 3, 'RS'),
  (1, '600', 'Prihodi od prodaje robe', 'revenue', 6, 'RS'),
  (1, '510', 'Troškovi zarada', 'expense', 5, 'RS');

Multi-Country Handling

Scenario: Company operates in multiple countries

Example: Serbian company (HQ) with BiH branch and Croatian client invoicing

Approach:

  1. Primary Chart: Serbia (company HQ location)
  2. Secondary Charts: BiH and Croatia (linked, not duplicated)
  3. Mapping Table: Maps Serbian account codes to BiH/Croatia equivalents
CREATE TABLE account_mapping (
  id INTEGER PRIMARY KEY,
  company_id INTEGER NOT NULL,
  source_code TEXT NOT NULL,      -- e.g., "120" (Serbia)
  source_country TEXT NOT NULL,   -- 'RS'
  target_code TEXT NOT NULL,      -- e.g., "120" (BiH)
  target_country TEXT NOT NULL,   -- 'BA-FBiH'
  FOREIGN KEY (company_id) REFERENCES companies(id)
);

Usage:


IFRS Alignment (BiH Requirement)

Challenge

BiH legally requires IFRS Accounting Standards, but traditional Chart of Accounts is NOT IFRS.

Solution: Hybrid Approach

  1. Internal Recording: Use traditional Chart of Accounts (Classes 0-9)

    • This is what accountants know
    • Compatible with neighboring Serbia and Croatia
    • Easy for SMBs to understand
  2. Financial Statements: Generate IFRS-compliant reports via mapping

    • Map Class 0-1 → IFRS Statement of Financial Position (Assets)
    • Map Class 2-4 → IFRS Statement of Financial Position (Liabilities)
    • Map Class 3 → IFRS Statement of Financial Position (Equity)
    • Map Class 5-6 → IFRS Statement of Comprehensive Income
  3. IFRS Disclosure Notes: Auto-generate based on account types

    • Property, Plant & Equipment (Class 02)
    • Inventories (Class 10-12)
    • Trade Receivables (Class 13)
    • etc.

Benefit: SMBs can use familiar Chart of Accounts, but produce IFRS-compliant financial statements when needed (e.g., for bank loans, audits).


Account Numbering Schemes

Standard Practice (All Three Countries)

Example Hierarchy:

1   — Current Assets (Class)
 12  — Short-term Receivables (Group)
  120 — Trade Receivables - Domestic (Account)
  121 — Trade Receivables - Foreign (Account)
   1210 — Trade Receivables - EU (Sub-account)
   1211 — Trade Receivables - Non-EU (Sub-account)

Bilko Recommendation


Implementation Checklist for Bilko

Phase 1 (MVP)

Phase 2

Phase 3


Sources


Revision #3
Created 2026-02-23 10:48:11 UTC by John
Updated 2026-05-31 20:02:50 UTC by John