-
-
Notifications
You must be signed in to change notification settings - Fork 5
Features
Everything XPENC does, how it works, and where to find it. As of v1.3.0 (plus the v1.3.1 beta items marked below).
Accounts hold real balances: Cash, Bank, Card, Pay-later, Prepaid Balance, and a Savings Goal (see below).
- Debit cards & UPI are linked instruments, not accounts. They spend their bank account's money, so a UPI payment never counts as its own pool of money — that would double-count the same rupees.
- Pay-later accounts (BNPL, "buy now pay later") carry a balance you owe.
- Prepaid Balance (new in 1.3.0) is for a canteen fob, gift card or transit card — money you already loaded onto it. Unlike Pay-later, it is not a liability: spending it draws down a real balance exactly like Cash or Bank.
- Credit cards carry their own balance, negative when you owe money on them.
- Archived Accounts (More → Accounts → Archived): archive an account you no longer use instead of deleting it — its history stays intact, and it can be unarchived any time.
Three transaction types, kept strictly apart:
- Income and Expense move money in or out of your net worth and are the only things that appear in budgets and income/expense reports.
- Transfer moves money between your own accounts and never touches your net worth or your budgets — moving ₹5,000 from Bank to Cash is not "spending" ₹5,000.
- Split expenses: divide a single transaction across multiple categories with its own numpad, so a big shopping trip doesn't have to be logged as one lump category.
Added in 1.3.0. Both are one tap away — always-visible shortcuts in the Add Transaction app bar (not buried below the keypad):
- Tags — free-form labels beyond category, with autocomplete drawn from tags you've already used.
- Receipts — attach a photo to any transaction, picked through the system file picker (not the camera, so no camera permission is needed). The image is copied into the app's own storage immediately.
Per-category budgets with:
- Period windows and live spend-vs-budget progress.
- Once-per-period alerts at 80% spent and overspend.
- A subcategory cap that can never exceed its parent category's budget — raising a child above its parent, or shrinking a parent below an existing child, is blocked. The Budgets screen threads subcategories under their parent, indented with a connecting line.
- Totals never double-count a parent and its children: a subcategory's budget is a sub-allocation within its parent's cap, not additional spend.
- An optional note field on any budget (v1.3.1 beta) for context on what it's for.
Redesigned in the v1.3.1 beta: a goal is a real account, funded and drawn down by ordinary transfers — not a passive tracker that only reads another account's balance. It counts toward net worth and stays out of income/expense automatically, same as every other account. Start a fresh goal or turn an existing account into one; Add funds / Withdraw shortcuts sit on the goal screen itself.
Track who owes you and who you owe:
- Running balances per person, with partial settlements.
- Optional linkage to a real account movement (so lending cash actually debits your Cash account, if you want that).
- Editable ledger entries (1.3.0) — tap an entry to edit direction, account, amount or date, instead of only delete-and-redo.
- Archived Persons (More → Persons → Archived), mirroring Archived Accounts.
- Lending money is not spending, and being repaid is not earning — person movements are excluded from budgets and income/expense reports, same principle as transfers.
Set a rule once and XPENC posts it on schedule:
- Frequencies: weekly, monthly, and (v1.3.1 beta) biweekly — for a loan repayment or anything else landing every two weeks.
- Variable-amount rules (v1.3.1 beta): mark a rule "amount varies each time" (e.g. a salary that depends on hours worked). It still posts on schedule using the usual amount as a placeholder, but the posted transaction is flagged for review instead of silently trusting a guess.
- Recurring rules are included in backup/restore (a bug that dropped them was fixed in 1.3.0).
- Calendar: a day-wise in/out grid of your transactions. The dot per direction (income/expense) shows nothing about the amount at a glance — readable at a distance and safe if someone glimpses your screen.
- Cash Reminders: EMI/bill reminders that post nothing automatically — they notify you and wait for confirmation, by design. Nothing silently debits your accounts.
Named, colour-coded lists instead of one flat list (redesigned in 1.3.0; existing items migrated onto a default list automatically).
Settings → Security (new in 1.3.0): a 4–6 digit PIN gates the app on open, with an optional biometric (fingerprint/face) unlock on top. The passcode is device-local — a backup taken before a passcode existed never silently turns the lock off on restore, and the passcode itself survives a backup/restore untouched.
v1.3.1 beta: a Settings toggle that blocks screenshots and screen
recording, and blanks the app's thumbnail in the recent-apps switcher, via
Android's native FLAG_SECURE.
An Android widget (new in 1.3.0) showing net worth at a glance, live-updated whenever the ledger changes; tapping it opens the app. Also ships "+Expense" / "+Income" quick-add shortcuts.
One chart engine, several views under Stats:
- Category pie chart, income vs. expense, net-worth trend over time.
- Monthly and yearly toggles.
- Per-account and per-budget statement PDFs.
- Income & Expense Report PDF (new in 1.3.0): a period summary — category breakdown plus the same headline numbers Stats shows — downloadable alongside the existing statements.
See Backup & Restore for the full walkthrough. Short version:
- Symmetric JSON backup/restore, plus CSV export shaped for accountants / Tally.
-
Durable, automatic backups (new in 1.3.0): backups live in the public
Download/BACKUP XPENCfolder via Android's MediaStore, so they survive the app being uninstalled — no storage permission needed. An optional schedule (daily / monthly / custom) runs opportunistically on app open, with configurable retention. "Find existing backups" recovers the on-device index after a reinstall with one folder-picker consent. - Clear all data (Settings → Clear all data, new in 1.3.0): wipes the ledger back to fresh-install defaults, after an automatic safety backup. Preferences and backup history are left alone.
Any world currency, chosen in Settings → Currency. As of the v1.3.1 beta, every amount field reads the currency you actually picked — not a hardcoded symbol.
Shipped in 1.0, paused in 1.1.0: the READ_SMS permission made Google Play
Protect block direct APK installs. The on-device pipeline (parser · dedupe
· review cards · Auto-Approve with real Undo) is intact in the code and is
planned to return in a Play-compliant form — see the
Roadmap and open issues
#26 (manual share-sheet
import) and
#25 (screenshot-based
import) for the two approaches under discussion.
These aren't preferences, they're enforced everywhere in the app (see
structure.md and CONTRIBUTING.md in the repo for the full list):
- Amounts are integer paise/cents — never a floating-point
double. - Net worth = Σ account balances. Transfers keep it unchanged; income raises it; expense lowers it.
- Transfers and person (due/owe) movements are neither income nor expense and never appear in budgets or income/expense reports.
- Debit cards & UPI are linked instruments, not accounts — they hold no balance of their own.
- Nothing auto-posts silently — Cash Reminders and recurring rules always confirm with (or flag for review by) the user.
Using XPENC
Project
Elsewhere