A mobile app for KMyMoney (Android + Wear OS)

Hi everyone,

I love KMyMoney on the desktop, but one thing always bugged me: cash expenses. By the time I sit down at my PC, I’ve forgotten half of what I spent in cash during the day. So I built a small Android app to fix exactly that problem, and I’d like to share it.

Ausgaben (German for “expenses”) lets you record cash expenses, income and transfers on the go — right on your phone, or even by voice on a Wear OS watch — and then export them into KMyMoney. No more scribbling on receipts or trying to remember later.

What it does

  • Seamless KMyMoney integration — writes new bookings directly into your .kmy file (gzip XML) and imports accounts/bookings back out, including splits and transfers. CSV import/export is also supported.
  • Sync via your own server — it exchanges the file through a shared WebDAV, Nextcloud or SMB folder. No third-party cloud, no vendor account.
  • Fully offline and private — no ads, no tracking, no telemetry. Your data stays yours.
  • Wear OS voice input — say “bakery 4 euro” from your wrist; the watch captures the text, the phone parses and books it (with dedup, offline queueing and auto-sync via the Data Layer).
  • Split bookings and transfers, categories, and per-account “places” (track where your cash physically is — wallet, jar, safe…).
  • Charts and analysis per account/place/total, plus a portfolio import (securities with buys/sells/dividends, latest prices, and a net-worth line).
  • Smart entry — fuzzy payee matching, learned aliases (“mom 100 €” → real name + account + category), and optional GPS to auto-suggest the payee based on where you are.
  • Multilingual — ships in English and German, and you can add more languages yourself by uploading a translation file (no rebuild needed). Currency is configurable per account.
  • Biometric lock and encrypted credentials.

It’s free and open source (GPL-3.0). Signed APKs for the phone and the watch are on the releases page:

Project: https://github.com/PerFermat/Ausgaben

Download: https://github.com/PerFermat/Ausgaben/releases/latest

It runs on Android 8+ (API 26). To install, allow “install from unknown sources”.

A note on safety / disclaimer

This is a personal project I’m sharing as-is, with [b]no warranty[/b] — in particular, I can’t guarantee that your .kmy file will remain fully intact or valid after an export. That said, the app is built defensively: [b]before every export it uploads a timestamped backup of your .kmy (e.g. mymoney.kmy.bak-20260706-1503) right next to the original, so you always have a fallback to restore from if anything looks off. As always with financial data, I’d recommend keeping your own regular backups too, and verifying the result in KMyMoney after the first few exports.

This started as a personal tool, so it’s opinionated and built around my own KMyMoney workflow — but I’d genuinely love feedback from other KMyMoney users. Does the .kmy round-trip work with your setup? What’s missing for your workflow? Bug reports and suggestions are very welcome (here or as GitHub issues).

Thanks for reading!

2 Likes

Might be good to add to your disclaimer how you use probabilistic automation systems, and how well you understand the code it generates.

2 Likes

Thank you for the suggestion. I’ll add that information to the GitHub description.

A bit about my background:

I’ve been working as a software developer for around 25 years, although primarily in a programming language that comes from a very different world than modern mobile app development.

A few years ago, I completed several Java courses, which is why this app is written in Java rather than Kotlin. Most of the software I’ve developed myself has been small to medium-sized projects. For more complex work, I’ve occasionally used AI assistance, but I have always reviewed, adapted, and maintained at least parts of the generated code myself.

This app is my first project that was initially created almost entirely with AI assistance. So far, I have reviewed and analyzed some of the individual methods and components myself to better understand how they work. The documentation of that process is still incomplete, and I plan to be more transparent about both my code reviews and the overall development process in the future.

1 Like