Built for: CEOs, CFOs, treasurers and finance committee chairs of human services agencies that run on government contracts paid on cost reimbursement, roughly $1.5M to $15M a year, with the books in QuickBooks Online.
What it answers: How long each funder takes to pay you back, how much cash that ties up, which contracts lose money once overhead is counted, and whether your line of credit gets you through a late state budget.
See it live: Human services contracts board review demo · a made-up agency with invented numbers
"Every program we run is funded. So why are we always short of cash?"
The CEO opened the finance committee meeting with that question, and it's the right one. Here's how I'd walk the CEO and the committee through it, using a sample dashboard we built for a made-up agency called Pennerow Family Services.
Pennerow runs behavioral health, youth and family, and housing programs, about $10.7M a year. Three quarters of the money comes from eight government contracts: two with the state health department, three with the county, two with the city and one through a federal pass-through. Every one of them pays on cost reimbursement. Pennerow spends the money, sends an invoice, and waits.
At the October close, Pennerow's funders owed it $2.5M, about 2.7 months of spending. Unrestricted cash was $488K. The bank showed $1.3M, but $792K of that is foundation money for specific programs. It can't make payroll for a county contract.
Nobody on the committee had seen those two numbers side by side. QuickBooks shows the receivable. It doesn't show how long each funder takes, or how much of it we haven't even invoiced yet.
This is the signature view. Each bar is a funder, in three parts: the half month from spending to month-end, the days from month-end until our invoice goes out, and the days until the funder pays.
On average a dollar Pennerow spends comes back 113 days later. The state takes 140. The federal pass-through is the fastest at 68.
I'd point at the middle segment. About 31 of those days are ours. The team closes the month, then pulls timesheets and receipts together for each funder's portal. The city won't take an invoice without signed timesheets, so its bills go out 39 days after month-end. Then the state takes 91 days to pay. We can't make the state faster. We can make ourselves faster, and every day we cut frees about $22K of cash for good.
The second chart puts what we're owed at each month-end next to our own cash. Last fall it spiked: the state's budget was late, its payments stopped for weeks, and the line of credit hit its $500K limit.
The float explains the cash. It doesn't explain the deficits. For that you put overhead back on the contracts.
Running the agency (finance, HR, IT, rent, the audit) costs about 19% on top of program spending. The state, the federal pass-through and the city's rehousing contract allow 15%, the federal de minimis rate under the 2024 Uniform Guidance. The county and the city's youth jobs contract allow 10 to 12%. Over the last twelve months that left $364K of overhead nobody reimbursed, plus $91K of spending the contracts won't pay for at all.
Count it, and every contract loses money. Together they came up $455K short. The worst is the county's mental health court contract, $134K under. Gifts cover the difference, which is why so little unrestricted money is ever left.
Vacancies make it worse in a way boards rarely see. When clinician positions on the state's outpatient contract sit empty, we spend less, so we also recover less overhead on top of it. Rent and the finance team cost the same.
One note for the audit committee. Federal money runs about $2.0M this year, counting the state's youth crisis contract, which the state funds from a federal grant. That's well over the $1M Single Audit threshold, so the auditors will test those contracts.
On the plan, cash before borrowing gets down to about $10K next October, and we'd draw $241K on the $500K line. Tight, but covered.
Now flip the switch so the state pays 60 days late from July, the kind of delay we saw last fall. Cash before borrowing falls to –$527K. We'd need $777K of credit at the worst point, $277K more than the line, with 14 days under the $250K we keep for payroll. Even 30 days late is $8K past the line.
That's a conversation to have with the bank now, not in September.
Fix the float first, then the rate.
Billing every contract within ten days of month-end is worth $578K of cash at the worst point of a late state budget. It's the biggest bar on the page and it costs a faster close, not money. Raising $300K more in unrestricted gifts by June adds $300K. Those two alone hold cash before borrowing at $125K with the state late, well inside the line.
The rate moves fix the loss. A negotiated rate (NICRA) at our true 19% on the state and federal pass-through contracts from January brings $110K over the next twelve months. Moving the county court contract to 15% and 30-day payment brings $47K. Billing faster adds almost nothing to the result. It changes when we get paid, not how much.
With all five, including a $1M line, the next twelve months go from –$185K to $272K, and even with the state 60 days late Pennerow would borrow no more than $125K.
You could build it once. Keeping it true is the hard part. It needs every contract set up as a customer within its QuickBooks class, every invoice and payment date from each funder's portal, payroll from Gusto, when each foundation grant releases, and how the line draws and repays. It needs someone who knows the youth crisis money is federal and that the city sits on invoices without signed timesheets. And when a board member asks where $777K comes from, someone has to stand behind it.
That's what CFOptimize for Nonprofits does. We connect those systems, keep the data in a secure warehouse that refreshes itself, build the board view around the questions your board asks, and sit with your finance committee as a part-time CFO. Meet with our team.
Mark
Pennerow Family Services is a made-up organization. Every funder, contract, program and figure in the dashboard and this post is invented, funders are named only generically, and any likeness to a real agency is accidental. Benchmarks and rules on the page carry their source and year. The sample dashboard doesn't connect to QuickBooks, Gusto or HubSpot. Nothing here is investment, legal or tax advice.