Project Code of Accounts
A beginner's guide to the project code of accounts — the standardized coding system that gives every cost a "home," so costs can be collected, sorted, and reported consistently across the whole project. Built on AACE International RP 20R-98.
What a code of accounts is
If the WBS (Foundations/Planning) breaks down the work, the code of accounts is how costs are tagged against that work and other categories. Every cost transaction gets a code; the codes roll up into the reports that controls relies on. It's the unglamorous plumbing that makes consistent cost reporting possible at all.
Why the code of accounts matters
- Consistent collection — Every cost is captured against a defined code, so nothing is mis-filed or lost in an "other" bucket.
- Compare estimate to actual — If the estimate and actuals share the same codes, you can compare them directly — the basis of cost control.
- Multi-dimensional reporting — Codes let costs be sliced many ways — by area, discipline, cost type, contract — from the same data.
- Feeds the historical database — Consistently coded actuals become the historical data future estimates and norms rely on (a thread through this whole platform).
How a code of accounts is built
A code of accounts is typically a multi-field code, each field a different dimension of classification:
Using the code of accounts
Establish the code of accounts at project setup (it's a structure the controls plan defines, Lesson 1), align it across the estimate, budget, and accounting system, and apply it consistently to every transaction. Keep it stable through the project — changing codes midstream breaks comparability. Done well, it's invisible; done poorly or inconsistently, it makes reliable cost control impossible.
Nine things to remember
- A code of accounts classifies all project costs with a standardized coding structure.
- It gives every cost an address so costs collect, sort, and report consistently.
- It's the backbone of cost reporting — costs aggregate automatically and the same way every time.
- Estimate and actuals must share the code — or planned-vs-actual comparison breaks.
- It enables multi-dimensional reporting — slice by area, discipline, cost type, contract.
- It feeds the historical database — coded actuals become future estimating data.
- It's a multi-field code — where, what (≈ WBS), and cost type.
- Establish it at setup and keep it stable — changing codes midstream breaks comparability.
- Code of accounts + OBS = control accounts — the unit of cost control (next lesson).
Glossary
- Code of accounts
- The coding structure classifying all project costs.
- Control account
- Where a work element meets a responsible team.
- Cost code
- The specific code tagging a transaction.
- Cost type
- Labour, material, equipment, or subcontract.
- Historical database
- Coded actuals reused for future estimates.
- Roll-up
- Summing coded costs into higher-level totals.
- Standard code
- A reusable coding structure across projects.
- Work element
- A unit of work, often aligned to the WBS.