LedgerWriter
Compliance Isn't a Feature. It's the Architecture.
An accounting platform where non-compliant states are structurally unreachable — not a checklist your team has to remember to follow.
Most ledgers hand you double-entry bookkeeping and trust you to keep it disciplined. LedgerWriter is built on an append-only event store with write-time balance validation and role-based segregation of duties — so the controls auditors ask for aren't bolted on after the fact, they're the only way the system works at all.
The Mechanism
What "Audit-Ready" Actually Means Here
| Requirement | How Incumbents Handle It | How LedgerWriter Handles It |
|---|---|---|
| SOX 404 segregation of duties | Role-based UI permissions plus a documented process the controller enforces manually | RBAC role matrix enforced at the command layer — a clerk role cannot invoke the reversal command; there is no manual step to skip |
| SOX 802 audit trail / retention | "Audit log" tables that can be edited or purged like any other table | Append-only event store — every posted entry is an immutable event; corrections post as new reversing entries, nothing is overwritten or deleted |
| GAAP double-entry integrity | Client-side or review-time validation that debits equal credits | Write-time balance validation in the command handler itself — an unbalanced entry is rejected before it can be persisted, not caught in review |
Who This Replaces
Stop Selling Cleanup. Start Selling Prevention.
The Audit / CPA Firm
"QuickBooks cleanup" is already a line item on your engagement letters — reactively reconciling a client's books built on a system with no real audit trail or segregation of duties. LedgerWriter is the tool you put clients on so that engagement never has to happen again: the controls your cleanup work exists to catch are structurally enforced from the first posted entry.
The Finops / Controller Team
Bring your auditor in before they have to ask. Instead of assembling audit evidence from exports and screenshots when the request comes in, give your auditor a read-scoped view of an event store that was never editable in the first place.
Nonprofits that aren't SOX-obligated but want SOX-802-grade audit trails for grant or state-charity-regulator compliance are a real secondary fit — same mechanism, voluntary rather than mandated adoption.
Features as Mechanisms
Built to Be Verified, Not Just Trusted
Every Entry Is Permanent History
Nothing is ever overwritten or deleted. Corrections post as new reversing entries. Satisfies SOX 802 retention requirements by construction, not by backup policy.
The System Enforces Who Can Do What
RBAC checks happen at the command layer, not the UI. A clerk role physically cannot invoke a reversal command — there's no permission checkbox to misconfigure.
Unbalanced Entries Don't Get Saved
Debits and credits are validated before the entry is persisted, not caught in a later review pass. GAAP double-entry integrity is the only path through the write, not a QA step.
Consolidation Follows GAAP Elimination Rules
Corporate ownership relationships drive investment elimination and non-controlling interest automatically — not a spreadsheet reconciliation your team maintains by hand.
Query the Ledger, Don't Screenshot It
Every projection and report available in the app is available over the API — audit evidence assembly is a query, not an export-and-annotate exercise.
Data Isolation Matches Your Compliance Requirements
Free/Dev tenants share infrastructure with row-level isolation; Paid and Enterprise tenants get a dedicated database. Choose the isolation posture your engagement requires.
Objection Handling
Questions We Expect a Skeptical Reader to Ask
Every vendor says 'audit-ready.' What makes this different?
Ask any vendor to show you the data model, not the marketing page. Ours is public: an append-only event store, RBAC enforced at the command layer, and a documented SOX/GAAP mapping. If a vendor can't point you to something this specific, the 'audit-ready' claim is a UI label, not an architectural property.
We're not SEC-registered — SOX doesn't actually apply to us. Why would we care?
Plenty of our fit isn't SOX-mandated. Nonprofits use the same append-only trail for grant and state-charity-regulator compliance voluntarily, because the audit trail is valuable regardless of who's requiring it.
Our firm currently bills clients for QuickBooks cleanup. Does this cut into that revenue?
It changes the shape of the engagement, not whether you're needed. Cleanup work is reactive; running clients on LedgerWriter moves your firm's value to the proactive side — reviewing a ledger that was never able to get into a bad state.
What does 'API-first' actually get us that a good UI doesn't?
Every report and projection the UI renders is backed by the same API your team or your auditor can query directly. Evidence assembly for an audit becomes a query you can hand to someone, not a screenshot session.
How does multi-entity consolidation actually work — is it a spreadsheet macro under the hood?
No — corporate ownership between tenants is a first-class relationship, and consolidated statements apply GAAP investment elimination and non-controlling interest treatment automatically from that relationship.
What's the pricing model?
Tied to data isolation, not seat count. Free/Dev is shared infrastructure with row-level tenant scoping. Paid moves you to a dedicated database. Enterprise adds custom domain, TLS, and negotiated custom logic.
See the Architecture Before You See a Sales Deck
Read the ADRs. Read the API docs. Then decide if you want to talk to us.
No credit card required · Architecture decisions are public ADRs, not sales collateral