Leveraging AI to accelerate financial inclusion of SMEs in Africa
# CrediSnap
WhatsApp-based financial statement generator for South African SMEs.
Users upload receipts and invoices via WhatsApp; CrediSnap extracts the data, categorises it, and produces IFRS-aligned financial reports for loan applications.
---
## Tech Stack
| Layer | Technology |
|---|---|
| Interface | WhatsApp Business API (Twilio) |
| Backend | Python — FastAPI |
| Database | PostgreSQL (Supabase) + AWS S3 (document storage) |
| AI / OCR | AWS Textract (extraction) + Claude (classification & categorisation) |
## Compliance
- **POPIA** (Act 4 of 2013) — consent tracking, data retention, soft-delete support
- **SARS** — 5-year record-keeping (TAA s29), VAT at 15%, bi-monthly VAT periods
- **IFRS for SMEs** — double-entry ledger, P&L and Balance Sheet aligned to IFRS line items
- **Currency** — ZAR throughout
---
## WhatsApp Command Reference
| Command | Description |
|---|---|
| Send photo / PDF | Record a receipt or invoice |
| `CASH SALE` | Record a cash sale with no receipt (guided text flow) |
| `YES` | Confirm and save a pending entry |
| `NO` | Something's wrong → opens structured correction menu |
| `EDIT` | Correct the most recently recorded entry |
| `BALANCE` | Income vs expenses snapshot for the current month |
| `LAST` | Details of the most recent journal entry |
| `TOP` | Top 5 spending categories this month |
| `PENDING` | List all receipts awaiting confirmation |
| `REPORT` | Generate a full financial PDF (prompts for year) |
| `REPORT 2025` | Generate a full financial PDF for a specific year |
---
## Build Progress
### Step 1 — Database Schema ✅
*Files: `db/migrations/001_initial_schema.sql`, `db/migrations/002_seed_chart_of_accounts.sql`*
PostgreSQL schema covering the full data model:
- **`users`** — SME business accounts identified by WhatsApp number. Includes CIPC registration, SARS VAT/tax references, POPIA consent fields, and a configurable financial year-end month.
- **`accounts`** — Chart of Accounts per user, seeded from a s …