Everything a daily money app needs.
Nothing that lies to you.
Most expense apps blur where money sits with what it was for, count transfers as income, or book a UPI payment twice. XPENC keeps the ledger as the single source of truth.
Honest accounts
Cash, banks and cards with real balances. Debit cards and UPI are linked to their bank — the same rupees are never counted twice.
Income · Expense · Transfer
Three transaction types, kept apart. A transfer between your own accounts is never income and never expense — so reports never lie.
Budgets with alerts
Per-category budgets with live progress. Get notified at 80% and when you overspend — once per period, not on every purchase.
Bank-SMS auto-capture
Bank messages parsed on your phone into review cards. Approve to post. Learned rules can auto-fill — and Undo really reverses the money.
Persons — dues & loans
Track who owes you and whom you owe, with running balances and settlements. Lending is not spending; being repaid is not earning.
Calendar & reminders
A month grid with day-wise in/out, plus reminders for EMIs and bills. Nothing ever posts without your confirmation.
Insights
Spending by category, income vs expense over time, net-worth trend and per-account reports — one charting engine, many views.
Backup & export
Full JSON backup and restore, plus CSV exports shaped for your accountant — or a straight import into Tally.
A dashboard that tells the truth.
Minimal, monochrome, AMOLED-black. Material 3 with a One UI–inspired layout: big titles, round cards, controls where your thumb is.
- Net worth at a glance — the one number that can't lie, plus month in and out.
- Day-wise transactions — grouped with daily totals, filters and search.
- SMS review cards — detected transactions wait at the top until you approve them.
- Five-tab navigation — Dashboard · Transactions · Add · Accounts · More.
Honest in three steps.
Set up your accounts
Add Cash, your banks and cards with opening balances. Link debit cards and UPI to the bank they draw from — that's what keeps the math honest.
Spend like you always do
Bank SMS are parsed on-device into review cards: amount, account, merchant. Tap a category, approve, done. Manual entry takes seconds too.
Trust the numbers
Net worth, budgets, dues and trends — computed from one ledger where transfers never inflate income and nothing is ever counted twice.
Your bank messages never leave your phone.
This is a money app that reads your bank SMS — so privacy is the whole trust story. Everything is parsed and stored on-device, in a local SQLite database.
One invariant, enforced everywhere.
A transfer leaves it unchanged. Income raises it. Expense lowers it. If the numbers ever disobey that, it's a bug — and the test suite treats it as one. Amounts are stored as integer paise, never floating point, because floats corrupt money math.
Get XPENC for Android.
Free, open source, no store account needed. Every APK is built, tested and checksummed automatically by GitHub Actions from a tagged release.
XPENC for Android

- Download the APK — your browser may warn about APK files; normal for apps outside the Play Store.
- Open it and allow "install unknown apps" for your browser when Android asks.
- Set up in a minute — currency, accounts, opening balances. Done.
Questions, answered honestly.
Is XPENC really free? What's the catch?
Where is my data stored?
Why does it need SMS permission?
READ_SMS (scan when you open the app) instead of RECEIVE_SMS (background receiver). Decline it and the app works fully with manual entry.Why isn't it on the Play Store?
Which banks are supported for SMS capture?
iOS?
Built in the open.
XPENC is MIT-licensed. The design doc, the data model, the audit trail of bugs found and fixed — all of it is public.
Engineering you can read
A single Flutter codebase with a local-first data layer. 116+ tests guard the money invariants, and every APK is gated by a native-library verification script before it ships. The full design doc — including an adversarial audit that found and fixed 8 defects — lives in the repo.
Contributions welcome
Good first issues: add an SMS template for your bank, improve parsing, or pick up a roadmap item. Read the contributing guide, open an issue, send a PR — CI runs the full suite on every pull request.
Start tracking honestly.
One APK, one minute of setup, zero accounts. Your money, your phone, your numbers — finally telling the truth.