- 04
- May
Government accountants and executives reading GFMIS reports or Bureau of the Budget documents will see long codes like 0700-300-001-002-... everywhere. These are not random — they are standardized budget codes that trace every baht from ministry level down to the activity that consumes it.
Executives who cannot read this code cannot read budget reports. They will not know whether a budget line is "personnel for Mission Group A under Plan B of Output C" or "investment for a different plan" — even though both lines, by law, cannot be substituted for each other.
This article unpacks the 23-digit code structure (4-3-3-4-2-4-3 format) layer by layer, with real examples.
Why So Long?
Because the Thai government's ~1.7 trillion baht annual budget must be traceable line by line — from ministry level all the way to "water bill for building X" under "activity Y" of "plan Z" within "mission group A" of "department B".
The Comptroller-General's Department and Bureau of the Budget data systems must reflect this full hierarchy so reports can be summarized, broken down, and rolled up at any level.
Code Structure — 5 Layers
| Layer | Name | Digits | Example |
|---|---|---|---|
| 1 | Ministry / Agency | 4 | 0700 = Ministry of Finance |
| 2 | Mission Group | 3 | 300 = Fiscal Mission |
| 3 | Plan | 3 | 001 = Fiscal Administration Plan |
| 4 | Output / Project | 4 | 0002 = Financial Reports Output |
| 5 | Activity + Expenditure type | multiple | activity + budget type code |
So 0700-300-001-0002-... reads as "Ministry of Finance / Fiscal Mission / Fiscal Administration Plan / Financial Reports Output / ..."
Layer 1 — Ministry/Agency Code (4 digits)
The first 4 digits identify the budget owner — using the standard agency-code list maintained by the CGD.
| Code | Agency |
|---|---|
0100 | Office of the Prime Minister |
0200 | Ministry of Defence |
0300 | Ministry of Foreign Affairs |
0700 | Ministry of Finance |
0800 | Ministry of Tourism and Sports |
2500 | Ministry of Higher Education, Science, Research & Innovation |
Note: codes are revised when government structure changes — always reference CGD's latest table.
Layer 2 — Mission Group (3 digits)
Mission Group classifies the agency's primary lines of work — typically 3-7 per ministry. Examples:
- Ministry of Finance — Fiscal / Revenue / Public Debt missions, etc.
- MHESI — Higher Education / Science / Research & Innovation
- Ministry of Public Health — Prevention / Treatment / Rehabilitation
Mission groups are the level at which KPIs are measured and agency performance is evaluated by OPDC.
Layer 3 — Plan (3 digits)
Plans are activity bundles tied to a fiscal year — multiple types:
| Plan type | Nature |
|---|---|
| Function-based | Routine work per the agency's mandate |
| Strategic | Aligned to national strategy |
| Integrated | Cross-agency programs (e.g., water, border) |
| Administrative | Org-management work — payroll, facilities |
The "Plan" layer is what passes through the Budget Vetting Committee and Parliament. Cannot be changed mid-year except via approved transfer.
Layer 4 — Output / Project (4 digits)
"Output" is what the agency produces from spending the budget — for example:
- Public-Sector Financial Reports Output (CGD)
- Inspection Output
- Vaccine Advisory Output (Department of Disease Control)
"Project" has clear start and end — for example:
- Government ERP Implementation Project
- Science Building Construction Project
Layer 5 — Activity + Expenditure Code
The deepest layer breaks down to specific activities under outputs/projects, plus the expenditure-type code (the 5 categories from Budget (Government) vs Budget (Accounting)).
Example:
│ │ │ │ │ │ │
│ │ │ │ │ │ └─ Sub-expenditure code
│ │ │ │ │ └────── Budget type (0100=Personnel)
│ │ │ │ └────────── Sub-activity
│ │ │ └─────────────── Output
│ │ └─────────────────── Plan
│ └─────────────────────── Mission Group
└─────────────────────────── Agency
Where the Code Appears
This code appears in nearly every government document:
- Budget appropriation documents — every line tagged with code
- Disbursement filings — must specify code to debit
- GFMIS reports — every transaction has budget code
- State Audit Office reports — references codes for traceability
- OPDC reports — outcomes by code
Expenditure-Type Codes Executives Should Know
Within the longer code, the "expenditure type" portion governs how the money is disbursed and which regulations apply.
| Code | Type | Examples |
|---|---|---|
0100 | Personnel | Salary, allowances |
0200 | Operating | Materials, water, electricity, telecom |
0300 | Investment | Equipment, land, buildings |
0400 | Subsidy | Student grants |
0500 | Other | Contributions, fund transfers |
Real Example — Reading a Code
Suppose you see in a report: 0700-300-001-0002-01-0200-005, amount 50,000 baht, "office supplies".
Decoded:
0700— Ministry of Finance300— Fiscal Mission001— Fiscal Administration Plan0002— Financial Reports Output01— Report Production Activity0200— Operating budget005— Sub-expenditure "office supplies"
The code carries the full context — which ministry, doing what, under which budget type.
FAQs
Q: Who defines this code?
Bureau of the Budget defines layers 1-4. Each agency proposes activities under each output (layer 5 detail). CGD publishes the standard table for expenditure-type codes.
Q: Can the code change mid-year?
No, not within the year. The next year's appropriations act can adjust structure — proposed via the Bureau of the Budget.
Q: How must a public-sector ERP support this?
Chart of Accounts must map to the 5-layer code with these capabilities:
- Trace by any layer (e.g., "all transactions under Plan X")
- Roll up at any layer (e.g., "remaining budget for Mission Group A")
- Validate code-type compatibility (personnel budget cannot pay for office supplies)
- Export to GFMIS schema per CGD's spec
About Saeree ERP
Saeree ERP implements a Chart of Accounts that supports the full 5-layer budget code per the Bureau of the Budget and CGD standards — including validation logic that prevents wrong-type spending and a report engine that rolls up at every layer.
Live deployments: TGO, NVI, MHESI, ARDA.
3 Sentences to Remember
- The budget code is the DNA of every public-sector transaction.
- 5 layers (Agency → Mission → Plan → Output → Activity+Type) decoded one by one.
- A government ERP must support all 5 layers + GFMIS schema export.
If you can read the 23-digit code, you can read the public-sector budget.
- The Saeree ERP Team
Related:
This article was prepared from over 20 years of ERP implementation experience for Thai government agencies. Contact sale@grandlinux.com or 02-347-7730.


