Building an AI agent that actually bills clients
How we wired Claude into a South African EFT-first invoicing flow — with proof-of-payment, PayPal fallback, and zero hallucinations.

TL;DR
A functional invoicing agent is not "GPT writes a number". It is a tool-calling Claude that owns a state machine — draft, sent, viewed, proof uploaded, paid — with hard guardrails on every transition.
The architecture
Claude orchestrates. The platform owns truth. EFT is the default rail; PayPal is the international fallback. No Stripe — South African banking does not need it for this lane.
The hard parts
Idempotency on agent retries. Webhooks from Resend. Proof-of-payment uploads from WhatsApp. Audit trails that make sense to humans and machines.
The result
A client sends one message. The system invoices, follows up, and reconciles — and a human reviews exceptions, not the happy path.
Related reads
Why R4,500 Is the Minimum for a Website That Actually Works
Honest pricing for SA business websites: what the R4,500 floor buys, what gets skipped below it, and how to read a real proposal.
Industry POVWebsite vs App: The Decision Tree Every SA SME Needs in 2026
Most businesses think they need an app. 90% of their customers would disagree. A practical framework for choosing between website, native app, and PWA.
Got a project?