Proof, not promises
How the CACOA is tested
A chart of accounts is only worth adopting if it works on real books. Every release runs the tests below, and the results are published whether they pass or not.
Tests passed
40 of 42
Watch items
2
Failures
0
Changeovers placing every dollar
3 of 3
Release 2027.03 (proposed), tested September 29, 2026.
What agencies actually filed
For each report, the dollars every filer reported statewide in the latest year, and the share that sits on a line some CACOA code reaches. A line no code reaches would have to be filled by hand.
| Report | Year | Reported statewide | Chart can produce |
|---|---|---|---|
| Cities Financial Transactions Report | FY2024 | $239.6B | 99.9% |
| Counties Financial Transactions Report | FY2024 | $307.0B | 99.9% |
| Special Districts Financial Transactions Report | FY2024 | $228.7B | 99.8% |
| Special Districts Financial Transactions Report — Transportation form | FY2024 | $7.1B | 100.0% |
| Transit Operators Financial Transactions Report | FY2025 | $24.7B | 99.9% |
| Transportation Planning Agencies Financial Transactions Report | FY2024 | $16.4B | 100.0% |
| Public Retirement Systems Financial Transactions Report | FY2024 | $286.6B | 100.0% |
| Annual Street Report | FY2025 | $17.3B | 98.8% |
| Annual Road Report | FY2025 | $6.7B | 96.0% |
Structure
The tables are internally consistent.
- Pass
Do the source tables pass every structural check?
0 errors, 2 warnings across 43 tables
Why it matters: Unique codes, ranges inside their classes, no overlaps, parents that exist, crosswalk targets that exist, documented columns.
Details
- WARN FTR_XWALK[XW0557] LGRS marks the target row as calculated
- WARN FTR_XWALK[XW0558] LGRS marks the target row as calculated
- Info
How big is the chart, and how much is still proposed?
159 funds, 72 departments, 208 functions, 527 objects; 632 adopted, 334 proposed
Local detail
An agency's own codes behave exactly as the manual says.
- Pass
Does every local detail code report exactly where its reserved range reports?
10,080 checks across 80 local ranges; 0 differences
Why it matters: An agency's own codes inside a reserved range must never change where money is reported.
- Pass
Does every four-digit subfund roll up to its three-digit fund?
159 funds tested; 0 failures
- Pass
Does every department name a default function, so an agency that skips functions still reports correctly?
72 departments; 0 without a valid default
- Pass
Do the local-detail function codes report on a line?
9 local-detail functions; 0 unresolved
Valid combinations
Every rule that blocks a combination explains itself.
- Pass
Does every invalid combination say why and how to fix it?
30 rules; 0 missing a reason or fix
- Info
How much of the fund-by-object grid is valid?
5,320 of 7,350 fund type and object pairs are valid (72.4%)
Cities FTR
Every posting reaches exactly one line: no gaps, no conflicts.
- Pass
Does every code reach a Cities FTR line on every axis it needs, in every fund type and function?
726,650 checks; 0 gaps
- Pass
Is there ever more than one line for the same posting?
0 conflicts
- Pass
Does every target line have the column the rule needs?
0 missing
- Pass
Which Cities FTR lines can no ledger code feed, and why?
62 lines: 28 preparer entries, 20 aid for construction, 11 second 'other' lines, 3 statistics and splits
Why it matters: Preparer entries and statistics are typed into the report, not posted.
- Pass
Is every rule used by some code?
0 unused rules
Other State Controller reports
The same proof for counties, districts, transit, and the rest.
- Pass
Counties Financial Transactions Report: does every posting land on exactly one line or a documented exclusion?
586,191 checks; 0 gaps, 0 conflicts; 1085 of 1210 report cells reachable; 356 of 409 shared form rows reachable
- Pass
Special Districts Financial Transactions Report: does every posting land on exactly one line or a documented exclusion?
402,375 checks; 0 gaps, 0 conflicts; 231 of 257 report cells reachable; 325 of 366 shared form rows reachable
- Pass
Special Districts Financial Transactions Report — Transportation form: does every posting land on exactly one line or a documented exclusion?
509,601 checks; 0 gaps, 0 conflicts; 35 of 35 report cells reachable
- Pass
Transit Operators Financial Transactions Report: does every posting land on exactly one line or a documented exclusion?
402,375 checks; 0 gaps, 0 conflicts; 45 of 51 report cells reachable
- Pass
Transportation Planning Agencies Financial Transactions Report: does every posting land on exactly one line or a documented exclusion?
19,425 checks; 0 gaps, 0 conflicts; 82 of 83 report cells reachable
- Pass
Public Retirement Systems Financial Transactions Report: does every posting land on exactly one line or a documented exclusion?
20,239 checks; 0 gaps, 0 conflicts; 31 of 31 report cells reachable
- Pass
Annual Street Report: does every posting land on exactly one line or a documented exclusion?
708,735 checks; 0 gaps, 0 conflicts; 66 of 94 report cells reachable
- Pass
Annual Road Report: does every posting land on exactly one line or a documented exclusion?
708,735 checks; 0 gaps, 0 conflicts; 66 of 89 report cells reachable
Nothing lost, nothing doubled
A synthetic trial balance comes out whole.
- Pass
In a random balanced trial balance, does every valid posting reach its lines?
2,250 postings in 9 fund types; 2,250 reached every required axis; 0 did not
- Pass
Do governmental expenditures total the same by function (forms 24-28) and by object (form 29)?
by function 494,985.73; by object 494,985.73
Why it matters: The FTR reports the same spending twice, by function and by object; the chart must feed both from each posting.
- Info
Which postings are intentionally left off the FTR?
217 postings excluded by rule
Why it matters: Examples: pooled cash, capital outlay and principal in proprietary funds, government-wide conversion entries outside form 40.
Details
- GOVERNMENT_WIDE Revenues: 147
- GOVERNMENT_WIDE Assets: 21
- GOVERNMENT_WIDE Materials & Services: 19
- GOVERNMENT_WIDE Other Financing Sources/Uses: 12
- GOVERNMENT_WIDE Payroll & Benefits: 7
- GOVERNMENT_WIDE Debt Service: 6
- GOVERNMENT_WIDE Liabilities: 3
- GOVERNMENT_WIDE Deferred Inflows of Resources: 1
- GOVERNMENT_WIDE Fund Balance / Net Position: 1
What agencies actually filed
Statewide filings the chart can reproduce.
- Pass
Of the dollars agencies reported statewide on this report in FY2024, how much can the chart produce from a ledger?
99.9% of $239.6B; another $5.0B sits on lines outside the published field catalog (the consolidated city and county's county lines)
Why it matters: Statewide totals from the State Controller's By the Numbers data; no agency's own figures are used.
Details
- 2017: 99.9% of $154.8B
- 2018: 99.9% of $167.3B
- 2019: 100.0% of $179.8B
- 2020: 100.0% of $185.4B
- 2021: 99.9% of $192.7B
- 2022: 99.9% of $211.8B
- 2023: 99.9% of $223.0B
- 2024: 99.9% of $239.6B
- Largest unreached lines:
- $1,204.3M [not in the Cities FTR catalog] Administration and Programs
- $767.0M [not in the Cities FTR catalog] Aid Programs - Cash (Grants)
- $535.2M [not in the Cities FTR catalog] Public Health
- Pass
Of the dollars agencies reported statewide on this report in FY2024, how much can the chart produce from a ledger?
99.9% of $307.0B
Why it matters: Statewide totals from the State Controller's By the Numbers data; no agency's own figures are used.
Details
- 2017: 99.8% of $179.1B
- 2018: 99.9% of $192.8B
- 2019: 99.9% of $211.7B
- 2020: 99.9% of $223.2B
- 2021: 99.9% of $243.1B
- 2022: 99.9% of $257.1B
- 2023: 99.9% of $278.2B
- 2024: 99.9% of $307.0B
- Largest unreached lines:
- $308.8M Senior Citizens Programs (general)
- $198.1M Aid for Construction_Intergovernmental - State_Hospital Ente (amount)
- $191.1M Office of Criminal Justice Planning (OCJP) (general)
- Pass
Of the dollars agencies reported statewide on this report in FY2024, how much can the chart produce from a ledger?
99.8% of $228.7B
Why it matters: Statewide totals from the State Controller's By the Numbers data; no agency's own figures are used.
Details
- 2017: 99.6% of $135.5B
- 2018: 99.6% of $158.2B
- 2019: 99.8% of $168.9B
- 2020: 99.8% of $173.2B
- 2021: 99.7% of $174.6B
- 2022: 99.8% of $198.1B
- 2023: 99.8% of $212.9B
- 2024: 99.8% of $228.7B
- Largest unreached lines:
- $689.9M Property Assessments (12)
- $349.1M Aid for Construction_Intergovernmental - Federal (amount)
- $316.4M Aid for Construction_Intergovernmental - State (amount)
- Pass
Of the dollars agencies reported statewide on this report in FY2024, how much can the chart produce from a ledger?
100.0% of $7.1B
Why it matters: Statewide totals from the State Controller's By the Numbers data; no agency's own figures are used.
Details
- 2018: 100.0% of $4.1B
- 2019: 100.0% of $4.6B
- 2020: 100.0% of $4.6B
- 2021: 100.0% of $4.9B
- 2022: 100.0% of $5.5B
- 2023: 100.0% of $5.5B
- 2024: 100.0% of $7.1B
- Largest unreached lines:
- Pass
Of the dollars agencies reported statewide on this report in FY2025, how much can the chart produce from a ledger?
99.9% of $24.7B
Why it matters: Statewide totals from the State Controller's By the Numbers data; no agency's own figures are used.
Details
- 2019: 100.0% of $18.6B
- 2020: 100.0% of $20.1B
- 2021: 100.0% of $19.5B
- 2022: 100.0% of $23.0B
- 2023: 100.0% of $22.2B
- 2024: 99.9% of $23.9B
- 2025: 99.9% of $24.7B
- Largest unreached lines:
- $42.7M Other Nonadded Revenues (amount)
- $20.6M Total Recoveries (amount)
- $5.1M School Bus Service Revenues (amount)
- $2.2M Capital Leases (amount)
- Pass
Of the dollars agencies reported statewide on this report in FY2024, how much can the chart produce from a ledger?
100.0% of $16.4B
Why it matters: Statewide totals from the State Controller's By the Numbers data; no agency's own figures are used.
Details
- 2019: 100.0% of $11.6B
- 2020: 100.0% of $11.5B
- 2021: 100.0% of $12.1B
- 2022: 100.0% of $14.1B
- 2023: 100.0% of $15.8B
- 2024: 100.0% of $16.4B
- Largest unreached lines:
- $0.2M Lease Expense (amount)
- Pass
Of the dollars agencies reported statewide on this report in FY2024, how much can the chart produce from a ledger?
100.0% of $286.6B
Why it matters: Statewide totals from the State Controller's By the Numbers data; no agency's own figures are used.
Details
- 2019: 100.0% of $177.1B
- 2020: 100.0% of $175.4B
- 2021: 100.0% of $388.3B
- 2022: 100.0% of $255.7B
- 2023: 100.0% of $227.5B
- 2024: 100.0% of $286.6B
- Largest unreached lines:
- Watch
Of the dollars agencies reported statewide on this report in FY2025, how much can the chart produce from a ledger?
98.8% of $17.3B; $0.08B of preparer adjustments not counted
Why it matters: Statewide totals from the State Controller's By the Numbers data; no agency's own figures are used.
Details
- 2018: 91.6% of $11.1B
- 2019: 96.9% of $11.0B
- 2020: 97.1% of $11.6B
- 2021: 97.8% of $10.9B
- 2022: 98.1% of $11.5B
- 2023: 98.3% of $13.1B
- 2024: 98.6% of $15.0B
- 2025: 98.8% of $17.3B
- Largest unreached lines:
- $969.9M Highway Bridge Replacement and Rehabilitation Program (amount)
- $420.3M Undistributed Engineering and Administration (force_account)
- $307.1M Transportation Enhancement Activities (TEA) (amount)
- Watch
Of the dollars agencies reported statewide on this report in FY2025, how much can the chart produce from a ledger?
96.0% of $6.7B; $0.01B of preparer adjustments not counted
Why it matters: Statewide totals from the State Controller's By the Numbers data; no agency's own figures are used.
Details
- 2018: 90.8% of $2.7B
- 2019: 90.5% of $3.0B
- 2020: 90.5% of $3.3B
- 2021: 92.2% of $3.2B
- 2022: 92.8% of $3.3B
- 2023: 93.7% of $3.7B
- 2024: 96.5% of $5.9B
- 2025: 96.0% of $6.7B
- Largest unreached lines:
- $524.0M Road Taxes on Unincorporated Areas (amount)
- $487.5M Other State Revenues - Other (amount)
- $172.5M TEA-21 State Matching / Exchange Funds (amount)
Sample changeovers
Real agencies' published ledgers, mapped and compared with their filings.
- Pass
When a real agency's published ledger is mapped to the chart, does every dollar land on a report line or a documented exclusion?
3 agencies; lowest share placed 100.0%
Why it matters: An agency changing over must be able to put every account somewhere the reports accept, without inventing codes.
Details
- Small city (2018-19): 100.0% placed, about 440 distinct accounts
- Mid-size city (2022-23): 100.0% placed, about 460 distinct accounts
- County (2024-25): 100.0% placed, about 130 distinct accounts
- Pass
How closely does the report produced from the mapped ledger match the report the agency actually filed?
70.9% to 81.3% of reported dollars on the same line
Why it matters: The rest is agency filing choices the chart makes consistent: the same transaction filed on different lines by different agencies. See the changeovers page.
Details
- Small city: 81.3% on the same line; lines holding 56.2% of filed dollars within 10%
- Mid-size city: 70.9% on the same line; lines holding 49.7% of filed dollars within 10%
- County: 76.6% on the same line; lines holding 30.3% of filed dollars within 10% (compared by share: ledger and filing are different years)
Plain language
Every code says what belongs in it, in plain words.
- Pass
Does every object have a specific, plain description with an example?
446 objects: 0 without a description, 0 generic, 49.3% with a real example; reading grade 11.2
Why it matters: Generic text ('X is a function code aligned to...'), or one paragraph copied across many codes, tells a coder nothing.
- Pass
Does every function have a specific, plain description with an example?
208 functions: 0 without a description, 0 generic, 51.0% with a real example; reading grade 10.7
Why it matters: Generic text ('X is a function code aligned to...'), or one paragraph copied across many codes, tells a coder nothing.
- Pass
Does every fund have a specific, plain description with an example?
159 funds: 0 without a description, 0 generic, 99.4% with a real example; reading grade 10.4
Why it matters: Generic text ('X is a function code aligned to...'), or one paragraph copied across many codes, tells a coder nothing.
- Pass
Does every department have a specific, plain description with an example?
72 departments: 0 without a description, 0 generic, 87.5% with a real example; reading grade 11.1
Why it matters: Generic text ('X is a function code aligned to...'), or one paragraph copied across many codes, tells a coder nothing.
- Pass
Does the data dictionary describe every column?
433 columns; 0 described only as 'Field.'
Browser tools
The finder, workbench, and search give the pipeline's answers.
- Pass
Does the FTR finder in the browser pick the same rule and LGRS field as the pipeline?
67,640 sampled accounts; 0 differences
Why it matters: The finder, the home page account check, and the workbench all use this code.
- Pass
Does the report finder in the browser land every sampled posting where the pipeline does, on every report?
188,760 sampled postings; 0 differences
- Pass
Does the browser flag exactly the invalid combinations the pipeline flags?
18,690 sampled combinations; 0 differences
- Pass
Does the finder accept local detail codes and subfunds, and refuse codes that do not exist?
80 local codes, 31 unassigned codes, 1 subfund; 0 problems
- Pass
Does site search find the right code when someone types what they are looking for in plain words?
62 questions: right code first 40 times, in the top five 60 times (97%)
Why it matters: Coders look for 'hotel tax', not '3030 Transient Occupancy Taxes'.
Details
- "library" -> expected /cacoa/functions/5300, got /cacoa/objects/3329, /cacoa/departments/62, /cacoa/objects/1210
- "mosquito abatement" -> expected /cacoa/functions/6300, got nothing
What the tests do not prove
- That a given agency's mapping is right. The chart puts each code on one line; choosing the code for an account is still a person's judgment, and the sample changeovers show where those judgments differ.
- That every line of every report can be filled from a ledger. Some lines ask for statistics, preparer adjustments, or grant programs a ledger does not record; the reports' own pages say which.
- That the State Controller's published figures are free of filing errors. They are the best statewide evidence available, and they are used as filed.
The tests run with npm run cacoa:assure from the site's source, before every release. What each release changed: changelog.