This happened to me last month and I’m still frustrated. Small nonprofit client, $800K annual budget. I reconciled everything: checking account balanced to the penny, credit card matched, loan payment verified. Told the ED “we’re clean.”
Then the auditors came in. They found $3,200 in unapplied grant credit memo from May—literally sitting in the grant receivable account for 3 months untouched. I’d seen the transaction, coded it as “Other Income,” and moved on. Auditor said it should’ve been applied against the grant receivable to show the true program-restricted balance.
They classified it a “reconciliation gap.” To me, the bank account was reconciled perfectly. To them, the GL wasn’t.
So here’s my question: when the auditor says something’s not “reconciled,” do they mean something different than what I mean? Am I supposed to be catching these GL-level issues, or is that an audit function? How do you prevent this surprise?
Using Beancount, by the way. My ledger was crystal clear—every entry was documented. So why did we still miss this?
Carlos—does your subledger comparison also catch the cases where the transaction is correctly classified but in the wrong subledger? Like revenue recorded to the wrong grant?
“Same work done systematically” is doing a lot of lifting here.
I tried the three-step approach at a small firm. Yes, it caught more errors. But it also meant staff were spending 15+ hours monthly on subledger reconciliations that used to take 3. You’re not eliminating work—you’re making invisible work visible. That’s valuable, but it’s more effort in real terms. The 5 days to 3 days claim needs context.
To me, the bank account was reconciled perfectly. To them, the GL wasn’t.
Exactly. Bank reconciliation and GL reconciliation are different procedures. Your job: verify cleared items match the cash account. Ours: verify the GL accurately reflects all transactions that should’ve been recorded, regardless of clearing status.
That grant credit memo was real and belonged in June financials. You didn’t miss it—it’s in your ledger. But you classified it as “income” instead of a receivable offset. That’s an accounting classification issue. For audit, classification matters because it changes what financial statements say.
The fix: reconcile GL accounts to subledgers (grant receivable sub-ledger should match detail). That’s where the $3,200 would’ve stood out.
Been through this and solved it with three-step reconciliation.
First, bank-to-GL (what Bob does): verify clearing status, timing. 30 minutes.
Second, GL-to-subledger: grant receivable GL matches grant detail file, AP subsidiary ledger matches vendor statements. This is where misclassifications show up. Built a checklist—an extra hour per close, but catches everything.
Third, sub-ledger-to-source: auditors verify grants match agreements and program documentation.
The key: I wrote reconciliation logic in Beancount queries. Every month a script compares GL accounts to subledger detail and flags differences. Auditors get clean working papers showing exactly how we verified accuracy. No surprises.
It’s not extra work—it’s the same work done systematically with documentation. My close went from 5 days to 3, and auditors finish in half the time because they see our reconciliation logic instead of guessing.