AI-powered invoice data extraction. Upload any PDF invoice and get structured, validated data in seconds — no manual entry required.
Built with Google Gemini and Python. Designed for operations teams, accounting firms, and logistics companies that process high volumes of invoices.
- Extracts vendor name, invoice number, dates, line items, subtotal, tax, and total
- Assigns confidence scores to every extracted field
- Exports results to CSV or JSON with one click
- Handles digital PDFs in any language
- Processes an invoice in under 3 seconds
Before: An accounts team manually types 200 invoices into a spreadsheet — 3 hours of work per day.
After: Upload the PDFs, download the CSV — 4 minutes.
git clone https://github.com/YOUR_USERNAME/invoice-extractor
cd invoice-extractor
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# Add your GEMINI_API_KEY to .envGet a free Gemini API key at aistudio.google.com
# Smoke test (confirms API connection works)
python tests/test_extractor.py
# Launch the web app
streamlit run app.pyinvoice-extractor/
├── app.py # Streamlit web UI
├── config.py # Centralised configuration
├── core/
│ ├── gemini_client.py # Gemini API wrapper with retry logic
│ ├── extractor.py # Extraction orchestration engine
│ └── models.py # Typed data models
├── utils/
│ ├── pdf_parser.py # PDF → text conversion
│ └── export.py # CSV / JSON export
└── tests/
└── test_extractor.py # Smoke test
- AI: Google Gemini 1.5 Flash
- UI: Streamlit
- PDF parsing: PyMuPDF
- Language: Python 3.11+
Robotics & AI Engineering student specialising in Python automation and AI integration.
Available for custom AI automation projects — [tiwarianshika09.05.2005@gmail.com]