🚀 Automate invoice image processing and Excel report generation using AI OCR.
Transform invoice images into structured Excel reports with AI-powered OCR, customer matching, and automated calculations.
- 🤖 AI-Powered OCR: Extract invoice data from images using advanced AI
- 📊 Excel Generation: Create structured Excel reports with formulas (like VLookup)
- 👥 Customer Matching: Fuzzy matching for customer name consistency using vector database
- 📁 File Management: Track and manage generated Excel files
- 🎨 Modern UI: Built with Wails for native desktop experience
- ⚡ Fast Processing: Efficient batch processing of multiple invoices
excel-ai-updater/
├── backend/ # Python FastAPI backend
│ ├── src/
│ │ ├── api/
│ │ │ ├── main.py # FastAPI server
│ │ │ └── .env # Environment variables
│ │ ├── excel/ # Excel generation logic
│ │ ├── knowledge_base/ # Customer database
│ │ └── models/ # Data models
│ └── requirements.txt # Python dependencies
├── frontend/ # Wails frontend
│ ├── src/
│ │ ├── components/ # JavaScript modules
│ │ ├── styles/ # CSS styles
│ │ └── data/ # JSON data storage
│ ├── index.html
│ └── package.json # Node dependencies
├── app.go # Go application logic
├── main.go # Go main entry point
├── wails.json # Wails configuration
└── README.md
- Download: https://golang.org/dl/
- Windows: Download
.msiinstaller and run - Verify installation:
go version
- Download: https://nodejs.org/
- Recommended: LTS version (18.x or 20.x)
- Verify installation:
node --version npm --version
- Download: https://python.org/downloads/
- Recommended: Python 3.9+
- Verify installation:
python --version # or python3 --version
go install github.com/wailsapp/wails/v2/cmd/wails@latestgit clone https://github.com/TanWaiKen/invoice-ai-excel.git
cd invoice-ai-excel# Navigate to backend
cd backend
# Create virtual environment
python -m venv .venv
# Activate virtual environment
# Windows:
.venv\Scripts\activate
# Linux/Mac:
source .venv/bin/activate
# Install Python dependencies
pip install -r src/requirements.txt# Navigate to frontend (from project root)
cd frontend
# Install Node dependencies
npm install# From project root
go mod tidyTerminal 1 - Backend:
cd backend
.venv\Scripts\activate # Windows
# source .venv/bin/activate # Linux/Mac
cd src/api
python main.py
# Server will run on http://localhost:8000Terminal 2 - Frontend:
# From project root
wails dev
# App will open in development mode with hot reload# Build the application
wails build
# Run the built executable
# Windows: .\build\bin\excel-ai-updater.exe
# Linux: ./build/bin/excel-ai-updater
# Mac: ./build/bin/excel-ai-updater.app- Start the Backend: Run Python FastAPI server
- Launch Frontend: Use
wails devor built executable - Select Files:
- Process: Click "Process Files" to generate Excel report
- View Results: Check "Generated Files" tab for outputs
Create backend/src/api/.env:
# AI Service API Keys
GEMINI_API_KEY=your_api_key_here- Images:
.jpg,.jpeg,.png,.gif - Excel:
.xlsx,.xlsand need folow below format
# Backend development
cd backend && python src/api/main.py
# Frontend development
wails dev
# Build for production
wails build
# Generate Go bindings
wails generate module
# Install dependencies
go mod tidy
npm install # in frontend folder
pip install -r requirements.txt # in backend folder- POST
/process-invoices- Process invoice images - GET
/health- Health check - GET
/- API information
-
CORS Errors:
- Ensure backend is running on
localhost:8000 - Check CORS settings in
backend/src/api/main.py
- Ensure backend is running on
-
Python Dependencies:
pip install --upgrade pip pip install -r requirements.txt
-
Node Modules:
cd frontend rm -rf node_modules package-lock.json npm install -
Go Modules:
go clean -modcache go mod download
# Build for current platform
wails build
# Build for specific platform
wails build -platform windows/amd64
wails build -platform darwin/amd64
wails build -platform linux/amd64This project is licensed under the MIT License - see the LICENSE file for details.
- Wails - Desktop app framework
- FastAPI - Python web framework
- Go - Backend language
Good Luck for coding...! 🎉

