A practical Django system for retail inventory, sales checkout, members, reports, and store operations.
English | 简体中文
Quick Start · Screenshots · Star History · Docker Guide
IOE is built for real store workflows, not just database CRUD. It connects product catalog management, stock movement, sales checkout, member balance, points, inventory counting, reports, operation logs, and backup tools in one Django application.
Use it when you need a self-hosted system for:
- retail stores that need product, inventory, and cashier workflows in one place
- small warehouses that need stock movement and inventory counting
- shops that use member levels, points, recharge, and account balance
- teams that want a Django codebase they can customize and deploy themselves
| Product Catalog | Products, categories, barcode lookup, images, specifications, manufacturers, and pricing. |
| Inventory Control | Inbound, outbound, adjustment, low-stock warning, transaction records, and inventory counting. |
| Sales Checkout | Sales orders, payment methods, member discounts, account balance, points, cancellation, and returns. |
| Member Operations | Member profiles, levels, birthday reminders, recharge records, balance, points, and spending history. |
| Reports and Admin | Sales trends, product performance, inventory health, profit reports, operation logs, and backup tools. |
pip install -r requirements.txtIOE uses SQLite by default, so it can run locally without a separate database service.
python manage.py migrateFor production, you can switch DATABASES in inventory/settings.py to PostgreSQL. The project already includes the psycopg2 dependency.
python manage.py createsuperuserpython manage.py runserverOpen http://127.0.0.1:8000/ in your browser.
.
├── inventory/ # Main Django app
├── project/ # Django project configuration
├── asset/ # Screenshots and README assets
├── requirements.txt # Python dependencies
├── Dockerfile
├── docker-compose.yml
└── manage.py
Contributions are welcome. To keep the project stable, please prefer focused pull requests:
- one bug fix per PR
- one feature area per PR
- tests for inventory, sales, balance, or backup changes
- screenshots for UI-facing changes
For large changes, open an issue first so the scope can be discussed before implementation.
If this project is useful to you, you can support continued development:
- Issues: GitHub Issues
- Email: zhtyyx@gmail.com
This project is licensed under the MIT License.
Copyright (c) 2025-2026 IOE Team. All rights reserved.