Built for the Mosaic Wellness Fellowship · Finance Operations Track
AuditIQ is an AI-powered invoice verification system that automatically detects overcharges, GST mismatches, duplicate invoices, and calculation errors across any invoice format — saving finance teams hours of manual work every billing cycle.
🔗 Live Demo → auditiq-zmffcnkmvp5g2ybxhr6ccp.streamlit.app
5–10% of vendor invoices contain overcharges. For a D2C brand spending ₹50L/month on logistics and raw materials, that's ₹2.5–5L lost every single month — silently, because manual invoice checking is slow, error-prone, and nobody has time to do it properly.
AuditIQ solves this by automating the entire audit pipeline in minutes.
Upload any invoice. AuditIQ extracts every field using AI, cross-checks it against your contract rates, and flags every discrepancy with a clear explanation and exact overcharge amount.
| Check | What It Catches |
|---|---|
| Rate Overcharge | Line item rates higher than signed contract |
| GST Verification | GST % doesn't match contracted rate |
| HSN Code Validation | GST rate contradicts GST Council database (80+ HSN codes) |
| Mystery Surcharges | Line items not present in the contract at all |
| Calculation Errors | Arithmetic mistakes — qty × rate and subtotal + GST |
| Duplicate Detection | Same invoice resubmitted in a batch or across history |
| Historical Deviation | Prices that have crept up >10% from vendor's historical average |
Works on any invoice format without pre-configuration:
PDF Scanned PDF PNG JPG WEBP TIFF BMP Excel (.xlsx/.xls) Word (.docx)
🔍 AI Extraction
- Extracts vendor name, invoice number, date, line items, quantities, rates, GST, HSN codes
- Uses vision model for scanned/image invoices, text model for digital PDFs
- 3-library fallback for scanned PDFs (PyMuPDF → pdf2image → pypdfium2)
- 4-stage JSON recovery — never crashes on malformed AI output
📊 Accuracy Engine
- Weighted confidence scoring — arithmetic checks (99%) carry more weight than heuristic checks (88%)
- Grades every audit A+ / A / B / C / D
- Flags weak extraction fields before you rely on results
- GST double-flag deduplication — same root cause counted once
💼 Finance Dashboard
- Total billed vs correct amount
- Payment hold alerts for HIGH severity issues
- Vendor risk scoring across audit history
- Downloadable Word report with findings and recommended actions
🗂️ Rate Card Management
- Upload rate cards in any format — PDF, Excel, image, CSV
- AI extracts vendor name, item rates, and GST automatically
- Vendor database built entirely from your own contracts
| Component | Technology |
|---|---|
| UI | Streamlit |
| LLM Inference | Groq (llama-3.3-70b + llama-4-scout-17b) |
| PDF Extraction | pdfplumber + PyMuPDF |
| Image Processing | Pillow |
| Report Generation | python-docx |
| Deployment | Streamlit Cloud |
AuditIQ/
├── app.py # Streamlit UI — 6 tabs
├── extractor.py # AI invoice extraction
├── auditor.py # All 7 audit checks + HSN database
├── accuracy_engine.py # Weighted confidence scoring
├── history_manager.py # Audit history + pattern detection
├── rate_card_manager.py # AI rate card extraction
├── report_generator.py # Word .docx report (pure Python)
├── requirements.txt
├── .streamlit/
│ └── config.toml
└── data/
├── audit_history.json
└── custom_rate_cards.json
# 1. Clone the repo
git clone https://github.com/harman123-cloud/AuditIQ.git
cd AuditIQ
# 2. Install dependencies
pip install -r requirements.txt
# 3. Add your Groq API key
echo "GROQ_API_KEY=your_key_here" > .env
# 4. Run
python -m streamlit run app.pyGet a free Groq API key at console.groq.com
Six test invoices are included to validate every detection pattern:
| File | Pattern | Expected Flag |
|---|---|---|
01_rawmat_rate_overcharge.pdf |
Steel ₹4,500→₹5,200, Aluminum ₹3,200→₹3,900 | Rate Overcharge × 2 |
02_fastship_gst_wrong.pdf |
GST 18%→28% + unlisted surcharge | Incorrect GST Rate + Mystery Surcharge |
03_brandboost_calc_error.pdf |
3×₹15,000 billed as ₹51,000 | Line Item Calc Error + Calc Error |
04_rawmat_DUPLICATE.pdf |
Same invoice number as #01 | Duplicate Invoice |
05_rawmat_hsn_gst_mismatch.pdf |
HSN 4819 (12%) billed at 18% | HSN Code GST Mismatch |
06_brandboost_CLEAN.pdf |
Everything correct | No flags — Grade A+ |
Built using Claude Code as part of the Mosaic Wellness Fellowship application.