A receipt sorter that never leaves your laptop (Gemma + Ollama)
This is a submission for the Hacktoberfest Challenge, Week 2: Side Hustle. What I Built Freelancers collect receipts and invoices from many places: email PDFs, phone photos, app screenshots. At tax time someone has to type each one into a spreadsheet. Those documents hold client names, rates and payment details, and many freelancers don’t want them uploaded to a service they don’t control. Local…
This project, Local Receipt Sorter, helps freelancers manage their receipts and invoices without uploading sensitive information to external services. Freelancers often collect receipts in various formats, such as email PDFs, phone photos, and app screenshots. At tax time, someone has to manually type each receipt into a spreadsheet, which can be tedious and time-consuming. This app addresses that issue by running entirely on the user's own computer, ensuring data privacy.
The app uses a Gemma vision model from Ollama, which processes the receipts and invoices without leaving the user's machine. It extracts key information such as the vendor, date, invoice number, currency, subtotal, tax, and total. The program also checks for any potential errors or inconsistencies, such as missing fields, bad dates, non-positive totals, and incorrect totals.
The user interface was built using Streamlit, which presents the results in a clean and editable table. Users can review the data and make any necessary corrections before exporting the information as a CSV or Excel file. The app can also suggest a clean filename for each document, like "2026-03-04_acme-cloud_1180.00.pdf."
The project is open-source and can be sold as a one-time license, a monthly fee, or even a done-for-you service. Users can choose between a smaller model or a larger one for improved accuracy. Additionally, the user can switch to a larger Gemma model by making a simple setting change, tighten the prompt, or fine-tune the model for specific types of invoices.
To test the app, the developer used 25 documents, including PDFs, photos, and screenshots. The results showed that the model performed well, even without dates or other essential information, as it never invents or infers missing data. This feature ensures that privacy is maintained, and users can trust the app to handle their sensitive information securely.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.