A lightweight desktop Point of Sale system built for Kenyan retail and wholesale shops. Built with Python, Tkinter, and SQLite, runs fully offline, no internet required.
- Sales — process transactions quickly with product search and quantity input
- Products — add, edit, and manage your product catalogue with categories and pricing
- Stock Management — track stock levels and log stock movements
- Returns — handle customer returns and update inventory automatically
- Reports — view sales summaries and business performance
- User Management — role-based access control for staff and admin accounts
- Receipt Generation — auto-generate PDF receipts per transaction
- Settings — configure shop name, receipt details, and system preferences
- Python 3.13
- Tkinter (GUI)
- SQLAlchemy (ORM)
- Alembic (database migrations)
- SQLite (local database)
- ReportLab (PDF receipts)
Clone the repo
git clone https://github.com/ianmuriuki/POSflow.git
cd POSflowCreate and activate a virtual environment
python -m venv venv
source venv/bin/activateInstall dependencies
pip install -r requirements.txtRun migrations
alembic upgrade headSeed sample products (optional)
python scripts/seed_products.pyLaunch the app
python main.py
