A comprehensive Point of Sale (POS) and Back Office management system designed for small-to-medium retail stores. Built with Python, PyQt6, and SQLAlchemy, BOSRetail provides a reliable, offline-first solution for retail operations.
- Download the latest release:
BOSRetail-Demo-v0.1.0-Windows-x64.zip - Extract to your desired location
- Run
BOSRetail.exe - Login with demo credentials:
- Admin:
admin/Admin123 - Manager:
john.manager/Manager123 - Cashier:
sarah.cashier/Cashier123
- Admin:
๐ See: Installation Guide | Quick Start Guide
# Clone and setup
git clone <repository-url>
cd BOSRetail
python -m venv venv
.\venv\Scripts\Activate.ps1
pip install -r requirements.txt
# Initialize demo database
python -m src.utils.demo_data
# Run the application
python -m src.gui.main๐ง See: Architecture Guide | Development Setup
- Fast sales processing with barcode scanning
- Multiple payment methods (Cash, Card, Mixed)
- Standard (B2C) and Company (B2B) receipts
- Real-time inventory updates
- Cashier session tracking
- Products: Add, edit, organize with categories
- Inventory: Multi-location support, stock adjustments, low-stock alerts
- Purchase Orders: Full workflow with goods receipt
- Companies: B2B customer management
- Users: Role-based access (Admin, Manager, Cashier)
- Locations: Multiple stores with separate inventories
- Pricing: Default and location-specific pricing
- Daily Sales Report
- Sales by Product
- Sales by Cashier
- Inventory Report
- Low Stock Alerts
- Financial Summary
- External system integration (ERP, e-commerce)
- API key authentication
- Full CRUD operations
- Webhook support
BOSRetail is a standalone desktop application with optional API server:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Desktop Application (BOSRetail.exe) โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ PyQt6 GUI โ โ
โ โ - POS, Back Office, Reports โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ SQLAlchemy โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ SQLite Database โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ Optional
โ API Server (Separate Process) โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ FastAPI REST API โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ SQLAlchemy โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ SQLite Database (Shared) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Key Points:
- โ GUI has direct database access (not client-server)
- โ API server is optional (for external integrations only)
- โ Offline-first design
- โ Multi-location support
๐ Learn More: Architecture Overview | Architecture FAQ
All comprehensive documentation is organized in the docs/ folder.
- โ Complete Documentation Index - All docs organized by topic
- โ Project Organization - Folder structure guide
- โ Quick Reference - Find anything fast
- โ Cleanup Reports - Organization & cleanup documentation
| Document | Description |
|---|---|
| Installation Guide | Complete setup instructions |
| Quick Start Guide | Get started in 5 minutes |
| Quick Reference | Common tasks and keyboard shortcuts |
| Document | Description |
|---|---|
| Architecture Overview | System design and patterns |
| Architecture FAQ | Common architecture questions |
| Quick Architecture Guide | Developer onboarding |
| Testing Guide | How to test the application |
| Build Process | Creating deployments |
| Document | Description |
|---|---|
| Main Deployment Guide | Complete deployment overview - START HERE โญ |
| BoS Service Guide | API service deployment (central server) |
| POS Deployment Guide | POS terminal installation and setup |
| Quick Setup Guide | Fast deployment for all scenarios |
| BoS Deployment Guide | Back Office GUI deployment |
| Deployment Checklist | Pre-deployment verification |
| Packages Guide | Understanding packages |
| Component | Technology |
|---|---|
| Language | Python 3.10+ |
| GUI Framework | PyQt6 |
| Database | SQLite (default), PostgreSQL/MySQL (optional) |
| ORM | SQLAlchemy |
| API Framework | FastAPI |
| Authentication | bcrypt |
| Deployment | PyInstaller |
| Testing | pytest |
- OS: Windows 10 or later
- RAM: 4 GB
- Storage: 500 MB
- Display: 1280x720
- OS: Windows 11
- RAM: 8 GB
- Storage: 2 GB
- Display: 1920x1080
BOSRetail/
โโโ src/ # Source code
โ โโโ api/ # REST API (FastAPI)
โ โโโ database/ # Models and database access
โ โโโ gui/ # User interface (PyQt6)
โ โ โโโ screens/ # Application screens
โ โ โโโ dialogs/ # Dialog windows
โ โโโ services/ # Business logic layer
โ โโโ utils/ # Utilities and helpers
โโโ docs/ # Documentation
โ โโโ user-guide/ # End-user documentation
โ โโโ development/ # Developer documentation
โ โโโ deployment/ # Deployment guides
โ โโโ archive/ # Historical docs
โโโ tests/ # Test suite
โ โโโ test_services/ # Service layer tests
โ โโโ test_database/ # Database tests
โโโ data/ # Database files
โโโ backups/ # Automatic backups
โโโ examples/ # Code examples
โโโ build_deployment.ps1 # Production build script
โโโ build_demo_deployment.ps1 # Demo build script
โโโ requirements.txt # Python dependencies
- โ Password hashing with bcrypt
- โ Role-based access control (Admin, Manager, Cashier)
- โ Session management with timeout
- โ Comprehensive audit logging
- โ API key authentication
- โ Rate limiting
- โ Input validation
# Run all tests
pytest
# Run with coverage
pytest --cov=src tests/
# Run specific test suite
pytest tests/test_services/test_sales_service.pyTest Coverage:
- โ Service layer tests
- โ Database model tests
- โ Business logic validation
- โ Error handling
๐ See: Testing Guide
Windows:
.\build-all.ps1Linux/Mac:
./build-all.shBuilds all deployment packages:
- Translations (
.qmfiles) - POS Demo & Production
- BoS Demo, Production & API Service
POS Demo:
.\build-demo.ps1POS Production:
.\build-prod.ps1BoS Demo:
.\build-bos-demo.ps1BoS Production:
.\build-bos-prod.ps1BoS API Service:
.\build-bos-service.ps1Translations:
.\build-translations.ps1# Build specific target
.\build-all.ps1 -Target POS
# Skip translations
.\build-all.ps1 -SkipTranslations
# Skip ZIP archives
.\build-all.ps1 -SkipZip
# Force rebuild
.\build-all.ps1 -Force
# Run builds in parallel (faster)
.\build-all.ps1 -Parallel๐ See: Build Scripts Guide | Build Process Explained
NEW: Master deployment scripts that build all packages and create a unified deployment structure.
Windows:
.\deploy-all.ps1Linux/Mac:
./deploy-all.shWhat it does:
- Builds all packages (via build-all script)
- Collects all deployment artifacts
- Creates deployment directory with:
- All package folders/ZIPs
DEPLOYMENT_MANIFEST.txt- Package inventoryREADME.md- Deployment guide
- Creates deployment ZIP archive (optional)
Common scenarios:
# Deploy everything (default)
.\deploy-all.ps1
# Deploy only POS packages
.\deploy-all.ps1 -Target POS
# Deploy only BoS packages
.\deploy-all.ps1 -Target BoS
# Skip build (use existing packages)
.\deploy-all.ps1 -SkipBuild
# Custom output directory
.\deploy-all.ps1 -OutputDir C:\Deployments\BOSRetail-v1.0
# Force overwrite + skip ZIP
.\deploy-all.ps1 -Force -SkipZip๐ See: Deployment Scripts Guide
- Complete POS functionality
- Back office management
- Multi-location support
- Purchase order workflow
- Company (B2B) receipts
- Comprehensive reporting
- REST API
- Cloud synchronization for multi-store
- Mobile app for inventory management
- Customer loyalty program
- Advanced analytics dashboard
- E-commerce integration
- Multi-currency support
- Multi-language support
- Returns/refunds workflow
- โ Initial production release
- โ Complete POS and back office functionality
- โ Multi-location inventory management
- โ Purchase order workflow
- โ Company receipt support
- โ Comprehensive reporting
- โ REST API with authentication
- โ Fixed report generation issues
- โ Fixed SQL join ambiguity in inventory reports
- ๐ Check the documentation
- โ Review Architecture FAQ
- ๐ Report issues through the issue tracker
- Fork the repository
- Create a feature branch
- Make your changes
- Write/update tests
- Submit a pull request
Proprietary software. All rights reserved.
Developed with โค๏ธ for small and medium retail businesses.
Special Thanks:
- Python community
- PyQt6 developers
- SQLAlchemy team
- FastAPI framework
Version: 0.1.0
Last Updated: December 23, 2025
Status: โ
Production Ready
Quick Links: Installation | Quick Start | Deployment | Architecture