How to invoice when an ESA covers part of tuition and the family owes the rest. Real numbers, real timing, the spots where money goes missing.
Effective June 8, 2026
Quarterly ESA invoicing for microschools is mostly straightforward when a family is fully ESA-funded and tuition lines up neatly. The hard part is the families who are partly funded. The math is where money goes missing.
Below is the playbook we use in CohortLedger. Real numbers, real timing, the spots to watch.
Take the family’s ESA award for the year and the school’s tuition for the year. Divide both by four. That gives you a per-quarter ESA portion and a per-quarter tuition. These are the two numbers every downstream calculation comes from.
Example. The Castillo family has one student, Aria, on the Arizona ESA. The award is roughly $7,431 per year. Lone Star’s tuition is $7,200 per year. Per quarter:
ESA exceeds tuition. Aria is fully covered, with about $57 of unused award that the family can apply to books or supplies through the ClassWallet marketplace. Lone Star invoices the ESA for $1,800. There is no out-of-pocket portion.
The Reed family has one student, Hazel, on Utah Fits All. The award is $8,000 per year. Lone Star’s tuition for an out-of-state Utah student is $9,000 per year (the school charges a small premium because the Utah platform routes through Odyssey and the reporting overhead is real). Per quarter:
ESA does not cover the full tuition. The family owes $250 per quarter out of pocket. The invoice has two lines: an ESA portion of $2,000 routed to Odyssey, and a family-owed portion of $250 due directly to the school.
Even when the math is clean, ESA money takes time to land. The funding window for a quarter typically opens around the 15th of the first month and closes around the 30th. Funds submitted into the window deposit on a rolling basis. Once deposited, they take five to ten business days to settle in your bank account.
That means a quarter looks like this:
Sometimes ClassWallet, Odyssey, or Step Up deposits a fraction of the expected ESA portion in the first window, with the balance staged for a later date. The platform reasons are varied: family eligibility re-verification, mid-quarter recertification, prior-quarter clawbacks.
Treat partial as a real state. Track what came in, when, and what is still expected, with a date. CohortLedger marks an invoice partial and shows both numbers, so when you reconcile against your bank statement the math is on screen, not in your head.
Some families do not have an ESA and pay full tuition out of pocket. Invoice the full tuition as the family-owed portion. No ESA portion, no pending state. Treat these the same way you would treat any private tuition family, with whatever payment plan you have agreed.
When two siblings are enrolled on the same ESA program, generate one family invoice with two students and sum the per-student ESA and tuition. The ESA portion is the sum of each sibling’s per-quarter ESA, capped at the sum of per-quarter tuition. The family-owed portion is the leftover, or zero if ESA covers everything.
That is the audit trail. If a state reviewer ever asks for evidence that this quarter’s ESA funding was correctly invoiced, received, and reconciled, you hand them a dated list and you are done.
The Billing tab generates the quarterly batch, splits ESA from OOP, and marks status as deposits arrive. The Overview tab shows the running totals (expected, received, pending, outstanding). Plain numbers, no spreadsheet.
VendorConnect, the documents nobody warned you about, the rejection reasons that show up twice a week, and what to expect once you…
Read the guideStep Up and MyScholarShop quarterly reporting, what counts, what gets denied, and why Florida attendance is a separate problem fro…
Read the guideWhat an Education Savings Account is, how the money actually flows, and what changes when you accept ESA-funded families. Written …
Read the guide