Validation
Valid code combinations
Which codes can be used together, published the way the California Department of Education publishes valid code combinations for school districts. Every combination is valid except the 30 below, and each one says why and what to post instead.
Step 1
Valid codes
A fund, function, or department in the code tables is valid, as are function 0000 and department 00. An object is valid if it is in the table or inside one of its reserved local-detail ranges. A fourth digit on a fund is a local extension of its parent.
Step 2
Invalid combinations
28 fund and object rules and 2 function and object rules. Anything not listed is valid.
Step 3
Load it into your system
The downloads spell the rules out as explicit lists of valid pairs, ready to load into a financial system's account setup.
Fund and object
These objects are not valid in these funds. Most follow from the difference between governmental funds, which use the current financial resources focus, and funds that report on the full accrual basis.
| Rule | Objects | Not valid in | Why | Post instead |
|---|---|---|---|---|
| CX01 | 1200-1299 | Governmental funds | Governmental funds do not carry capital assets or their accumulated depreciation. | Charge purchases to capital outlay (6000-6999) in the fund and record the asset in the government-wide ledger, fund 980. |
| CX02 | 1350-1360 | Governmental funds | Net pension and OPEB assets are government-wide items. | Record these in the government-wide ledger, fund 980. |
| CX03 | 1900-1929 | Governmental funds | Deferred outflows for pensions, OPEB, and debt refundings are government-wide items. | Record these in the government-wide ledger, fund 980. |
| CX04 | 2170-2173 | Governmental funds | The current portion of long-term debt is not a governmental fund liability until it is due. | Record these in the government-wide ledger, fund 980. |
| CX05 | 2200-2289 | Governmental funds | Bonds, leases, compensated absences, pension and OPEB liabilities, and loans are government-wide items. | Record them in fund 980. The fund shows debt proceeds as other financing (8020) and payments as debt service (7000-7099). |
| CX06 | 2300-2339 | Governmental funds | Claims, landfill, pollution, and other noncurrent liabilities are government-wide items. | Record them in fund 980; the fund records only amounts that are due. |
| CX07 | 2800-2829 | Governmental funds | Deferred inflows for pensions, OPEB, and debt refundings are government-wide items. | Record these in the government-wide ledger, fund 980. |
| CX08 | 2960-2989 | Governmental funds | Governmental funds report fund balance, not net position. | Use fund balance codes 2900-2950. |
| CX09 | 3430 | Governmental funds | Governmental funds do not record gains on disposal of capital assets. | Record the sale proceeds as other financing (8030); the gain belongs in fund 980. |
| CX10 | 3540 | Governmental funds | Governmental funds do not record donated capital assets. | Record these in the government-wide ledger, fund 980. |
| CX11 | 5300-5449 | Governmental funds | Depreciation, amortization, and disposal losses are not recorded in governmental funds. | Record these in the government-wide ledger, fund 980. |
| CX12 | 2910-2950 | Proprietary funds, Fiduciary funds, Government-wide ledger (980) | Proprietary funds, fiduciary funds, and the government-wide ledger report net position, not fund balance. | Use net position codes 2960-2980. |
| CX13 | 2840 | Proprietary funds, Fiduciary funds | Unavailable revenue is a modified-accrual deferral; accrual-basis funds recognize the revenue. | Record the revenue when it is earned, or use 2850 for other deferred inflows. |
| CX14 | 6000-6999 | Proprietary funds, Fiduciary funds | Proprietary and fiduciary funds capitalize acquisitions instead of expensing them. | Post the cost to capital assets (1200-1299). |
| CX15 | 7000-7009 | Proprietary funds | In proprietary funds a principal payment reduces the liability; it is not an expense. | Debit the related liability (2170-2260). Code only interest as expense (7010-7019, 7031, 7051, 7061). |
| CX16 | 7030 | Proprietary funds | In proprietary funds a principal payment reduces the liability; it is not an expense. | Debit the related liability (2170-2260). Code only interest as expense (7010-7019, 7031, 7051, 7061). |
| CX17 | 7050 | Proprietary funds | In proprietary funds a principal payment reduces the liability; it is not an expense. | Debit the related liability (2170-2260). Code only interest as expense (7010-7019, 7031, 7051, 7061). |
| CX18 | 7060 | Proprietary funds | In proprietary funds a principal payment reduces the liability; it is not an expense. | Debit the related liability (2170-2260). Code only interest as expense (7010-7019, 7031, 7051, 7061). |
| CX19 | 8020-8499 | Proprietary funds | Debt proceeds and asset sale proceeds are balance sheet items in proprietary funds. | Record the debt as a liability (2170-2260) and any gain or loss in 3430 or 5400. |
| CX20 | 8500-8599 | Proprietary funds | Other financing sources and uses are governmental fund classifications. | Use nonoperating revenue (3400-3499) or nonoperating expense (5400-5449) codes. |
| CX21 | 8620-8999 | Proprietary funds | Other financing sources and uses are governmental fund classifications. | Use nonoperating revenue (3400-3499) or nonoperating expense (5400-5449) codes. |
| CX22 | 8000-8999 | Fiduciary funds | Transfers and other financing sources and uses are not used in fiduciary funds. | Record additions with revenue codes (3000-3499) and deductions with expense codes (4000-5999). |
| CX23 | 1100-8999 | Pooled cash fund (999) | Fund 999 holds pooled cash and investments and their allocation to funds, nothing else. | Post the activity to the operating fund; keep only 1000-1099 in fund 999. |
| CX24 | 1000-8999 | Reserved fund (900) | Fund 900 is reserved for future use. | Post to an operating fund. |
| CX25 | 9000-9999 | Every fund | Control and non-posting codes are never posted. | Use a posting object code. |
| CX28 | 3690-3719 | Governmental funds, Proprietary funds, Government-wide ledger (980) | Contributions, dividends, and depositor receipts on these codes are additions to custodial and trust funds. | Use them only in funds 800-899. Employers record their own contributions as expense (4100); other funds report dividends with investment income (3401). |
| CX29 | 5700-5749 | Governmental funds, Proprietary funds, Government-wide ledger (980) | Benefit payments, refunds, and payments to depositors are deductions of custodial and trust funds. | Use them only in funds 800-899. Retiree health premiums an employer pays directly are benefits expense (4110 or 4150). |
| CX30 | 3600-3689 | Fiduciary funds | Customer-class and enterprise revenue codes describe operations that custodial and trust funds do not run. | Record receipts of a fiduciary fund with fiduciary addition codes (3690-3719). |
Function and object
Revenue and spending take any function; revenue with function 0000 is general revenue and revenue with a function is functional. These objects take function 0000 only.
| Rule | Objects | Not valid with | Why | Post instead |
|---|---|---|---|---|
| CX26 | 1000-2999 | Any function except 0000 | Balance sheet accounts do not carry a function. | Use function 0000. The department code can still show who manages the account. |
| CX27 | 8000-8999 | Any function except 0000 | Transfers and other financing sources and uses are reported without a function (FTR form 30). | Use function 0000. |
Every object in every fund type
The same rules as a matrix, like the CDE's spreadsheets of valid combinations: Y where an object is valid in a fund type, otherwise the rule that blocks it.
Loading the lists into your system
- VALID_FUND_OBJECT.csv: every valid fund category and object pair. A fund's category is in COA_FUND.FUND_CATEGORY.
- VALID_FUNCTION_OBJECT.csv: every valid object and function pair.
- COA_INVALID_COMBO.csv: the rules themselves, with the reason and fix to show a user who posts an invalid combination.
- Local detail codes take the result of the reserved range they sit in.
Why it works this way
School districts code to one standard account structure, and the state publishes the valid codes and combinations that its reporting system checks, both as text files for local systems and as spreadsheets. The CACOA follows the same pattern with fewer rules, because the chart is smaller and the crosswalk already places every valid combination on the FTR.
California Department of Education, SACS valid codes and combinations