As a freelancer, I found myself spending time every month manually opening PDF and Word invoices, copying the details into a spreadsheet, and tracking payments. It was tedious and error-prone.
I decided to build a simple desktop app to automate this. It's a GUI built with Python and Tkinter that points to a folder of invoices, parses the key details (invoice #, amount, date), and stores everything in a local SQLite database for tracking and analysis. It's been quite a time- and headache-saver for me.
A Note on Simplicity & Caveats
I'm sharing this in case it's useful to any other freelancers or businesses, but I want to be upfront about its limitations:
The UI is very basic. It's built with vanilla Tkinter and is all about function over form. It's not the prettiest app, but it gets the job done.
The core automation relies on a "patterns" feature that matches invoice prefixes to clients. This is super useful for my own workflow but might be a bit niche if your invoice naming is less consistent. You can still use manual entry if patterns don't work for you.
The stats dashboard is Euro-centric right now and aggregates all currencies into a total shown in Euros (€). I plan to fix this later.
It's a simple personal project that solves a personal problem. The code is on GitHub, and I'd love to hear any feedback or suggestions you might have.