Case study
Ledger Reborn: an independent accounting app informed by QuickBooks study
The maintainer reports using REA and Ghidra to study selected QuickBooks Desktop for Mac behavior, then independently implements a local accounting application. Its Python/SQLite engine persists double-entry journals, invoices, inventory and payments, while public synthetic fixtures test bounded accounting and rollback behavior.
- Targets
- App
- Category
- Community REA investigations
- Relationship
- Author-reported mixed workflow
- Sources reviewed
Requirements & limits
- Prerequisites: The reviewed release is 2026.10.12-preview.1. The local browser edition needs Python 3.11+; the accounting core uses the standard library and SQLite. Native desktop builds use pywebview 6.2.1, PyInstaller 6.22.3 and Pillow 12.3.0, built on the target OS; Windows additionally needs the separately installed WebView2 runtime.
- Attribution: The maintainer identifies QuickBooks Desktop for Mac 2024 Trial, version 23.1.13.962 R14 Trial, as the investigation target. REA 6.4.0 with Ghidra, NIB decoding and selected runtime observations informed inventory arithmetic, budget signs, reconciliation paths and layouts. The Python/SQLite engine and frontend are independently written, not recovered Intuit source.
- Testing evidence: Public synthetic fixtures contain frozen, independently specified integer-cent expectations. Reviewed tests compare reports and check atomic rollback of invalid journals, bills and inventory operations. These are implementation checks.
- Testing evidence: The separate original-software comparison reportedly matched three official-sample reports account-by-account to the cent. The vendor sample company and exports are not public here, so that result remains author-reported.
- Limits: The preview is single-user, local and USD-only. Payroll, tax filing, live bank/payment services, multicurrency and complete QuickBooks migration are outside the implementation. Its cash-basis output is a defined management cash view.
- License: MIT covers the authored application; vendor inputs and bundled runtime dependencies keep separate terms. The preview is not Developer ID-signed or notarized on macOS and lacks Windows publisher signing. Package smoke tests and selected native-window observations have separate scopes.
About this entry
The description was reviewed against primary sources.
Primary sources
- docs/CASE_STUDY.md GitHub · lxistired/ledger-reborn · Revision d7f6b8a
- README.md GitHub · lxistired/ledger-reborn · Revision d7f6b8a
- ENGINE_README.md GitHub · lxistired/ledger-reborn · Revision d7f6b8a
- BUILDING.md GitHub · lxistired/ledger-reborn · Revision d7f6b8a
- requirements-desktop.txt GitHub · lxistired/ledger-reborn · Revision d7f6b8a
- docs/EVIDENCE.md GitHub · lxistired/ledger-reborn · Revision d7f6b8a
- docs/PUBLICATION_SCOPE.md GitHub · lxistired/ledger-reborn · Revision d7f6b8a
- docs/BRAND_AND_PROVENANCE.md GitHub · lxistired/ledger-reborn · Revision d7f6b8a
- ledger.py GitHub · lxistired/ledger-reborn · Revision d7f6b8a
- tests/test_acceptance.py GitHub · lxistired/ledger-reborn · Revision d7f6b8a
- fixtures/FROZEN.sha256 GitHub · lxistired/ledger-reborn · Revision d7f6b8a
- fixtures/expected.json GitHub · lxistired/ledger-reborn · Revision d7f6b8a
- LICENSE GitHub · lxistired/ledger-reborn · Revision d7f6b8a
More in Apps
- Pocket Tasks: reconstructing task state and persistence · Case study
- Open Scrantic: reconstructing the Johnny Castaway screensaver engine · Case study
- Screen Studio: an author-reported REA study of auto-zoom rules · Case study
- Claude Code background lab: an REA-informed reimplementation of a desktop animation · Case study
- Notes CSV export: an author-reported REA check of reconstruction oracles · Case study
- Sofa TV Browser: a remote-friendly BrowseHere alternative · Case study