A comprehensive desktop application for managing inventory, built with Python and Tkinter.
- Add, update, and delete products
- Search products by ID, name, category, or barcode
- Track product quantities and prices
- Set and monitor product expiry dates
- Generate and print barcodes for products
- Scan barcodes for quick product lookup
- Color-coded category management
- Modern UI with customizable color themes
- Export inventory data to CSV and Excel formats
- Generate various inventory reports
- Data visualization with charts and graphs
- Batch product updates
- Low stock alerts with configurable thresholds
- Expiry date tracking and alerts
- Barcode generation and scanning
- Sales tracking and management
- Supplier management
- User management with role-based access
- Dashboard with key metrics and performance indicators
- Category-specific low stock indicators
- High-contrast column headers for better visibility
- Customizable color schemes per category
- Responsive layout that adapts to window size
- Visual indicators for expired and low-stock products
- Improved table readability with alternating row colors
- Modern flat design for buttons and input fields
- Category-specific color coding for products
- Status bar with important notifications
- Consolidated alerts to prevent duplicate notifications
- Python 3.8 or higher
- Required packages (install via
pip install -r requirements.txt):- matplotlib
- pillow
- python-barcode
- qrcode
- pandas
- openpyxl
- opencv-python
- reportlab
- ttkthemes
- numpy
- Clone or download the repository
- Install required packages:
pip install -r requirements.txt - Run the application:
python run.py
- Default admin credentials:
- Username: admin
- Password: admin123
- Left panel: Add/edit product details
- Right panel: View product list with search functionality
- Menu bar: Access additional features and tools
- Dashboard: Overview of inventory statistics and metrics
- Reports: Generate inventory value reports, low stock reports, etc.
- Visualization: View inventory data in charts and graphs
- Barcode Generator: Create and print barcodes for products
- Barcode Scanner: Scan barcodes to quickly find products
- Category Manager: Manage product categories, thresholds, and color coding
- User Management: Add, edit, and delete users with different roles
- Batch Update: Update multiple products at once
- Sales Management: Record and track sales transactions
- Supplier Management: Manage product suppliers
The application uses SQLite for data storage with the following tables:
- products: Stores product information
- sales: Records sales transactions
- users: Stores user account information
- suppliers: Stores supplier information
- product_suppliers: Links products to suppliers
The application uses JSON configuration files:
- category_config.json: Stores category settings including colors and low stock thresholds
You can customize the application by:
- Editing the color scheme in the COLORS dictionary
- Adjusting font sizes and styles in the apply_styles method
- Modifying column widths and layout parameters
- Adjusting low stock thresholds per category in the Category Manager
This project is open source and available under the MIT License.