BillBuddhi:採用 Gemma、Ollama、Tesseract OCR 和 Streamlit 的印度小型企業本地優先 AI 發票助手
BillBuddhi-Local-first AI invoice assistant for Indian small businesses using Gemma, Ollama, Tesseract OCR, and Streamlit.
BillBuddhi 是面向印度自由工作者及小型企業的本地優先 AI 發票助手,可從發票圖片及含可選取文字的 PDF 擷取資料,供用戶核對和修正。它透過 Ollama 本地執行 Gemma,使用 Tesseract OCR 處理圖片,並以 pypdf 擷取 PDF 文字;核對後的發票可匯出為 CSV。這是原型而非會計軟件,AI 提取結果須人工核對。
Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle Submission 💸
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle
What I Built
BillBuddhi is a local-first AI invoice assistant designed for Indian freelancers and small businesses.
Manually entering invoice details into spreadsheets is tedious. BillBuddhi helps simplify this workflow by extracting invoice information, allowing users to review the results, flagging basic inconsistencies, and exporting reviewed invoices to a CSV ledger.
The goal is to help small businesses spend less time on manual data entry while keeping control over their financial records.
Demo
Watch the BillBuddhi demo:
The demo shows invoice upload, local AI extraction with Gemma, validation warnings, and CSV ledger export.
Code
BillBuddhi
A local-first AI invoice assistant for Indian freelancers and small businesses.
BillBuddhi turns invoice images and text-based PDFs into a reviewable ledger. It combines local OCR and PDF text extraction with structured extraction from Gemma running through Ollama. You can correct the extracted fields, check basic consistency flags, and export reviewed entries to CSV.
Prototype, not accounting software. AI output can be wrong. Review every value against the source document before recording it. BillBuddhi does not establish GST compliance or provide tax advice.
Features
- Upload PNG, JPG/JPEG, or WEBP invoice images, or PDFs that contain selectable text.
- Extract image text with Tesseract OCR and PDF text with pypdf.
- Use a local Gemma model via Ollama to suggest structured invoice fields
- Supplier name, invoice number, invoice date, and currency
- Subtotal, CGST, SGST, IGST, other charges, and total
- Optional notes
- Review and manually correct the suggested values before adding an invoice.
- …
How I Built It
I built BillBuddhi using Python and Streamlit, with Tesseract OCR for invoice images and pypdf for text-based PDFs.
Gemma runs locally through Ollama and extracts structured invoice fields. Python independently checks basic arithmetic discrepancies, while users can review and correct extracted values before adding invoices to the ledger.
The application supports CSV export for further bookkeeping.
Why Does Open Innovation Matter?
Financial documents can contain sensitive business information. Running an open-weight model locally gives users greater control over where their invoice data is processed.
Using Gemma through Ollama also reduces dependence on hosted AI APIs and their per-request pricing. Developers can experiment with different compatible models and improve the extraction workflow without committing to a single proprietary AI provider.
Local inference still requires suitable hardware and electricity, and extraction errors remain possible. BillBuddhi therefore includes human review rather than treating AI output as automatically correct.
Prize Categories
Best Use of Gemma
來源:DEV Community · dev.to