An AI-powered solution designed to simplify compliance and tax-related issues for South African banking customers. Many people don’t know which tax bracket they fall into or how to handle SARS-related challenges. This project leverages AI and automation to provide instant guidance, personalized compliance checks, and efficient resolution paths.
# 🇿🇦 AI Banking Compliance Assistant
An AI-powered solution designed to simplify compliance and tax-related issues for South African banking customers.
## Features
- 📊 **Tax Bracket Detection** – Automatically calculate which SARS tax bracket you fall into
- 🧠 **AI Compliance Advisor** – Get step-by-step guidance on handling compliance or SARS-related issues
- ⚡ **Automated Document Checks** – Upload payslips or tax certificates for instant compliance validation
- 🔔 **Smart Alerts** – Get reminders for deadlines, tax return filing, or outstanding issues
- 🔒 **Secure & Private** – User data encrypted and never shared
## Tech Stack
- **Backend:** Python (FastAPI)
- **AI Layer:** OpenAI GPT
- **Database:** PostgreSQL (with SQLite fallback)
- **Cache & Queue:** Redis + Celery
- **Containerization:** Docker + Docker Compose
## Setup Instructions
1. Clone the repository
2. Copy `.env.example` to `.env` and configure your settings
3. Run `docker-compose up` to start all services
4. Access the API at `
localhost`
5. Check API documentation at `
localhost`
## API Endpoints
- `POST /api/tax/calculate` - Calculate tax based on annual income
- `GET /api/tax/bracket/{index}` - Get information about a tax bracket
- `POST /api/compliance/advice` - Get AI-powered compliance advice
- `GET /api/compliance/sars/deadlines` - Get important SARS deadlines
- `POST /api/documents/upload` - Upload and analyze documents
- `GET /api/alerts` - Get user alerts
## Development
To run without Docker:
1. Create a virtual environment: `python -m venv venv`
2. Activate it: `source venv/bin/activate` (Linux/Mac) or `venv\Scripts\activate` (Windows)
3. Install dependencies: `pip install -r requirements.txt`
4. Run the server: `uvicorn app.main:app --reload`