-
-
Notifications
You must be signed in to change notification settings - Fork 5
Upgrade Guide
How to move to a newer version of XPENC without losing data, and how to carry your ledger to a new phone.
- Updating in place keeps your data. Install the new version over the old one — the database migrates itself automatically. No reinstall needed.
- Export a backup first anyway. More → Backup & Restore → Back up now, or Download Data → Export JSON. One minute of insurance.
- The one thing that wipes data: installing a build signed with a different key than the one already on your phone. Android blocks that as an update and makes you uninstall first. Match the signing key, or restore your backup afterwards.
XPENC stores everything in a local database with a schema version. When a new app version introduces schema changes, it ships migrations that upgrade the existing database the first time the new app opens — in place, without touching your rows.
All migrations to date are additive (they only add new, optional columns or tables), so upgrading is safe and your accounts, transactions, budgets, persons and settings carry straight over.
You do not need to uninstall, and you do not need to wipe data, to move between released versions.
Android only allows an install to update an existing app if both are signed with the same key. If they differ, Android refuses and the only way to install is to uninstall first — which deletes the app's data.
This bites when you mix sources, for example:
- App installed from F-Droid or Google Play, then you sideload a self-built or GitHub APK (different key), or vice-versa.
- A debug build over a release build.
How to avoid it: keep installing from the same source / same key. If you can't, treat it as a phone move: export a backup, uninstall, install the new build, then import the backup (see Backup & Restore).
Historical note: 1.1.2 changed the per-ABI
versionCodescheme, so installing 1.1.2 over an older sideloaded GitHub APK could require an uninstall. Back up before, restore after.
- More → Backup & Restore → Back up now, or Download Data → Export JSON.
- Save/share the file somewhere off the phone (a cloud drive, your
computer, a chat to yourself) — or rely on the automatic backup schedule
if you've set one up (since 1.3.0, backups land in
Download/BACKUP XPENCand survive an uninstall on their own).
If anything ever looks wrong after an update, you can reinstall cleanly and Import from file to get everything back.
See the dedicated Backup & Restore page for the full walkthrough — export on the old phone, import on the new one. Everything comes across: accounts, transactions, transfers, budgets, persons and their dues, categories (including subcategories), recurring rules, and your currency choice. The import is all-or-nothing, so a wrong or corrupt file changes nothing.
- Schema: migrates v8 → v18 automatically — five new tables (tags, receipts, savings goals, shopping lists, security/passcode) plus additive columns elsewhere. Fully backward compatible; nothing existing is touched.
- New Settings to know about: Security (passcode + biometric lock) and Backup & Restore (automatic schedule, retention, "Find existing backups"). Neither is turned on by default.
- Shopping list: any existing shopping items migrate onto a default list automatically — you'll see one list instead of none.
- No action required beyond installing, unless the signing-key exception above applies to you.
See the 1.3.0 Release Notes for the full feature rundown.
-
Schema: migrates v4 → v6 automatically (adds a
parentIdfor subcategories and ashow currency symbolflag). Both are additive; existing data is untouched. - After upgrading: all your current categories are top-level — add subcategories whenever you like. Currency stays INR with the symbol shown until you change it in Settings → Currency.
- No action required beyond installing, unless the signing-key exception above applies to you.
See the 1.2.0 Release Notes for what's new.
Using XPENC
Project
Elsewhere