Honest status: the mobile app is in active development, not yet on app stores. Star fire-la/firela-app or watch docs.firela.io/blog for the release. (facts/v2026-09-27-2)
Is YNAB double-entry?
No. In YNAB every transaction attaches to one account with one category, and a transfer is a single untyped entry linking two accounts — no debit/credit pair on either side. The community’s own shorthand for this is blunt: “Repeat after me: YNAB is single entry accounting” (r/ynab). It’s true of the whole paid mainstream (YNAB 95/yr · Lunch Money 60, prices as of 2026-09). The closest any consumer app gets to accounting structure is splits and transfer flags — category labels, not bookkeeping.Which budgeting apps actually use double-entry?
As of 2026-09, the landscape has three tiers (per-product sources below the table):
Terms: a posting is one leg of a transaction (one side of the debit/credit pair); N-leg means one entry can touch three or more accounts at once (a purchase plus fees, across accounts); a balance assertion is a checkpoint written into the ledger itself — “this account should be exactly $X here” — enforced on every load; a commodity is any currency or asset.
† GnuCash accepts an unbalanced entry by parking the difference in an Imbalance account, and its reconciliation is an interactive review rather than in-ledger assertions; Beancount, hledger, and Firela reject unbalanced entries outright and support declarative balance assertions. ‡ Firela is in active development — see Honest status above.
Per-product sources: YNAB API (transactions carry account + category; transfers are linked entries) · Monarch features · Lunch Money API · Actual FAQ · Firefly III transactions docs · GnuCash manual. Remaining consumer apps (Simplifi, Rocket Money, EveryDollar, PocketGuard, Goodbudget): vendor help centers; full per-product evidence table in Firela’s research (2026-08-15, 3-vote adversarially verified).
Two data points frame the space: Intuit shut down Mint (the free, ad-and-data-funded model) in 2024; and Maybe Finance — 54.3k GitHub stars — was archived in July 2025 when its hosted revenue failed; the company wound down in early 2026 (lead developer’s post-mortem).
Why don’t consumer apps use double-entry?
Not ignorance — a deliberate trade-off, and the fairest statement of it comes from Lunch Money’s own comparison page: they build for people “who want greater visibility into their finances without the complexity of full accounting software,” placing double-entry in QuickBooks’ domain (source). The choice bundles three things: the learning curve of accounting concepts, bank feeds that arrive as one-sided flat statements, and users who ask “how much can I spend?” rather than “what’s my equity?”. That’s a legitimate product decision — but it means your ledger’s correctness depends entirely on reconciliation with the bank, because the ledger itself enforces nothing. The run-it-yourself world’s cautionary tale is Firefly III: double-entry at the storage layer, but fixed two-leg journals and no assertions. When users asked for refund-offsets and true multi-leg entries, the maintainer’s verdict was to keep the fundamentals as designed at the project’s start and point power users to GnuCash (issue #9259).What does complete double-entry get you?
- Error prevention by construction. “For centuries, the standard for serious accounting has been double entry, because it is so good at preventing errors” (hledger); in Beancount, hledger, and Firela, a transaction that doesn’t balance cannot exist.
- Real statements. A balance sheet and income statement fall out of the data, because every entry carries both sides. The nearest thing consumer apps offer is a net-worth report — synced balances summed by month (YNAB’s is explicitly “based on your account balances”). Useful, but it’s a snapshot of what the bank feeds said, not a statement derived from a ledger that has to balance: no equity accounts, no assertions, and it is only as right as the sync.
- Bank data without contortions. As Yingtong Li, author of the drcr ledger, put it after moving beyond plain-text accounting: “bank transactions have a many-to-one relationship with ledger transactions… financial information is relational, not flat.” Flat single-entry models patch over this with transfer detection; N-leg postings carry the relation inside the entry itself.
What Firela does with this
Firela keeps complete Beancount semantics at the storage layer — multi-leg postings, global balance constraints, assertions, multi-currency — behind single-entry simplicity at the UI layer: you type the purchase, Firela writes both legs and the balance check that comes with them. Your ledger is plain-text Beancount: auditable for life, outliving any app including this one.Quick FAQ
Is Monarch double-entry? No — Monarch, like the whole paid mainstream, is single-entry: one transaction, one account, one category, with net-worth reports layered on synced balances. Is Actual Budget double-entry? No — Actual is free and run-it-yourself, but its model is single-entry flat: envelope budgeting on a transaction list, no balancing constraint, no postings. Does double-entry matter if I just want a budget? It matters at the margin that compounds: a balancing ledger’s internal consistency never needs re-checking, and balance assertions tie it to real-world balances whenever you want external proof. A flat transaction list can never produce a balance sheet, and its integrity rests entirely on the bank sync. (Shopping for a YNAB alternative? This is the question that separates apps that archive your spending from tools that keep books.)A ledger for life — your financial data never leaves your hand. · firela.io