Using the chart

Local detail and releases

How to add your own codes without breaking the standard, and how the standard changes over time.

Adding local detail

Every universal code sits inside a block that reserves room for local detail. For example, 1000 is cash and 1001-1049 is reserved for an agency's own cash accounts; 3300 is charges for services and 3342-3399 is reserved for an agency's own fee codes.

A local code:

  1. Must sit inside a reserved local-detail range.
  2. Rolls up to the universal code at the start of its block.
  3. Reports on exactly the line its reserved range reports on, on every State Controller report.

Rule 3 is what makes local detail safe: an agency can add as many codes as it needs without changing a single report line. Every release tests it for every reserved range, fund type, and report.

When a report asks for more detail than a published code carries, the answer is a published code, not a local one. Release 2027.03 added codes for the detail the enterprise forms ask for (water and electric sales by customer class, airport and harbor revenues, hospital revenues, investments by type) so that no agency has to invent them. If a local code needs to report somewhere its range does not, suggest a code for the next release.

Adding your own codes lists every reserved range and where it reports.

Funds follow the same idea with a fourth digit (5101 is a water subfund that still reports as water, fund 510), and departments with added digits (50 public works, 501 street maintenance, 5012 district 2).

Code status

Every code carries a status:

  • Adopted — published in an approved release. Its meaning will not change.
  • Proposed — new or changed in the current draft release, open for review.
  • Deprecated — kept for history; do not use for new postings.

Releases

The CACOA is published in numbered releases (2026.03, 2026.10). Each release has:

  • the full tables in Excel and CSV,
  • a quick reference workbook,
  • the FTR crosswalk workbook, including mapping rules ready to load into reporting software,
  • a changelog listing every change and why it was made,
  • a coverage report showing that every code resolves to exactly one line on each report,
  • the assurance results: every test the release passed or failed, with statewide evidence (how the CACOA is tested).

A draft release becomes an approved release after review. Corrections found after approval go into the next release; published codes are never silently renumbered.

Suggesting a change

Anyone may suggest a code, a correction, or a better crosswalk rule. A good suggestion names the code or FTR line, describes the transactions involved without identifying any agency, and says which report is affected.