VyapaarSetGo is a production-ready Smart Grocery Management System built as a full-featured desktop application using Python and CustomTkinter.
Designed to streamline grocery store operations, VyapaarSetGo provides inventory tracking, billing automation, supplier management, customer credit tracking (Khata), and powerful reporting — all within a modern, responsive desktop interface.
This project demonstrates real-world business logic implementation, modular architecture design, and local database management
Small and medium grocery businesses often struggle with:
- Manual stock tracking
- Unstructured credit management
- Inconsistent sales reporting
- Lack of digital record keeping
VyapaarSetGo solves these problems through:
- Automated stock updates during billing
- Structured supplier and customer management
- Insightful sales analytics
- Secure multi-user access
- Login System: Secure authentication for shop owners
- Dashboard: Overview with key metrics and sales trends
- Inventory Management: Add, edit, delete products with stock tracking
- Supplier Management: Manage suppliers and track pending payments
- Customer Khata: Track customer credit accounts and payment history
- Sales/Billing: Create bills, process transactions, and update stock automatically
- Reports: Daily/monthly sales reports with charts and analytics
- Python 3.8 or higher
- Required Python packages (see requirements.txt)
- No database server needed! SQLite is built into Python
-
Clone or download this repository
-
Install Python dependencies:
pip install -r requirements.txt
-
Run the application:
python main.py
The application will automatically create the SQLite database file (
vyapaarsetgo.db) and all required tables on first run.
- Username:
admin - Password:
admin123
VyapaarSetGo_02/
├── main.py # Main application entry point
├── database.py # SQLite database connection and operations
├── config.py # Configuration and constants
├── requirements.txt # Python dependencies
├── vyapaarsetgo.db # SQLite database file (created automatically)
├── components/ # Reusable UI components
│ ├── sidebar.py # Sidebar navigation
│ └── header.py # Application header
└── modules/ # Application modules
├── login.py # Login module
├── dashboard.py # Dashboard module
├── inventory.py # Inventory management
├── suppliers.py # Supplier management
├── khata.py # Customer credit book
├── sales.py # Sales and billing
└── reports.py # Reports and analytics
- Login: Use the default credentials or create a new user in the database
- Dashboard: View key metrics and sales trends
- Inventory: Add products, manage stock, track expiry dates
- Suppliers: Add suppliers and track pending payments
- Khata: Manage customer credit accounts and record payments
- Sales: Create bills, add products to cart, process transactions
- Reports: View daily/monthly sales reports with charts
The application uses SQLite, which means:
- ✅ No database server installation required
- ✅ Database is stored in a single file (
vyapaarsetgo.db) - ✅ Easy to backup (just copy the .db file)
- ✅ Works on Windows, Mac, and Linux
- ✅ Automatic database and table creation on first run
The application creates the following tables:
users- User accountsproducts- Product inventorysuppliers- Supplier informationcustomers- Customer informationsales- Sales transactionssale_items- Individual items in each salepayments- Customer paymentssupplier_payments- Supplier payments
- Add/edit/delete products
- Track quantity, unit price, and expiry dates
- Search and filter by category and stock level
- Automatic stock updates on sales
- Search products by name or ID
- Add products to cart with quantity selection
- Apply discounts
- Automatic stock deduction
- Transaction ID generation
- Daily, monthly, and custom date range reports
- Sales overview line chart
- Profit trend bar chart
- Detailed transaction data table
- Colors: Modify
COLORSdictionary inconfig.py - Database Path: Change
DB_PATHinconfig.pyif you want a different database file location - UI Theme: Change appearance mode in
config.py
-
Database Connection Error:
- Ensure you have write permissions in the application directory
- Check if the database file is locked by another process
-
Import Errors:
- Make sure all dependencies are installed:
pip install -r requirements.txt - Check Python version (3.8+)
- Make sure all dependencies are installed:
-
UI Not Displaying:
- Ensure CustomTkinter is properly installed
- Check for any error messages in the console
To backup your data, simply copy the vyapaarsetgo.db file to a safe location. To restore, replace the file with your backup.
- Python 3.8+
- CustomTkinter (Modern UI Framework)
- SQLite (Lightweight Local Database)
- PyInstaller (Windows Executable Packaging)
VyapaarSetGo follows a modular desktop application architecture:
- main.py – Entry point and application controller
- database.py – Centralized SQLite CRUD operations
- modules/ – Feature-based modules (inventory, sales, reports, etc.)
- components/ – Reusable UI components (sidebar, header)
- config.py – Theme management and configuration
This structure ensures scalability, maintainability, and separation of concerns.
VyapaarSetGo was developed to simulate a real-world grocery ERP system and demonstrate end-to-end desktop application development, including authentication, database management, billing logic, and reporting systems.
For issues or questions, please check the code comments or create an issue in the repository.
VyapaarSetGo - Smart Grocery Management System © 2025


