Ledger Health & Validation
The platform runs automated daily checks on the ledger to ensure accounting data is correct and consistent. Here's what gets checked, what a healthy ledger looks like, and what to do when something is flagged.
The platform runs automated checks on the ledger every day to ensure that all accounting data is correct and internally consistent. If something is off, your operations team is notified immediately.
What Gets Checked
Eight invariant checks run daily:
| Check | What it verifies | Severity |
|---|---|---|
| Journal Entry Balance | Every journal entry has matching debits and credits | Error |
| SPV Cash vs Payments | The SPV cash account balance matches the net completed payment orders | Error |
| Receivable Consistency | Each investor's receivable balance matches their commitment minus what's been collected | Error |
| Capital Consistency | Each funded investor's capital balance matches their commitment amount | Error |
| Suspense Trending to Zero | Overpayment suspense accounts return to zero once overpayments are resolved | Warning |
| Reconciliation Suspense | Reports any non-zero balance across SPV reconciliation suspense accounts | Info |
| Accounting Equation | Assets = Liabilities + Revenue - Expenses + Equity for each SPV | Error |
| Cached Balance Drift | Cached account balances match the balances computed from underlying entries | Error |
What a Healthy Ledger Looks Like
- All eight checks pass with zero violations.
- No alerts are sent to Slack or email.
- The audit log shows a clean "invariants passed" entry each day.
What Warnings and Errors Mean
Errors
An error-level violation means the ledger data is inconsistent. The operations team is notified immediately via Slack and email. Common causes include a system issue that introduced an unbalanced journal entry, a manual database change without a corresponding ledger entry, or a payment that completed without the ledger being updated.
What to do: Investigate the specific check and entity ID from the alert. Most issues can be traced to a specific journal entry or payment order. Contact engineering if the root cause is unclear.
Warnings
A warning means something worth monitoring but not necessarily wrong. For example, a non-zero overpayment suspense balance is expected while an overpayment is awaiting admin resolution.
What to do: Review the SPV's overpayment status. If all overpayments have been resolved but suspense is still non-zero, escalate to engineering.
Info
Informational items are reported for visibility. The reconciliation suspense balance is always reported when non-zero -- it represents items that need manual reconciliation.
Nightly Balance Recomputation
In addition to the invariant checks, a separate nightly job recomputes all cached account balances from the underlying ledger entries. This serves as a safety net -- if a cached balance drifts from the true computed value, the recomputation job corrects it and logs the drift for investigation.
How You're Notified
- Slack (primary) -- violations are posted to your configured ledger alerts channel with a summary of what failed.
- Email (always) -- a detailed email is sent to the SPV operations team with a table of all violations.
- Audit Log -- every check run (pass or fail) is recorded in the audit log for compliance.
Last updated Mar 26, 2026
Built with Documentation.AI