SaleFlex Ecosystem | SaleFlex.PyPOS | SaleFlex.OFFICE | SaleFlex.GATE | SaleFlex.KITCHEN | SaleFlex.mPOS | SaleFlex.POS
SaleFlex.GATE is the central hub of the SaleFlex ecosystem - a Django-powered backend that connects your stores, POS terminals, kitchen displays, and mobile apps in one place.
Whether you run a single store or a multi-location business, GATE gives you a unified platform to manage operations, synchronise data across devices, and integrate with external systems.
Developed and operated by Mousavi.Tech
SaleFlex.GATE is built for:
- Retailers and restaurateurs who need a self-hosted, open-source point-of-sale backend they can run on their own infrastructure.
- Developers and integrators who want a Django-based hub they can extend with custom APIs, ERP connectors, or loyalty systems.
- Small and medium businesses looking for a flexible alternative to expensive proprietary POS cloud services.
- Tech-forward teams who want full control over their data, deployments, and integrations - without vendor lock-in.
SaleFlex.GATE is fully open source under the GNU Affero General Public License v3.0 (AGPLv3).
The Community Edition includes everything you need to get started:
- Multi-store, multi-terminal support
- REST API for POS, kitchen, and mobile clients
- Company and user management portal
- Django Admin interface
- Integration gateway for ERP, loyalty, and payment adapters
- Self-hosted - your data stays with you
Anyone can clone, deploy, and modify SaleFlex.GATE for their own needs. Contributions are welcome.
Need a managed setup, ready-to-deploy packages, or enterprise features? See Commercial Services and Managed Cloud.
Need more than the open-source edition? We offer:
- Custom development - tailored features, integrations, and workflows built for your business.
- Implementation & onboarding - hands-on setup, configuration, and staff training.
- Priority support - dedicated support channels with guaranteed response times.
- Integration services - connecting SaleFlex.GATE to your existing ERP, accounting, loyalty, or payment systems.
Contact us at saleflex.pro for commercial enquiries.
Don't want to manage your own server? SaleFlex Cloud (coming soon) will offer:
- Fully managed hosting - we handle updates, backups, and scaling.
- One-click deployment - get up and running in minutes.
- Built-in monitoring and reporting dashboards.
- Enterprise-grade security and compliance.
- Multi-region availability.
Join the waitlist at saleflex.net to be notified when Managed Cloud launches.
Ready-to-run packages are currently in preparation. Once available, you will be able to download pre-configured builds for common deployment targets.
Until then, get started with:
git clone https://github.com/SaleFlex/SaleFlex.GATE.git
cd SaleFlex.GATE
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS / Linux
source .venv/bin/activate
pip install -r requirements.txt
python manage.py migrate
python manage.py seed_reference_data
python manage.py collectstatic --noinput
python manage.py compress
python manage.py createsuperuser
python manage.py runserverReference data: After migrate, python manage.py seed_reference_data loads baseline rows such as countries (ISO 3166 via pycountry, currency hints via Babel). Re-run safely to refresh from the same rules. Options: --only countries, --dry-run (no DB writes).
Open the portal: http://127.0.0.1:8000/
Open Django Admin: http://127.0.0.1:8000/admin/
Static files: Defaults in gate_project/settings.py: STATIC_URL /files/, STATIC_ROOT files/ (output of collectstatic; the repo .gitignore ignores almost all of files/ but keeps files/CACHE/ so django-compressor offline bundles can be versioned), and STATICFILES_DIRS including files_local/ for committed assets under files_local/gate/ (gate/img/, gate/css/, gate/js/; templates use static 'gate/…'). The web_ui_app portal uses templates only (no static/ tree under that app). After collectstatic, run python manage.py compress so portal CSS/JS wrapped in compress in templates resolve with COMPRESS_OFFLINE. To wipe and rebuild collected static, use python manage.py collectstatic --noinput --clear then python manage.py compress (add --force on compress if the manifest must be regenerated).
Requirements: Python 3.12+ · Django 6.x · SQLite (dev) or PostgreSQL (production)
Screenshots coming soon. The admin interface, company portal, and POS sync dashboard will be showcased here.
A demo video is being prepared and will be published here and on the SaleFlex YouTube channel shortly.
- Multi-tenant company and store model
- Universal user identity (
Cashier,AUTH_USER_MODEL) across all SaleFlex apps - Company creation, join requests, and multi-owner deletion approvals
- Django Admin with full model management
- Portal UI: landing, login/register, dashboard, company management
- REST API foundation with merchant token authentication
- Integration with SaleFlex.PyPOS (push/pull sync, offline outbox)
- Expanding REST API endpoints (/api/v1/)
- POS terminal and device registry
- Store-level role-based access control (RBAC)
- OpenAPI / Swagger documentation
- ERP, loyalty, campaign, and payment adapter framework
- Sales, stock, and KPI reporting layer
- Mobile-oriented endpoints (stocktake, waiter / table service)
- Multi-store management web UI
- SaleFlex Cloud (managed hosting)
- Ready-to-run installer packages
| Project | Description |
|---|---|
| SaleFlex.PyPOS | Python / PySide6 touch POS terminal |
| SaleFlex.OFFICE | Back-office and ERP-style management |
| SaleFlex.KITCHEN | Kitchen display system |
| SaleFlex.POS | Legacy .NET POS client |
| SaleFlex.mPOS | Android mobile POS (commercial) |
This project is licensed under the GNU Affero General Public License v3.0. See LICENSE for details.
|
Ferhat Mousavi |
If you find SaleFlex.GATE useful and want to support its development:
- USDT / BUSD / ETH:
0xa5a87a939bfcd492f056c26e4febe102ea599b5b - BTC:
15qyZpi6HjYyVhKKBsCbZSXU4bLdVJ8Phe - SOL:
Gt3bDczPcJvfBeg9TTBrBJGSHLJVkvnSSTov8W3QMpQf