Production-style full-stack GST invoice OCR platform with FastAPI + Next.js.
- Backend: FastAPI, SQLAlchemy (async), JWT auth
- Frontend: Next.js 15, TypeScript, Tailwind CSS, shadcn-style components
- Database: PostgreSQL
- OCR: PaddleOCR (primary), EasyOCR (fallback)
- PDF/Image Processing: OpenCV, pdfplumber, PyMuPDF
- Charts: Recharts
- DevOps: Docker, Docker Compose
- Upload
PDF/JPG/PNGinvoices - OCR extraction for vendor, GSTIN, invoice no/date, HSN/SAC, tax amounts, grand total
- GSTIN format validation
- GST arithmetic mismatch detection
- AI-based correction heuristics for weak/missing fields
- Duplicate invoice detection
- Role-based auth (
admin,accountant) - Audit logs
- Dashboard KPIs + monthly GST charts
- Search/filter + pagination
- Export CSV/Excel/JSON
- Chat-like query (
Show invoices where GST > 5000) - Dark/light theme and mobile-responsive UI
- OCR confidence visibility
docker compose up --buildThen seed realistic demo data:
docker compose exec backend python /scripts/seed_data.pyAccess:
- Frontend:
http://localhost:3000 - Backend:
http://localhost:8000 - Swagger:
http://localhost:8000/docs
Demo users:
- Admin:
admin@invoxel.ai/Admin@1234 - Accountant:
accountant@invoxel.ai/Accountant@1234
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python -m app.create_tables
uvicorn app.main:app --reloadcd frontend
npm install
cp .env.example .env.local
npm run devDetailed endpoint docs: docs/API_DOCUMENTATION.md
SQL schema: docs/database_schema.sql
cd backend
pytest- Metadata seed set:
sample_data/invoices.json - OCR/parser text fixtures:
sample_data/mock_invoice_texts/inv_01.txt...inv_10.txt
These are used by scripts/seed_data.py to populate PostgreSQL with realistic invoice and invoice item data.
See docs/DEPLOYMENT.md.
- Modular backend architecture
- Type-safe frontend modules
- Role-based access controls
- Validation + auditability
- Export/reporting support
- Seed/test support for quick onboarding
Built a production-style AI-powered GST invoice OCR platform using FastAPI, PaddleOCR, Next.js 15, and PostgreSQL with JWT RBAC, analytics dashboards, export pipelines, and Dockerized deployment.