A desktop-based Retail POS, Inventory, and Customer Management System built using Python, CustomTkinter, and MySQL.
This project simulates a real-world shop workflow including billing, stock management, customer tracking, and bill history. It was developed during my first semester to understand how GUI applications, databases, and business logic work together.
- Inventory Management – Add, update, delete products with real-time stock tracking
- Billing / POS – Auto-fill products, validate stock, calculate discounts, keyboard shortcuts
- Customer Management – Auto-create customers, track total spend and last visit
- Bill History – Search bills by date, bill ID, or customer with total sales summary
- Language: Python
- GUI: CustomTkinter, Tkinter (Treeview)
- Database: MySQL
- Architecture: Modular (UI and DB logic separated)
-
Clone the repository
git clone https://github.com/your-username/DMM-Management-System.git cd DMM-Management-System -
Install required Python packages
pip install -r requirements.txt
-
Install and start MySQL server
-
Create the database and tables:
SOURCE database/schema.sql;
-
Update MySQL credentials in the DB config files (host, user, password)
-
Run the application:
python login_gui.py
The database schema is provided in:
/database/schema.sql
Run it in MySQL before starting the application.
Screenshots of major application flows are shown below.
- Login – User logs in to access the dashboard.
- Inventory Setup – Products are added with price, MRP, quantity, category, and distributor.
- Billing Process – Enter Product ID to auto-fill details, add items to the bill, and calculate totals.
- Stock Update – Product stock is automatically reduced after saving a bill.
- Customer Tracking – Customer is identified using phone number and total purchase is updated.
- Bill Storage – Bill and bill items are saved in the database.
- History & Reports – Bills can be searched by date, bill ID, or customer, with total sales shown.
md
AI tools (ChatGPT) were used as a development assistant, mainly for:
- UI layout ideas (button placement, spacing)
- Improving code readability
- Debugging small issues
- No role-based authentication
- No transaction rollback handling
- Desktop-only application
This project represents my learning journey and is intended to evolve over time.
Note: DMM refers to D Mega Mart, a retail store used as the context for this project.
Reference link: https://share.google/mhjDfRAQyUuNqbT6c
