Is KMyMoney worth the effort of manual input?

I’ve been looking into managing my personal finances for a while now. In the past, I’ve used a proprietary app called Andromoney on Android. It works well but requires manual input on your phone for every single transaction. There is also a web interface for paid users. It worked well enough for what I need, which is to get an overall view of my income and expenses, but at some point, manually inputting all my transactions have become too tedious and I find myself falling behind on keeping everything in sync and accurate. I now have stopped using it for months.

I’ve looked into using KMyMoney. It doesn’t have an android app, so that means that I won’t be able to input transactions on the spot when it happens. But it does have CSV importers and importers for other formats (OFX, QIF) that unfortunately my banks don’t support from what I can tell.

But it looks like such a sophisticated app. I’m hoping that with its CSV importer it would at least significantly reduce the effort needed to keep track. But at the same time, not being able to input transactions from my phone (especially for stuff that are not recorded anywhere like cash transactions) can seem like a major drawback. Also, can it auto-categorize transactions based on the text in the transaction info provided by the bank?

One of my banks also does not provide a CSV format unfortunately… just PDF. So I’d also have to find a way to import data from that. That’s another problem.

Has anyone been in my situation, and is KMyMoney the right tool for me? Are there ways around the drawbacks I’ve mentioned above?

Another thing is that it feels like KMyMoney is designed primarily for European users, with its direct online banking interfaces (I am so jealous, we don’t have that here). So I was wondering if there were any non-european users here who can chime in on how well it works out for them

I live in New Orleans and I am very happy with KMM. Otoh, I don’t enter all transactions by hand. My banks and credit card companies provide OFX and/or QFX export. I find CSV file import/export to be an annoyance – whether I am using it with KMM or any other software. On the plus side, you are getting a very robust personal finance program for free and it is supported by a great community and very helpful developers. I vote “Yes”

I’m also in the US and have been using KMM for over 20 years. For much of that, many/most of my banks/investment brokers provided OFX Direct Connect, but there are none left. One still provides OFX file download. For most of the others, csv import works adequately, including my Bank of Ameirica credit card. My largest annoyance (if not outright pain) is Merrill Lynch, which now provides only csv, and the file they provide (which uses the “.dnl” suffix.) needs a pre-processing script to split into separate accounts which still need further processing after import. I have a vague intent of writing a new importer specifically for that file type which will handle multiple accounts and both investment and banking transactions.

