FTR guide

How the crosswalk works

Rules, axes, priorities, signs, and the coverage test, for anyone building reports or software on the CACOA.

The crosswalk is a table of rules (FTR_XWALK). Each rule says: amounts in this slice of the chart go to this FTR line.

A rule

Part Meaning
Fund category or fund range Which funds the rule covers (for example, all governmental funds, or enterprise funds 510-519)
Object range Which object codes (for example, 3000, or 4000-4999)
Function range Optional. Which function codes (for example, 2100-2199)
Target LGRS form and row (for example, form 24, R13)
Column rule How the column is chosen: General or Functional by function code, the current expenditures column, the fund type's column, and so on
Sign role How the balance is signed on the form
Priority Lower wins when more than one rule matches

Resolving an amount

  1. Find the effective function. Use the function code; if it is 0000 and the line is an expenditure, use the department's default function.
  2. For each axis, find the matching rules and keep the one with the lowest priority. The axes are:
    • Primary: revenue, other financing, balance sheet, and proprietary and fiduciary statement lines.
    • Function: governmental expenditures by function (forms 24-28).
    • Object: governmental expenditures by major object (form 29).
    • Segment: net position lines on each enterprise form (the same balances also report in total on form 38).
  3. Pick the column using the rule's column rule, the fund category, and the effective function.
  4. Sign the amount. Ledger balances are debit-positive. Asset, deferred outflow, and expense rules report the balance as is; every other role reverses the sign, so revenues and liabilities report as positive amounts and uses report as negative.

A single governmental expenditure resolves on two axes (function and object) and appears on both form 24-28 and form 29. A revenue resolves on one. An exclusion rule reports nothing and says why.

Specificity

By convention a rule for a single code (priority 45) beats a rule for the range that contains it (priority 50), and rules that refine a parent code by function (priority 40) beat the parent's default. Local-detail ranges sit at 60 and exclusions at 5 or lower. Where two rules at the same priority point to different lines, the build stops: conflicts cannot ship.

Coverage

Each release runs every posting code through every fund category and every function and checks that each required axis resolves to exactly one line, with the target column present on that line. The release notes publish the counts. For 2026.10: 162,800 combinations, no gaps, and no conflicts.

The coverage report also lists FTR lines that no universal code feeds: customer-class and activity detail on the enterprise forms, investment types in trusts, and lines that come from schedules. Those are the places for local detail codes.

Field IDs and software

Every target resolves to an LGRS field ID, the identifier the State Controller's system uses for each input box. The downloadable rules list those targets as canonical keys (cities_ftr:<form>:<field>), the format used by the GovGlider Navigator reporting engine. Any reporting tool, ERP, or spreadsheet can apply the same rules: filter the trial balance by each rule's ranges, pick the winner by priority, and sum into the target field. The mapping workbench does exactly that with a pasted trial balance, in your browser, and every FTR form has a spreadsheet view that shows where each LGRS field sits.