Part 13 of 15 GAAP Accounting and Grant Funding: Why Your Books Need Two Numbers, Not One
- Lettie Boggs
- 1 day ago
- 7 min read
State grants don't override accounting rules—track total project cost first, then filter to grant-allowable costs second. If you're deleting costs from your general ledger just to make a grant report look clean, you're not being strategic—you're creating the audit finding that ends your career.

Grants don't override fundamental accounting principles. GAAP comes first—then you apply specific grant program rules on top of that foundation.
I've watched districts tie themselves in knots trying to please state program officers by making their general ledger match grant-allowable costs exactly. They delete "ineligible" costs from their books entirely. They bury local-funded items in vague miscellaneous accounts. They treat grant reports as if they're the official accounting record.
That's completely backwards—and it creates disasters during audits.
When you separate GAAP accounting from grant reporting cleanly, your financial reports all agree with each other, your state filings pass reviews easily, and your audit finishes fast without findings. When you try to make one set of books serve both purposes, everything becomes confused and you spend years fixing the mess.
Here's the playbook that keeps accounting clean and grant reporting compliant.
The immediate win
No clawbacks or penalties: You fund ineligible costs correctly from appropriate local sources—before the state discovers the problem and demands corrections.
Clean, fast audits:Â External auditors can trace every dollar without detours, debates, or reconciliation marathons.
Sharper leadership decisions: Board members and executives see total actual project cost versus grant-allowable subset at a glance—no confusion about what's really happening.
When your accounting foundation is solid, everything built on top of it works smoothly. When it's shaky, everything wobbles constantly.
Rule #1: GAAP governs the universe; grants carve out a compliant subset
Understand this fundamental relationship:
Total Project Cost (GAAP basis): All necessary and reasonable costs to deliver the completed asset—everything that's capitalizable per your board-approved policy.
Grant-Allowable Cost (subset):Â Only those specific project costs that are permitted by the particular grant program's rules, within eligible dates and scope definitions.
Keep every legitimate cost in your General Ledger with proper fund sources. Report only the allowable subset to the grant program. No exceptions to this rule.
If you're deleting actual costs from your ledger just to make a grant report look better, you're not solving a problem—you're creating an audit finding that will haunt you for years.
Your GL is the complete truth. Grant reports are filtered views of specific eligible portions. These are fundamentally different things with different purposes.
Rule #2: Use the right funding source for each cost type
Build a simple funding decision table once and use it consistently forever:
Cost Type | GAAP Capital? | Grant-Allowable? | Fund From |
A/E basic services tied to funded scope | Yes | Usually Yes | Grant + Local Match |
GC pay applications for funded work | Yes | Yes | Grant + Local Match |
Portfolio-level program management overhead | Sometimes | Rarely | Local capital or Operations |
District-wide legal services or advertising | No (Ops) | No | Operations funds |
Environmental clearance (when eligibility req.) | Yes | Sometimes | Grant (if rules allow) or Local |
Premium finishes beyond program standards | Yes | Usually No | Local capital |
FF&E for initial occupancy | Yes | Depends on rules | Grant (if allowed) or Local |
Print this table and pin it above your accounting staff's desks. It prevents 90% of coding errors.
I've seen districts spend months reconstructing fund sources because they didn't have clear decision rules upfront. Don't be that district.
Rule #3: Track interest earnings and bond savings like responsible adults
Stop treating interest and bond savings like mysterious found money:
Interest earnings: Post interest to the proper Fund account, then assign to specific projects monthly using a documented methodology (proportional to eligible outstanding balances, or allocated to board-identified priorities).
Applied bond savings:Â Log at the project level when funding shifts happen or construction buyouts come in significantly under budget estimates.
Board reporting visibility: Always show Grant + Match + Interest + Applied Savings as one complete line per project. No vague "miscellaneous" or "other funding" buckets that hide where money actually came from.
Interest and savings aren't optional to track—they're legally required components of your funding reconciliation. Treat them seriously.
Rule #4: Code transactions once, then generate multiple reports
Here's the efficient workflow:
Code every single transaction using Fund–Object–Project structure with Category rollup (A–G).
Tag Allowability status (Yes/No/Under Review) either at transaction entry or during monthly close—definitely NOT during filing deadline crunch time.
Use reference attributes for grant program codes, property APNs, DTSC/CEQA status, and board item numbers.
Build and save two standard queries:
Total Project Cost (GAAP basis)Â = everything properly capitalizable
Grant-Allowable Subset = filtered to allowable items within eligible dates
One ledger. Two standardized reports. Zero redundant data entry or rework.
This structure lets you answer both "What did the project actually cost?" and "What's eligible for grant reimbursement?" in seconds—from the same source data.
Capitalization policy: Write it in plain English people can follow
Lock down these definitions in a one-page policy document:
Threshold and useful life requirements (e.g., items ≥$5,000 value with >1 year useful life; your local board policy governs this)
What we capitalize:Â Direct construction costs, design services tied to creating the asset, eligible FF&E and technology required to occupy and operate the facility
What we expense:Â Consumable supplies, minor repairs and maintenance, district-wide administrative overhead, general legal and advertising costs
Cut-off logic and timing:Â When the constructed asset is formally placed in service. Stop capitalizing soft costs and overhead after that specific date.
Consistency beats creative accounting arguments every single time. Clear definitions prevent 90% of capitalization debates.
Keep your local capital fund (Fund 35) clean and visible
Professional move: Maintain a single dedicated local capital fund that serves as your "catcher's mitt" for non-grant-allowable costs and portfolio-level expenses.
When you do this, you can actually see true program funding pressure instead of costs getting buried and scattered across multiple grant accounts where they're invisible.
A clean local capital fund tells you exactly how much district money you're investing beyond state grants—critical information for board decisions and future planning.
Monthly close routine (30–45 minutes; absolutely do not skip)
Make this part of your standard month-end process:
1. Pull the project general ledger for the completed month.
2. Review all "Under Review" tagged items → make final Allowable / Not Allowable decisions with brief notes citing the specific grant rule or program section.
3. Assign and post interest earnings and applied savings according to your documented methodology.
4. Reconcile totals:Â Generate both Total Project Cost and Grant-Allowable Subset reports from the same source data and verify they make sense together.
5. Publish standard summary per project showing Budget/Committed/Actual/Forecast plus complete funding stack breakdown.
Close accounts properly every month or you'll spend entire quarters bleeding trying to catch up later. Monthly discipline is exponentially easier than quarterly panic.
Controls that prevent audit findings
Implement these non-negotiable controls:
Document link required for every single transaction before it posts. No source document? Transaction doesn't get entered.
Date range guardrails: Program eligibility dates enforced automatically by your export query parameters—transactions outside the window get flagged.
Two-person review process:Â One person prepares and tags allowability; second person reviews and signs a brief 6-item verification checklist.
Change tracking protocol:Â Any transaction recoding requires documented reason: "scope clarified per program officer," "updated program guidance issued," "data entry error corrected."
Board action tie-out: Award and acceptance item numbers on transaction records must match your official board register exactly—character for character, no approximations.
These controls aren't bureaucracy. They're your shield against findings, penalties, and clawbacks.
Common failure modes (and what to do instead)
Failure:Â You treat the grant compliance file as if it's your actual accounting ledger.
Fix:Â Your General Ledger holds complete truth for everything. Grant files are filtered exports showing eligible subsets only.
Failure:Â You plan to "map interest allocations later" when you have time.
Fix:Â Automate monthly interest assignment using documented methodology. Stop trying to backfill months of missing allocations during filing deadlines.
Failure:Â You hide scope upgrades and nice-to-haves inside construction contingency to make them disappear.
Fix: Contingency exists only for genuine unknowns, not for betterments you chose not to budget properly. Fund upgrades from local capital and log the trade-off decision.
Failure:Â Last-minute allowability debates happen during filing week because nobody decided earlier.
Fix:Â Tag allowability at transaction entry or during monthly close with citations to specific program sections or published FAQ guidance.
Failure:Â Your capitalization policy is vague or subject to interpretation.
Fix:Â Publish the complete policy with 10 clear examples of what capitalizes and 10 clear non-examples of what expenses immediately.
Every one of these failures has cost someone I know months of reconstruction work and damaged credibility with auditors. Learn from their expensive mistakes.
Example of how your project summary should read
Here's what clean reporting looks like:
Roosevelt Elementary School Modernization
Total Project Cost (GAAP basis):Â $28,940,000
Funding Stack Components:
State Modernization Grant: $12,000,000
Local Match (Measure X): $14,200,000
Accrued Interest Earnings: $500,000
Applied Bond Savings: $240,000
Grant-Allowable Costs to Date: $25,410,000 (Excludes $2.1M program management overhead and $1.43M plaza upgrade features per Program Manual §3.4)
Notes:Â FF&E technology Phase 2 equipment ($380K) funded entirely from local capital; equipment category not grant-allowable under this program.
In one clear glance, leadership understands the complete picture—total cost, funding sources, and what's eligible versus what's locally funded.
No mysteries. No confusion. No "we'll explain that later" footnotes.
Quick implementation (one focused week)
Day 1: Publish the Funding Decision Table and Capitalization Policy one-pager with examples.
Day 2: Add Allowability Flag and Program Code fields to your standard accounting export format.
Day 3:Â Build and save your two standard queries: Total Project Cost (GAAP)Â and Grant-Allowable Subset.
Day 4:Â Stand up the Funding Stack Summary Template showing Grant + Match + Interest + Savings for each project.
Day 5:Â Run a complete test close on one active project. Fix any gaps you discover. Then roll the process out to all projects.
Five days of setup work creates a system that runs itself for years and prevents expensive problems.
What "good" looks like (the reality check)
Two distinct totals—Total Project Cost and Grant-Allowable Subset—both roll cleanly and logically from one unified general ledger.
Interest earnings and bond savings get assigned to projects every single month, not scrambled together during year-end close.
Auditors find clear rule citations documented next to every edge case transaction—no mysteries or judgment calls.
Board meeting packets show crystal-clear funding stacks with no scavenger hunts required to understand where money came from.
When your accounting and grant reporting are properly structured, everything feels routine and boring. That's exactly what success looks like.
The takeaway
Lead with solid GAAP accounting as your foundation. Layer specific grant program rules on top as compliance filters—not replacements.
Code every transaction once in your General Ledger with proper fund sources. Tag allowability early based on documented criteria. Assign interest and savings on a disciplined monthly schedule. Present funding stacks plainly so everyone understands the complete picture.
Do this foundational work consistently, and your books will be boring—in the best possible way. Boring means no surprises, no findings, no emergency reconstruction projects, no uncomfortable conversations with oversight committees.
Clean accounting isn't glamorous. But it's what separates programs that finish strong from programs that spend years explaining themselves to increasingly skeptical auditors.





