2025/02/05/personal money management software

From Woozle Writes Code
Jump to navigation Jump to search

Everyone – even open-source software – gets this wrong, and I don't understand why.

How It Should Work

What you need to be able to enter is --

  • for each transaction:
    • always: description, amount
    • better: drop-down for remote account (source/recipient of funds), with a UI that makes it easy to find existing ones and enter new ones, or to enter a description without creating a formal account record
  • for each transaction first recorded by you:
    • always: date, calculated balance
    • better: sorting order (for consistency, especially if you're reconciling with a written record)
  • for each transaction the bank shows:
    • always: date, sorting order, balance shown
    • better: bank's description (separate from what you type in)

The basic process is that you enter transactions you know you've done, then enter what the bank shows. Reconciling can take either of the following forms:

  • If a spreadsheet is all you have to work with, then you always have to manually check what you've entered previously to see if there's already a match -- e.g. you made a purchase last week and recorded it, and now the bank is showing it, so you just need to find that record again and enter details from the bank (mainly: date/sorting (which might be different from yours) and balance).

The management of balances and sorting is key.

Reconciliation

If you're trying to balance your ledger by reconciling your known transactions (past and future) against the bank's records (whether online or PDF or even paper), you need to be able to match your calculated balance against what the bank shows. This requires being able to automatically sort the transactions in the order shown by the bank, even if that's different from how you recorded them (or the order in which the payments/deposits were actually initiated), so that your balances are based on the same sequence of dollar-amounts as the bank's.

Once you have that, you can quickly find the exact transaction where a divergence happens, which makes it relatively easy to either correct your records or (rarely) show that the bank has made a mistake.

Prediction

For predicting future balances by showing transactions which you expect but which the bank is not yet showing, the balance calculations continue past the latest transaction shown by the bank, using your entered dates and sorting. (This can include (a) transactions you've actually made but which for some reason haven't been received by the bank and (b) transactions you expect to make, such as auto-pays or bills that haven't come in yet but where you have at least an approximate idea of the amount.)

This gives a picture of what your balance will look like until your next expected large deposit (typically a paycheck), so you can see if the money you have now will last until then -- or how long you can last until the next large deposit.

What Actually Happens

I haven't really tried to use a money-management package in a few years, but they generally don't seem to allow for separate sorting or separate balances. I guess I'll have to install KMyMoney (see also HTYP) or whatever is currently available to see if this is still the case...

KMyMoney

KMyMoney New File Setup step 4/5 part 1
KMyMoney New File Setup step 4/5 part 2

(a couple of hours later...)

Okay, KMyMoney just kind of overwhelmed me with Stuff right off the bat. It wanted me to enter all kinds of detailed information about my account, and myself personally, including stuff that would take some time to look up (like "account opening date" -- for which it would fill in 2025-01-01 if I didn't enter something), and it wants to set up a bunch of sub-accounts NOW, and why does it need all that? I just want to balance my ledger, for now. Maybe later we can get elaborate with assets and liabilities, but don't hit me with all that before I can even get started. I accidentally exited the app when I selected "new", thinking I could enter a new transaction, and instead it started to set up a new file and I cancelled out of that and... that was the only window, it didn't leave the old account open anywhere. So much for that.

Skrooge

Next I tried another KDE app called Skrooge. It showed a splash screen and then died. Running it in a terminal, I got these messages:

##WARNING: Qt: Session management error: Could not open network socket
##WARNING: Attribute Qt::AA_ShareOpenGLContexts must be set before QCoreApplication is created.
##WARNING: KServiceTypeTrader: serviceType "ThumbCreator" not found
[79085:79085:0205/143232.596238:FATAL:credentials.cc(125)] Check failed: . : Permission denied (13)
Trace/breakpoint trap (core dumped)

So much for that too. then.

others

Next I tried something called "mmex". The screenshot gave me the impression that it has a design similar to KMyMoney, but I thought I'd try it anyway. It had an XML error on loading but was able to proceed -- and then it wasn't able to access the drive where I put money-data, because Snap -- there's a way around that, but it always takes me half an hour to figure it out so that was kind of an "I'm done with this" flag.

"Denaro" was looking pretty promising for a bit -- but when I tried to import the transactions .CSV I exported from my bank account this morning, it froze for about a minute and then crashed.

I don't know what else to try, so now we're back to me writing my own app.