A replacement for Microsoft Money Plus Sunset
MyFinance opens a Money .mny file without needing Money installed, and writes what it finds into an encrypted book on your own machine. There is no network code in it at all, so nothing you enter has anywhere to go.
$ ./build.sh publish
Produces a single .exe. No installer, no account, nothing written to the registry.
| Date | Num | Payee | Category | C | Payment | Deposit | Balance |
|---|---|---|---|---|---|---|---|
| 02/03/2026 | 1168 | Ridgeway Roofing | Home : Repairs | R | 840.00 | 4,522.06 | |
| 02/05/2026 | ATM | Cash withdrawal | Cash | R | 120.00 | 4,402.06 | |
| 02/09/2026 | Brightwater Utilities | Bills : Water | C | 64.18 | 4,337.88 | ||
| 02/12/2026 | Halverson & Co | Income : Salary | C | 2,410.00 | 6,747.88 | ||
| 02/14/2026 | Transfer to Savings | [Savings] | 600.00 | 6,147.88 | |||
| 02/16/2026 | 1169 | Marlow Dental | Health : Dental | 215.50 | 5,932.38 |
Example data. Every amount is held as a whole number of cents; there is no floating-point arithmetic anywhere in the application.
Why this exists
Money Plus Sunset still runs on Windows 11. That will not hold forever. Its books are Jet 4 databases in the MSISAM variant Money used, and most advice for getting data out of one starts by telling you to install a program Microsoft stopped shipping in 2011.
MyFinance reads that format directly. It brings across accounts, categories, payees and every transaction, keeping splits, transfers and reconciliation state intact, along with the recurring bills and any holdings. It also brings the category you filed each shop under, which for most people is decades of small decisions. A migrated book therefore arrives already knowing how you categorize things, and the first statement you import is mostly filled in.
The last step lists every account and its closing balance in the same order Money's account list shows them. Money is probably still installed, so you can put the two windows side by side and check the figures agree before you rely on the new book.
The .mny is opened read-only and is never written to or moved. If a migration fails half way, your original file is exactly as it was.
What it does
Accounts grouped with subtotals, and a register whose running balance is worked out over the account's whole history, so filtering the view never changes the figures in that column. Transfers are written as two linked rows, one in each account. Reconciling will not let you finish while the difference is anything other than zero. You enter an amount as a plain figure and pick Payment or Deposit, instead of putting a minus sign in the right place.
OFX 1.x and 2.x, QIF, .qfx and .qbo. Banks label these inconsistently, so the format is worked out from what is inside the file rather than from its extension. Duplicates are settled using the bank's own reference, so importing a statement that overlaps one you already have adds only the new rows. Each import is recorded as a batch and can be undone in one action.
Card issuers disagree about which way round the amounts run. Import a statement backwards and you get a book in which every individual figure looks reasonable and every total is wrong, with nothing on screen to tell you. The preview shows the balance your import would produce beside the balance the bank states, and offers a switch to reverse the file.
Due dates come from the series start date and the occurrence number, not from stepping forward off the last one. Stepping looks equivalent until a bill due on the 31st meets February, gets clamped to the 28th and stays there. A bill several months behind is entered on the days it was actually owed, so the running balance still reads correctly afterwards. The forecast marks the day the balance would first go below zero, which is usually more useful than the figure at the end of the month.
Set a figure per category per month and see what actually happened against it. Unspent money can roll into the next month; an overspend never does, so one bad month does not compound into the next. There are eight reports, each with a chart and a table. Double-click any row to see the transactions behind it, and again to land on one in its register. If enough spending is uncategorized to make the percentages misleading, the report tells you how much rather than leaving you to draw a conclusion from it.
A book is two files and both are needed to open it, so backups archive the pair together rather than relying on you to remember the second one. The write-ahead log is folded in first, or the copy would be missing the session you are trying to protect. Each archive is then read back before it is accepted, which catches a full disk or a failing drive while there is still something you can do about it.
Measured, not claimed
| Source | Answers | Correct |
|---|---|---|
| What this payee was last filed under | 62.6% | 92.7% |
| A classifier trained on your own book | 13.1% | 78.3% |
| Neither — nothing to go on | 24.3% | — |
| Merchant resemblance, on that 24.3% | 16.4% | 62.9% |
On a hundred-row statement, the last of those correctly fills in about four rows that would otherwise arrive blank, and gets about one and a half wrong.
Six sources in descending order of authority: a rule you wrote, the category in the file, this payee's history, a classifier trained on your own book, the merchant this one most resembles, and the industry code where your bank sends one.
The fifth is a small language model bundled into the executable, which runs on your machine and adds about 22 MB to the download. It can put CONTOSO SUPERMARKET #543 next to NORTHWIND GROCERY STORE even though they share no words. It is the least reliable of the six and the only one that works when you have no history at all, so it is set to speak rarely, and when it does it tells you which merchant it matched.
Suggestions are marked as suggestions and are never written in without you seeing them. A wrong category you spot takes a moment to fix. One you never see becomes part of the history you go on to rely on.
Both sides of the account
Most of what follows on the right is a deliberate trade-off rather than something not built yet. It seems fair to put both columns in front of you before you move a book into this.
| What you get | What it costs you |
|---|---|
| Full encryption. Argon2id derives a 256-bit key from your password; SQLCipher encrypts the database. The password is stored nowhere, in any form. | There is no password recovery. If you forget it, the data is gone, and neither this application nor its author can do anything about that. Unlocking takes about half a second on purpose, because that is what makes guessing it expensive. |
| Nothing leaves the machine. No telemetry, no crash reporting, no update check, no account, no network calls of any kind. | No sync, no phone app, no price feed. You type security prices in yourself, and every valuation shows the date of the price it used, so you can see when a figure has gone stale. |
| File import only. Because there is no bank connection, there are no banking credentials to collect, store, or lose. | You download each statement yourself. There is no Direct Connect, and a bank that offers neither OFX nor QIF cannot be imported at all. |
| One self-contained file. No installer, no runtime to install, no registry entries. Copy it to a memory stick and run it from there. | 85 MB, and no updater. Nothing tells you a new version exists; every upgrade is a file you copy over the old one. |
| The whole book exports to a single JSON file with a documented shape: every account, transaction, split, transfer, bill, budget and rule, readable without MyFinance. | That file is not encrypted. You are told so before you choose where to save it. Encrypting it would put you back in the situation it exists to get you out of. |
| Your book is yours alone. Single user, on one machine, in a file you can back up wherever you like. | Losing either half loses the book. The .mfmeta sidecar holds no secret, but the key cannot be worked out again without it, so a copy of the database on its own is not a backup. |
Getting it
There is no installer and nothing to install. The publish step produces one self-contained executable, and it cross-builds from Linux, so cutting a release needs no Windows machine. Only running the interface does.
> build publish
Windows
$ ./build.sh publish
Linux or macOS, cross-built for Windows
Press F1 anywhere and the documentation opens at the page for the screen you are on. The pages are carried inside the executable, so they work with no connection and always describe the build you are running.
There is no password recovery and no copy of your book on anybody's server. If you lose it, it is gone. The application backs itself up and checks each archive by reading it back, but keeping a copy somewhere that is not this machine is still up to you.