Operate
Point of Sale
A complete POS built on top of your inventory and datasets. Sells stock, books revenue, creates expected payments, and feeds reconciliation — all from the same data model.
Processing a sale
- Open Dashboard → POS.
- Search or scan SKUs to add items to the cart.
- Adjust quantity, apply discounts if needed.
- Choose one or more payment methods and complete.
- A receipt is generated and emailed / printed as configured.
Behind the scenes, sale_service.py decrements inventory, records stock movements, books an expected payment, and triggers real-time notifications to the store owner.
Plan limits
| Plan | Sales per month |
|---|---|
| Free (trial) | 30 |
| Pro | Unlimited |
| Enterprise | Unlimited |
Payment methods
- Cash
- Card (via your own terminal — ScanLedger records the payment, not the swipe)
- Bank transfer
- Mobile money
Split payments are supported — take part cash and part transfer in a single transaction. Each leg is tracked separately for reconciliation.
Receipts
Every sale produces a receipt saved under sales history. View, reprint, or email it to the customer. Each receipt has a reference number used by bank reconciliation to match incoming deposits.
Voids and approvals
Staff cannot void a completed sale by themselves. Instead, the void request workflowrequires a manager or owner to approve:
- Staff opens a sale and taps Request Void with a reason.
- A notification is pushed to managers/owners.
- An approver reviews the sale and approves or rejects.
- On approval, stock is restored, the expected payment is cancelled, and the sale is flagged
voided.
The full audit trail — requester, approver, reason, timestamps — is visible on the void request detail page.
Reports
- Daily, weekly, monthly revenue with payment-method breakdown.
- Top sellers and best staff / shift.
- Voided sales with reasons.
- Expected-payments vs. received reconciliation.
Multi-store
On Enterprise, each sale is tied to a store_id. The workspace switcher in the sidebar lets staff switch stores they have access to, and reports can be filtered accordingly.
Next steps
- Shifts — staff shift management with cash reconciliation.
- Expected payments — track what each sale owes.
- Bank reconciliation — match deposits to sales.