ReceiptSage: A Local-First AI Receipt Organizer for Freelancers & Creators
What I Built ReceiptSage is a local-first receipt and invoice organizer engineered specifically for freelancers, independent creators, side-hustlers, and small business owners. Freelancers frequently handle a chaotic avalanche of PDF receipts, phone photos, and digital invoices for cloud infrastructure, domain renewals, coffee client meetings, and office equipment. Existing accounting software…
ReceiptSage is a local-first receipt and invoice organizer designed specifically for freelancers, independent creators, side-hustlers, and small business owners. The app tackles the problem of managing a chaotic influx of PDF receipts, phone photos, and digital invoices related to various business expenses. Traditional accounting software often forces users to choose between manually entering data (which is time-consuming and error-prone) or using cloud-based SaaS platforms (which can be costly and pose privacy risks by uploading sensitive financial data to closed cloud AI providers).
ReceiptSage offers an alternative solution using open innovation principles. The app ingests various input formats, including text, PDF files, and scanned images, and utilizes Google's open-weight Gemma AI model (Gemma3:1b) to extract structured fields such as merchant name, date, currency, subtotal, tax, total, and category. This extraction process is performed locally using the Ollama framework, ensuring that no sensitive information leaves the user's device.
In cases where the Ollama model is unavailable or on resource-constrained devices, ReceiptSage falls back to a deterministic rule-based extraction engine powered by regular expressions. This ensures that the application remains operational even under adverse conditions. The app then performs math reconciliation to confirm that the subtotal plus tax equals the total amount, requiring user confirmation before marking records as verified.
ReceiptSage stores data locally using a SQLite database, which supports persistent storage and offers dual-mode functionality for ephemeral in-memory sessions during public demos. Duplicate detection is implemented using SHA-256 document hashing and content matching to prevent accidental double-entries.
The app provides visual analytics and filters for real-time data organization, including filters by currency, category, and month. It also generates AI-powered monthly expense summaries in Markdown format, offering a plain-language spending audit. Users can export data in RFC 4180 CSV format with formula protection and create full JSON backups with one-click restore capabilities.
The end-to-end workflow of ReceiptSage is designed to be user-friendly and privacy-conscious. Upon opening the app, users are presented with clear privacy information and four synthetic preset options representing different business scenarios (Indian GST, US Cloud SaaS, European Cafe, and UK Cab). The extraction process is straightforward, involving a simple click on the "Extract candidate fields" button.
The app then confirms the validity of extracted data through math reconciliation and duplicate detection before presenting the user with options for manual review and confirmation.
ReceiptSage is open-source and publicly available on GitHub, adhering to a permissive MIT License. The codebase is designed to be modular, with separate components for ingestion, AI integration, determination of extraction methods, and local persistence. The application is built in Python 3.12 and follows best practices for security, testing, and deployment.
The permissive license and open-source nature of ReceiptSage enable a community-driven approach to development, allowing developers to contribute to the project, improve its functionality, and customize it according to their specific needs.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.