My general process is to import transactions monthly or quarterly (depending on account and level of activity, mark transactions cleared based on paper or email receipts, and then reconcile. For most transactions, I keep the date as the actual transation date, not the post date, but that’s a personal choice. I leave checks as the date they cleared the bank, with the date written noted in the memo.

Despite all this, I continue to be very happy with KMM. I use it for both personal finances, and for a small non-profit for which I am treasurer.. In both cases, it lets me follow balances and cash flow (albeit a bit delayed from an optimal case) and provides sufficient reports for overall status and for tax planning.

1 Like

Yes and no.
The software has several ways to auto-categorize transactions:

  1. based on the payee. You define manually once the standard category for one payee and all future transactions of this payee will be booked on this specific category
  2. based on past transactions. I don’t know how it works, but i already experimented that some imported transactions have been categorized without my action :slight_smile: . Not randomly but based on similar past transactions

A third way, which is not an auto-categorize, but contributes to your general goal “how can i have less manual repetitive work?” is the great option of “scheduled transactions”.

You spend time once to define each scheduled transactions, for example monthly bills, your salary, yearly car insurance, quarterly house charges, whatever.
Then the transaction will be created by the software and appear in the account ledger.

For my personal finances, i have 28 scheduled transaction, most are monthly but not all. It is a great option.

When i update my data (in your case it would be by importing CSV file from your home bank), then the software recognizes that some transactions of CSV are also existing as scheduled transaction and proposes to match them. I can then choose to accept the match or to let both transactions separated.
A nice option of KMyMoney is also that you can define the number of days for the match. Example: a scheduled transaction is planned for March 1st but appears in the bank CSV file on another date (earlier or later), e.g. on March 12th. KMyMoney can still match them because i defined in the Settings 15 days of match range.

I don’t know if you have many transactions which may be scheduled or not…

2 Likes

Here’s how that is implemented after it gets a list of all transactions in that account for that payee

  • Default is to use the most recent transaction as the reference
  • If there are more than one matching transaction, try to be a little smart about which one to use. KMyMoney scans them all from newest to oldest and checks if it finds an exact match or it will use the one with the closest value.

@surcouf the stuff you wrote sounds good to me. Now what I should do is just actually give it a try and experiment.
The CSV file that the bank provides does not provide a separate column for payee though. It’s just some description. The only way to get the payee is if I apply some regex maybe.

I guess I should just dive in and give it a try, and not discuss too much

Thank you for all the information!

There are two things you can try. One is to write a script to pre-process the csv file and use a regexp to create a new Payee column. The other is to let the full description get used as the payee for the first import and for subsequent imports of new payees. Then you can manually correct the payee to be what you want. If the actual payee name is a strict substring of the description column, then payee matching should find it for future imports. If not, you can create an appropriate matching entry under the Payee entry.

As with many tools, there are many ways to use KMyMoney - the trick is to find one that meets your needs and your process.

There is also Skrooge which is a bit simpler. But TBH I find both tedious and complicated and as a result have never managed to keep up with using them.

1 Like

kMyMoney(double entry) > scrooge(single entry)

I rather a double entry system. Gnucash is another fan favorite.

1 Like

I am in the USA as well and a user of kmm for over 10 years. I wish the data entry was more streamlined like gnucash’s but the reporting in kMyMoney is really nice. It is getting a bit dated but there are new updates pretty often in the app image.

Gnucash seems more tailored to American business tax laws, GAAP, while kmm seems more EU focused. Just a gut feeling.

Use Okular to copy tabular data from a pdf or a scanned image. Paste into a spreadsheet. Import into KMM as csv. Very simple. Very effective. I have just done 20 years of scanned and pdf for multiple accounts. Using a spreadsheet allows check easy editing and checking for errors in balances before importing into KMM.
I have multiple bank accounts. Each bank uses slightly different descriptions for the same thing. Create a lookup table in a spreadsheet to generate categories and uniform payee descriptions. Copy original payee description into the memo field for record. Even if the bank provides csv, I still do the above to ensure consistent importing into KMM.

1 Like

I clearly have to up my game as a “seasoned” KMM user. thanks

1 Like

I have my doubt that this will work, based on my paste experience with copying and pasting stuff from PDF with Okular… but I must admit I haven’t tried it with my bank statement PDFs… worth a try..

@9man. Copy-pasting from a PDF only works if copying permissions have been set. Some banks deliberately prevent data copying from pdf bank statements. e.g. Barclays used to do this but have now changed to allow copying. If so, you will need to screen shot of the table, pdf and OCR. Paste your screen shots into Word or similar. Make sure the pastes are consistent size and and scanned columns are aligned if you do multiple pastes. Create pdf. Do OCR on pdf. e.g. https://ocr.space/. Table copying in Ockular table will then work. Paste into spreadsheet to do any corrections and ensure balances are correct. Save as csv. Import into KMM. I have done 100s. Works a treat.

100% yes. Of course really any good budget software, but kmymoney has been extremely stable on Debian in my experience. I’ve had a small hiccup here or there, but generally once you learn how it works it’s pretty capable for something free.

I don’t know about importing data, but my bank failed to connect as well. So I just do it manually, which I think is a habit worth having even if you could do it automatically.

If you are not willing to give your financial data to a third party company, then you have a few options, KMyMoney is one of them. If you care about integrity in your finances, you want something that is double entry accounting, like GnuCash or KMyMoney.

There are a lot of new options in the market now-a-days and they are free or low cost. But they harvest your data, anonymize it, and then use it to train their models with it. They harvest it for things like understanding users purchasing patterns, credit limits, etc and then resale the info.

Well, if you don’t want any of those online free options, go with something on your desktop and that would go back to something like KmyMoney or Gnucash.

Unfortunately banks, at least in the USA, are moving away from allowing users to directly connect to their backend systems and instead they want to allow fewer connections to the backend in the way of brokers/proxies. Plaid is one of these types of proxies. You connect to them and they connect to the bank using the APIs that the bank and Plaid have agreed on. However for this to work the developers of the application would need to pay Plaid a fee. Quickbooks, Xero, Wave and others are fine to do this as they are a centralized group or company that can do that on behalf of their customers. They then pass the cost to the customers(nothing is truly free). Kmymoney and other software however, is open source. No centralized company that can take this responsibility on and expect to recoup the costs at year-end. Maybe if there was a way for each user to pay for their own subscription to plaid or other proxies, then add the credentials to their own kmymoney instance on their machines, that would be way cool! :slight_smile:

Anyways.. all this to say that I don’t want to give my financial data to the 3p, and the banks in the USA suck and are taking away a capability we enjoyed to reduce their risk(cybersecurity attacks… absorbed by Plaid and others… in the USA Legal liabilities are the main drivers of cost in many industries. you can get sued for just about anything, so banks are reducing their legal exposure by this).