Nandi Agro POS System - User Manual & Technical Documentation
Comprehensive retail management solution for agricultural and general merchandise businesses
System Overview
The Nandi Agro POS (Point of Sale) System is a comprehensive retail management solution designed for agricultural and general merchandise businesses. The system provides inventory management, sales processing, purchase order management, customer credit tracking, and reporting capabilities.
Key Features
Real-time Inventory Tracking
Monitor stock levels in real-time with automatic updates during sales and purchases.
Multi-user Support
Role-based access control for secure multi-user operation.
Credit Customer Management
Track customer credit, set limits, and monitor payment history.
Sales & Purchase Processing
Efficiently process sales and manage purchase orders with suppliers.
Financial Reporting
Generate comprehensive sales, inventory, and profit/loss reports.
QR Code & UPI Integration
Generate QR codes for invoices and integrate with UPI payment systems.
System Architecture
Technology Stack
| Component | Technology | 
|---|---|
| Frontend | HTML5, CSS3, JavaScript (no frameworks) | 
| Backend | Python with Flask | 
| Database | PostgreSQL | 
| Authentication | JWT tokens | 
| Security | passlib for password hashing | 
| Charts | Chart.js | 
| Excel Processing | openpyxl | 
Deployment Options
- Development: Flask development server
- Production (Linux): Gunicorn
- Production (Windows): Waitress
- Standalone: Executable via build_pos.py
Web Services/API Endpoints
Authentication Services
| Endpoint | Method | Description | Authentication | 
|---|---|---|---|
| /api/auth/login | POST | User login and token generation | None | 
| /api/auth/verify | GET | Verify JWT token validity | Bearer Token | 
Product Management Services
| Endpoint | Method | Description | Authentication | 
|---|---|---|---|
| /api/products | GET | Retrieve all active products | Bearer Token | 
| /api/products?q={query} | GET | Search products by name or SKU | Bearer Token | 
| /api/products | POST | Create new product | Admin Required | 
| /api/products/{id} | GET | Retrieve specific product details | Bearer Token | 
| /api/products/{id} | PUT | Update product information | Admin Required | 
| /api/products/{id} | DELETE | Delete product | Admin Required | 
| /api/products/{id}/deactivate | PUT | Deactivate product | Admin Required | 
Sales Services
| Endpoint | Method | Description | Authentication | 
|---|---|---|---|
| /api/sales | POST | Create new sales invoice | Bearer Token | 
| /api/sales | GET | Retrieve all sales invoices | Bearer Token | 
| /api/sales/{id} | GET | Retrieve specific invoice details | Bearer Token | 
| /api/sales/{id} | PUT | Update invoice information | Admin Required | 
| /api/sales/{id}/cancel | PUT | Cancel invoice and restore inventory | Bearer Token | 
| /api/sales/{id} | DELETE | Delete invoice | Admin Required | 
Note: The complete API documentation includes additional services for Inventory, Purchase, Suppliers, Credit Customers, Reporting, Admin, and Data Management.
Functional Modules
1. Dashboard Module
Location: dashboard.html
System overview with key metrics, quick access to functions, and real-time data counts.
2. Sales Module
Location: index.html
Point of sale interface with product search, inventory checking, and multiple payment methods.
3. Purchase Module
Location: purchase.html
Purchase order creation, supplier management, and goods receipt processing.
4. Inventory Module
Location: inventory.html
Real-time inventory tracking, low stock alerts, and stock adjustment capabilities.
5. Product Management
Location: Product Management.html
Product catalog management with SKU, pricing, and GST rate configuration.
6. Supplier Management
Location: Supplier Management.html
Supplier database with contact information and performance metrics.
7. Credit Customer Management
Location: creditManagement.html
Credit customer registration, balance tracking, and transaction history.
8. Reports Module
Location: reports.html
Sales analytics, inventory reports, profit/loss statements with export capabilities.
9. Admin Module
Location: admin.html
User account management, role-based access control, and system configuration.
10. Data Upload Module
Location: Data Upload.html
Bulk data upload via Excel with validation and error reporting.
11. Service Module
Location: service.html
System maintenance tasks, database optimization, and health monitoring.
12. Query to Database Module
Location: qry2db.html
Direct database query interface with SQL execution and result viewing.
User Roles and Permissions
Administrator
Administrators have full access to all system modules and functions.
- User management (create, edit, delete users)
- System configuration
- Data backup and restore
- Access to all reports
- Product and inventory management
- Financial controls
Cashier
Cashiers have access to essential functions for daily operations.
- Sales processing
- Purchase order creation
- Customer interaction
- Basic reporting
- Limited inventory viewing
- Credit customer registration
Installation and Setup
Prerequisites
- Python 3.7 or higher
- PostgreSQL database
- Required Python packages (see requirements.txt)
Installation Steps
- Clone the repository
- Install dependencies: pip install -r requirements.txt
- Configure database connection in .env file
- Run database initialization: python init_db.py
- Start the application: python app.py
Configuration Files
- .env: Database and system configuration
- config.js: Frontend API configuration
- schema.sql: Database schema definition
DB_HOST=localhost
DB_PORT=5432
DB_NAME=nandi_agro_pos
DB_USER=pos_user
DB_PASSWORD=secure_password
SECRET_KEY=your_secret_key_here
DEBUG=False
Troubleshooting
Common Issues
| Issue | Solution | 
|---|---|
| Database Connection Failed | Check .env configuration and PostgreSQL service | 
| API Endpoints Not Accessible | Verify Flask server is running and CORS configuration | 
| Login Issues | Check user credentials and JWT token configuration | 
| Inventory Not Updating | Verify database triggers and constraints | 
Performance Optimization
- Regular database maintenance
- Archive old transactions
- Optimize database indexes
- Monitor system resources