Software Requirements Specification
(SRS)
Bakery Van Sales and Customer Credit Management System
1. Introduction
1.1 Purpose
The purpose of this system is to digitize and manage the van sales and customer credit
transactions of a bakery. The system enables sales representatives to record cash and credit
sales, register customers, issue receipts, manage stock assigned for daily routes, and ensure
accurate reconciliation at the end of each day.
1.2 Scope
The system will:
- Register and manage customers.
- Allow sales reps to record bread sales (cash or credit).
- Restrict credit sales to customers with no outstanding debt.
- Capture customer signatures on credit transactions.
- Generate and print receipts for each sale.
- Allow admins to track van stock, view daily sales, and reconcile sales vs. returns.
1.3 Intended Users
- Bakery Admins
- Sales Representatives
- Outlet Customers (limited interaction)
2. System Features
2.1 Customer Management
- Register new customers with name, phone, address, etc.
- View a list of all customers.
- Check outstanding balances.
- Restrict customers with unpaid balances from buying on credit.
2.2 Van Sales Recording
- Assign boxes of bread to sales reps.
- Allow reps to record each sale (cash or credit).
- Capture customer signature for credit sales (touchscreen-enabled).
- Allow sales to be recorded offline and synced later.
2.3 Receipt Generation
- Automatically generate receipts for every sale.
- Print two copies via a thermal printer (one for customer, one for rep).
- Include transaction details and customer signature if credit.
2.4 Reconciliation
- Track total boxes sold vs. assigned.
- Calculate total cash collected and credit given.
- Alert for discrepancies.
2.5 Reporting
- Daily, weekly, and monthly sales reports.
- Outstanding credit reports by customer.
- Van performance tracking.
3. User Interface Requirements
3.1 Devices
- Desktop: Admin dashboard
- Mobile/Tablet: Sales reps' interface (responsive design)
3.2 Key Pages
- Login / Signup
- Customer Registration Form
- Sales Entry Form
- Sales History Table
- Reconciliation Page
- Reports Dashboard
4. Non-Functional Requirements
4.1 Performance
- Should support at least 5 concurrent sales reps without lag.
- Must function well on mobile networks (3G and above).
4.2 Usability
- Mobile-first responsive UI for reps.
- Simple forms with validation and error feedback.
4.3 Security
- User authentication and role-based access.
- Prevent duplicate credit sales to indebted customers.
- Encrypted storage of sensitive data.
4.4 Hardware Compatibility
- Compatible with thermal printers (ESC/POS standard).
- Signature input via touch screen (optional fingerprint support).
5. System Architecture
- Backend: Django (Python)
- Frontend: Django Templates with Bootstrap
- Database: PostgreSQL / SQLite
- Printing: ESC/POS-compatible thermal printers via USB/Bluetooth
- Deployment: Cloud-based or local server
- Optional: REST API for mobile app version
6. Assumptions and Dependencies
- Sales reps will carry Android tablets or smartphones.
- Bakery will provide Bluetooth thermal printers.
- Internet access may not be stable at all times—app must support offline-first features.
- Admin will pre-register customers or reps will register them in the field.
7. Future Enhancements
- SMS notifications for customers with balances.
- Mobile app version.
- Inventory integration with bakery production module.
- Fingerprint/biometric verification for reps or customers.