Smart Inventory Management System is a desktop application developed using Python, Tkinter, and SQLite to simplify inventory management for small and medium-sized businesses. The application enables administrators and staff to manage employees, suppliers, product categories, inventory, sales, and billing through an easy-to-use graphical interface.
The project demonstrates practical implementation of desktop application development, role-based authentication, inventory management, billing, database operations, and report generation using Python.
The Smart Inventory Management System provides a centralized platform for managing daily inventory operations. Users can securely log in, maintain employee records, manage suppliers and product categories, update stock information, generate invoices, and monitor sales.
The application stores all business data in a SQLite database, making it lightweight, portable, and suitable for desktop environments.
This project was developed as a final-year academic project to demonstrate practical software engineering concepts using Python.
- Simplify inventory management
- Maintain accurate stock records
- Manage suppliers and employees
- Generate sales invoices
- Reduce manual inventory errors
- Demonstrate desktop application development using Python
- π Secure Login System using BCrypt Password Hashing
- π₯ Employee Management
- π Supplier Management
- π Category Management
- π¦ Product Management
- π Inventory & Stock Tracking
- π§Ύ Sales & Billing System
- π Invoice Generation (PDF)
- πΎ SQLite Database Integration
- π₯οΈ User-Friendly Tkinter Interface
- π Search & Update Records
- ποΈ Add, Edit and Delete Operations
The administrator has full access to the application and can:
- Manage employees
- Manage suppliers
- Manage product categories
- Manage products
- Monitor inventory
- Generate invoices
- Access all system modules
Staff members can:
- Log in securely
- Manage products
- Update stock
- Generate sales invoices
- View inventory information
Users log in securely using BCrypt encrypted passwords and role-based authentication.
Maintain product details, stock quantity, categories, suppliers, and pricing.
Generate invoices, calculate totals, and create printable PDF bills.
Store employee, supplier, product, inventory, and billing information using SQLite.
The application follows a desktop-based architecture where administrators and staff interact with a graphical user interface to manage inventory operations. The application processes user actions, performs business logic, and stores all information in a SQLite database.
Administrator / Staff
β
βΌ
Login System
β
βΌ
Python Tkinter GUI
β
βΌ
ββββββββββββββββββββββββββββ
Employee Management
Supplier Management
Category Management
Product Management
Sales & Billing
Report Generation
ββββββββββββββββββββββββββββ
β
βΌ
SQLite Database
| Technology | Purpose |
|---|---|
| Python 3 | Programming Language |
| SQLite | Database |
| BCrypt | Password Encryption |
| FPDF | Invoice Generation |
| Technology | Purpose |
|---|---|
| Tkinter | Desktop User Interface |
| Pillow | Image Processing |
| TkCalendar | Date Selection |
| Technology | Purpose |
|---|---|
| SQLite | Store Employee, Supplier, Product and Sales Data |
| Tool | Purpose |
|---|---|
| VS Code | Code Editor |
| Git | Version Control |
| GitHub | Repository Hosting |
Secure login using BCrypt password authentication.
The administrator dashboard provides quick access to employee, supplier, category, product, inventory, and billing management.
Manage employee records including adding, updating, searching, and deleting employees.
Maintain supplier details and contact information used for inventory management.
Create and manage product categories for better inventory organization.
Manage product information including pricing, stock quantity, supplier, and category.
Generate invoices, calculate totals, and manage customer billing efficiently.
Smart-Inventory-Management
β
βββ architecture/
βββ screenshots/
βββ bill_txt/
βββ login.py
βββ dashbord.py
βββ employee.py
βββ supplier.py
βββ category.py
βββ product.py
βββ sales_billing.py
βββ create_db.py
βββ migrate_passwords.py
βββ ims.db
βββ requirements.txt
βββ .gitignore
βββ README.md
git clone https://github.com/Sachingupta209/Smart-Inventory-Management.git
cd Smart-Inventory-Managementpip install -r requirements.txtIf the database does not already exist, run:
python create_db.pypython login.pyThe Smart Inventory Management System follows the workflow below:
User logs into the application.
β
The system verifies login credentials.
β
The administrator or staff accesses the dashboard.
β
Manage employees, suppliers, categories, and products.
β
Maintain inventory and update stock levels.
β
Generate customer invoices.
β
Store all records securely in the SQLite database.
- BCrypt Password Hashing
- Role-Based Authentication
- Secure SQLite Database Storage
- Input Validation
- Inventory Data Protection
Provides secure login with BCrypt password hashing and role-based access.
Manage employee records, roles, contact details, and salary information.
Store and manage supplier information used for inventory operations.
Create and organize product categories.
Manage product details, pricing, suppliers, and stock quantity.
Generate customer invoices, calculate totals, and create PDF bills.
Stores employee, supplier, category, product, invoice, and billing data using SQLite.
The following features can be added in future versions of the application:
- π Low Stock Alert Notifications
- π± Mobile Application
- βοΈ Cloud-Based Inventory Management
- π Interactive Dashboard with Charts
- π· Barcode Scanner Integration
- π§ Email Invoice Delivery
- π Advanced Sales Analytics
- π§Ύ GST Invoice Generation
- π€ Export Reports to Excel & PDF
- π Automated Database Backup
- π₯ Multi-Branch Inventory Management
- π Two-Factor Authentication (2FA)
β Completed
The Smart Inventory Management System successfully demonstrates:
- Desktop Application Development
- Role-Based Authentication
- Inventory & Stock Management
- Employee Management
- Supplier Management
- Category Management
- Sales & Billing
- PDF Invoice Generation
- SQLite Database Integration
- Responsive Desktop GUI
This project helped strengthen practical knowledge in:
- Python Programming
- Desktop Application Development
- Tkinter GUI Design
- SQLite Database Management
- CRUD Operations
- Authentication & Authorization
- Password Encryption using BCrypt
- File Handling
- Software Architecture
- Git & GitHub
| Item | Details |
|---|---|
| Project | Smart Inventory Management System |
| Project Type | Desktop Application |
| Language | Python |
| GUI Framework | Tkinter |
| Database | SQLite |
| Version Control | Git & GitHub |
Sachin Gupta
Backend Developer | Java | Python | Cloud & DevOps Enthusiast
- Java
- Spring Boot
- Python
- Django
- Tkinter
- PostgreSQL
- SQLite
- React
- Docker
- AWS
- Git
- GitHub
GitHub:
https://github.com/Sachingupta209
Contributions are welcome.
If you'd like to improve the project:
- Fork the repository.
- Create a feature branch.
- Commit your changes.
- Submit a Pull Request.
If you found this project useful, consider giving it a β on GitHub.
Your support helps improve the project and makes it easier for others to discover it.







