Accounting AI — Autonomous Bookkeeping Platform
AI-first accounting platform where six specialised Claude-powered agents autonomously handle invoice ingestion, GL categorisation, bank reconciliation, VAT/corporate tax compliance, and financial reporting — accessible via Telegram, WhatsApp, and a web dashboard.
- FastAPI
- Python
- Claude API
- PostgreSQL
- Celery
- React
- Telegram Bot
Overview
Accounting AI is a “Service as Software” platform that replaces manual bookkeeping with a multi-agent AI system. Users send invoice photos via Telegram or WhatsApp — or upload through the web — and six specialised AI agents take over: extracting data, categorising to the right GL accounts, reconciling against bank feeds, calculating tax obligations, and routing exceptions to a human approval queue. The goal: accountants review only what AI flags, not every transaction.
The Challenge
Small and mid-sized businesses in the UAE and Ethiopia deal with strict tax compliance requirements (UAE VAT at 5%, Corporate Tax up to 9%, mandatory quarterly filings) but lack the staff or budget for a full accounting team. The platform needed to automate 80%+ of routine bookkeeping while maintaining a complete, auditable trail — and remain extensible to multiple countries without rewriting tax logic.
What We Built
Six AI Agents (Claude API + Celery)
Document Intake Agent Accepts photos and PDFs via Telegram, WhatsApp, or web upload. Uses Claude Vision to extract structured invoice data — vendor, amounts, dates, line items. Confidence-scores every extraction (< 0.85 → manual review queue). Auto-rejects out-of-range dates.
Categorisation Agent Maps extracted line items to General Ledger accounts using a 3-tier decision pipeline: vendor cache from learned history → keyword pattern matching → Claude API fallback. Learns from user corrections and boosts confidence automatically on repeat vendors. Auto-categorises at 0.9+ confidence.
Reconciliation Agent Matches uploaded bank statements to posted journal entries. Handles multi-currency with daily exchange rate lookups. Flags unmatched, duplicate, and partial items (fees, interest) for review.
Tax Compliance Agent Reads country-specific YAML regulation packs at runtime — no hardcoded tax rates. Calculates UAE VAT (5%), Corporate Tax (0–9% brackets), and excise on controlled goods. Generates tax return worksheets and maintains an immutable audit trail with reasoning and confidence per calculation.
Reporting Agent Produces General Ledger, Trial Balance, P&L, Balance Sheet, and Cash Flow forecasts on demand. Supports month/quarter/year filters and tax liability previews.
Approval Agent Routes exceptions (< 0.8 confidence) to a human approver via inline buttons in Telegram/WhatsApp or the web dashboard. Captures comments and corrections, maintaining version history on every approved transaction.
Bot Interfaces (Telegram + WhatsApp)
- Commands:
/summary,/recent,/balance,/vat,/overdue - Document upload → immediate OCR extraction and categorisation
- Inline approve/reject/edit buttons for flagged items
- Language toggle: English / Arabic
- Group channel support for team status updates
Web Dashboard (React + TypeScript + Tailwind)
- 17 feature modules: accounts, invoices, banking, transactions, tax, reports, approvals, audit log, and more
- Full Chart of Accounts management and bank feed setup
- VAT/Corporate Tax compliance dashboard with filing deadlines
- Audit log viewer tracing every AI decision with reasoning
- Full Arabic + English i18n throughout
Backend API (FastAPI)
- Async-first architecture: FastAPI + AsyncIO + asyncpg for high concurrency
- Celery DAG workflows for multi-step agent chains (intake → categorisation → reconciliation → approval)
- pgvector on PostgreSQL for vendor embedding and pattern matching
- Regulation loader: YAML packs per country — add a new country’s tax rules without touching application code
- Every query scoped by
tenant_id; multi-tenancy enforced at the ORM layer - Amounts stored as integers (fils/cents) — no floating-point errors in financial logic
Tech Stack
| Layer | Technology |
|---|---|
| Backend API | FastAPI, Python 3.12, AsyncIO |
| AI / Agents | Anthropic Claude API (Vision + text) |
| Database | PostgreSQL 16, pgvector, Alembic |
| ORM | SQLAlchemy 2.0 (async) |
| Queue / Workers | Celery, Redis 7 |
| File Storage | MinIO (S3-compatible) |
| Bot Frameworks | python-telegram-bot v21, WhatsApp Cloud API |
| Web Frontend | React 18, TypeScript, Tailwind CSS, TanStack Query |
| Infrastructure | Docker Compose, Traefik, Let’s Encrypt |
Outcome
A fully autonomous accounting back-office for UAE-regulated businesses — accessible from WhatsApp or Telegram without opening a laptop. The regulation YAML architecture means adding full tax compliance for a new country (filing calendar, rates, chart of accounts) requires only a new configuration folder, not new code.
Other Projects
AMT Mobility Platform
Full-stack scooter & e-bike rental platform for the UAE. Mobile apps for renters and drivers, real-time fleet management dashboard, and a NestJS backend API.
TadHub — UAE Tadbeer ERP Platform
Comprehensive ERP for UAE domestic worker recruitment centers (Tadbeer). 11 compliance modules, full MoHRE and WPS 2025 compliance, multi-tenant architecture.
Directory SaaS Platform
Production-grade multi-tenant directory and marketplace SaaS starter. 3 frontend apps, AI-powered search, enterprise auth, and 729 automated tests.
Want something similar?
We build AI-powered products, web applications, and automation systems. Let's discuss your project — no commitment required.