This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle
What I Built
InvoicePilotBR is a local AI-powered receipt and expense organizer designed for Brazilian freelancers, independent professionals, and small business owners.
It helps users turn receipts and expense documents into structured financial records without manually entering every piece of information. Users can upload PDFs or images, extract details such as supplier, date, amount, and expense category using local AI, review and correct the results, and export approved records to CSV for use in spreadsheets.
The problem it addresses is simple: organizing receipts is repetitive, time-consuming, and often involves sensitive financial information.
InvoicePilotBR aims to make this process faster while keeping document processing on the user's own computer.
Potential users include freelancers, MEIs (Brazilian individual microentrepreneurs), and small businesses that want a simpler way to organize their expenses.
Code
GitHub repository: InvoicePilotBR
How I Built It
InvoicePilotBR is built with Python and Streamlit, with local AI inference powered by Ollama and an open-weight language model.
The main components are:
- Python and Streamlit: provide the application logic and user interface.
- Ollama: runs the language model locally, without requiring a paid cloud AI API.
- Qwen3: serves as the initial model for extracting structured information from document text.
- PyMuPDF: extracts text from digital PDF documents.
- Tesseract OCR: recognizes text in images and scanned documents.
- Pydantic: validates extracted fields and data structures.
- Pandas: prepares expense records for CSV export.
- Pytest: supports automated testing.
The workflow is straightforward: users upload documents, the application extracts their text, the local model identifies relevant expense information, and the user reviews the results before exporting them.
The application is designed to handle missing or ambiguous information explicitly instead of blindly trusting the model's output.
Why Does Open Innovation Matter?
Open innovation is central to InvoicePilotBR because it makes private, locally executed AI processing practical for a small utility.
Privacy by design: Receipts can contain names, addresses, business information, and transaction details. Running inference locally allows the application to process documents without sending their contents to an external AI provider.
Lower operating costs: Once the model is downloaded, ordinary inference does not require a paid API subscription or per-token cloud charges. Users still need compatible hardware and incur electricity and maintenance costs.
Freedom to experiment: Using Ollama makes it possible to switch between compatible models, compare extraction quality, and adapt the application to different hardware and document types.
Less vendor lock-in: The application is not tied to a single commercial AI provider's pricing, availability, or API policies.
Most importantly, open-weight models make it possible to build a practical tool that users can run and control on their own computers. For freelancers and small businesses, that combination of privacy, flexibility, and predictable operating costs can make AI-powered automation more accessible.
InvoicePilotBR explores a simple idea: useful AI tools do not always need to send your data to someone else's server.
Top comments (0)