Dynamic Bundle Point of Sale System for ERPNext
A comprehensive POS solution with dynamic bundle management capabilities, designed to integrate seamlessly with ERPNext's accounting and inventory modules.
- β Customer Search - Search by name, phone, and email
- β Cart Management - Add/remove items with real-time validation
- β Customer Validation - Mandatory customer selection before cart operations
- β POS Sessions - Opening and closing entries with cash reconciliation
- β Full Integration - Complete accounting and inventory integration
- π Bundle Support - Dynamic bundle items with quantity multipliers
- π± Responsive Design - Works on desktop, tablet, and mobile
- π₯οΈ Full-Screen Mode - Optimized for POS hardware
- π° Multiple Payments - Support for various payment methods
- π Real-time Stock - Live inventory validation
- π Offline Support - Basic offline capability with sync
- ERPNext v13+ (recommended v14+)
- Frappe Framework
- Python 3.6+
# Get the app
bench get-app https://github.com/poparab/bundle_pos.git
# Install on your site
bench --site [your-site-name] install-app bundle_pos
# Restart and build
bench restart
bench build# Clone the repository
git clone https://github.com/poparab/bundle_pos.git
cd bundle_pos
# Install in development mode
bench get-app /path/to/bundle_pos
bench --site [your-site-name] install-app bundle_pos- Go to Bundle POS > Bundle POS Profile
- Create a new profile with:
- Company and Warehouse
- Payment Methods
- Customer Settings
- Bundle Configurations
- Mark items as bundle items if needed
- Set up item prices and stock levels
- Configure item groups and categories
- Assign POS User role for cashiers
- Assign POS Manager role for supervisors
- Configure profile access for specific users
- Navigate to
/app/bundle-pos - Select your POS Profile
- Click Open Session
- Enter opening cash balance
- Start selling!
- Select Customer - Search by name/phone/email or create new
- Add Items - Click items or scan barcodes
- Review Cart - Adjust quantities as needed
- Checkout - Select payment methods
- Complete - Print receipt and finish
- Click Close Session
- Enter actual cash counts for each payment method
- Review differences and reconcile
- Submit closing entry
bundle_pos/
βββ bundle_pos/
β βββ doctype/
β β βββ bundle_pos_profile/ # Main POS configuration
β β βββ bundle_pos_payment_method/ # Payment methods
β βββ page/
β β βββ bundle_pos/ # Main POS interface
β βββ api/
β β βββ customer.py # Customer management
β β βββ cart.py # Cart operations
β β βββ pos_session.py # Session management
β βββ public/
β βββ css/ # Styling
β βββ js/ # JavaScript integration
- Company Settings - Company, warehouse, currency
- Customer Settings - Search fields, default customer, groups
- Payment Methods - Cash, card, digital payments
- Bundle Settings - Price calculation, discounts
- Accounting - Income, expense, write-off accounts
- Mark items as bundle items
- Configure bundle components
- Set pricing rules and discounts
- F11 - Toggle fullscreen
- Ctrl+N - Add new customer
- Ctrl+P - Open payment modal
- Ctrl+Shift+P - Open Bundle POS (from anywhere in ERPNext)
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Issues: GitHub Issues
- Documentation: Check the
FEATURES_ROADMAP.mdfor detailed development plans - ERPNext Community: Discuss on ERPNext Forum
See FEATURES_ROADMAP.md for detailed development phases and upcoming features.
Made with β€οΈ for the ERPNext Community