offline invoice management system for South African small businesses
# InvoiceFlow SA π
**Making small business invoicing a breeze.**
A desktop invoice management system built for South African small businesses β garden services, salons, electricians, freelancers, and more. Runs completely offline, no cloud, no login, no subscriptions. Just fast, professional invoices.
Built as a portfolio project, inspired by my mom's garden landscaping business.
---
## π Overview
Small business owners in South Africa often rely on manual, time-consuming methods to create invoices β Word documents, handwritten notes, or spreadsheets. InvoiceFlow SA replaces that with a simple, guided desktop app: set up your business details once, add customers, and generate polished, professional PDF invoices in minutes.
---
## β¨ Features
- **Company Setup** β enter your business and banking details once; they're reused on every invoice
- **Customer Management** β add, edit, search, and delete customer records
- **Invoice Generator** β select a customer, add unlimited line items, see totals calculate live
- **Automatic Invoice Numbering** β sequential, year-based invoice numbers (e.g. `INV-2026-00001`)
- **Manage Invoices** β reuse a past invoice as a starting point for month-end resends: search for an old invoice, edit the items or prices if needed, and regenerate it with a fresh invoice number, date, and time β the original invoice and PDF are left untouched
- **Professional PDF Generation** β polished PDF invoices with itemized tables and banking details, saved automatically
- **Dashboard** β at-a-glance stats: total customers, total invoices, monthly revenue, recent activity
- **Reports** β monthly revenue chart and breakdown table
- **Single-Window Navigation** β a clean sidebar interface, no scattered pop-up windows
- **Offline-First** β all data stored locally in SQLite; nothing leaves your computer
---
## π οΈ Built With
| Tool | Purpose |
|---|---|
| **Python** | Core application logic |
| **CustomTkinter** | Modern desktop GUI |
| **SQLite** | Lo β¦