FDC WhatsApp Cheque Bot
A WhatsApp bot that reads photographed cheques with GPT-4o Vision and posts receipt vouchers straight into Busy accounting — the part I built independently on a team project.
- Status
- Released
- Core stack
- FastAPI · OpenAI · Evolution API · PostgreSQL

Overview
For a distribution business that wanted every cheque in their Busy accounting software without staff learning it. An employee photographs a cheque on WhatsApp; the bot extracts amount/date/party/bank with GPT-4o Vision, matches the party (including learned alternative names), fetches unpaid bills, and writes the receipt voucher into Busy.
It was a team project; the WhatsApp cheque bot was mine to build and own.
Key features
Cheque processing
- GPT-4o Vision OCR with orientation handling; documented 10+ OCR approaches to get handwriting right.
- Queue-based bulk processing — send a stack of cheques at once.
- Accuracy is measured from operator approve/disapprove feedback in the dashboard.
Quotation & catalog
- RAG catalog search with LangChain/LangGraph + pgvector + OpenAI embeddings.
- Busy integration over an RDP/SQL-Server bridge for parties, bills, and vouchers.
Architecture
Stack
- FastAPI + PostgreSQL/pgvector + Redis
- WhatsApp via Evolution API
- Deployed on GCP Compute Engine behind Nginx
Results
Accuracy (self-reported, dashboard-measured)
Impact: ~95%+ overall; ~99% catalog/party
Manual cheque entry
Before: 5–30 minAfter: photo on WhatsApp
Impact: no accounting-software training
Tech stack
FastAPI · OpenAI · Evolution API · PostgreSQL · pgvector · LangGraph · Redis · GCP · Nginx