33 lines
2.5 KiB
Markdown
33 lines
2.5 KiB
Markdown
# F-186 — POS configurable checkout, mixed payments and receipts
|
|
|
|
Complete the TPV cashier flow for touch terminals and self-payment use cases.
|
|
|
|
## Scope
|
|
- Increase configurable quick products from 6 to 8.
|
|
- Replace line discount text/inline interaction with a touch-sized button; allow admins to disable line discounts per terminal.
|
|
- Let admins configure and enable payment methods (cash, card, Bizum, Stripe, Apple Pay, or another named method).
|
|
- Payment modal must allocate either the full remaining amount or a partial amount. Keep partial allocations visible in the cashier and permit another method until the total is covered.
|
|
- For cash, accept tendered amount above the outstanding amount and calculate change.
|
|
- Require an explicit final confirmation after payment allocation before closing the sale.
|
|
- Generate a receipt with company identity, date/time, configurable ticket numbering, item name, quantity, subtotal, totals, payment methods/amounts, cash change, and return policy.
|
|
- Offer print and email delivery. Clear the cashier only after print/email action succeeds or is explicitly completed.
|
|
- Add a free-item flow for a non-stock product/service with required name and positive price; free items must not mutate inventory.
|
|
- Keep monetary validation and sale completion authoritative on the backend.
|
|
|
|
## Out of scope
|
|
- Real integrations with external payment processors.
|
|
- Certified fiscal-printer protocols or country-specific fiscal certification.
|
|
- Hardware-specific printer drivers; browser print is sufficient.
|
|
|
|
## Acceptance
|
|
1. Admin can configure up to eight quick products and POS renders all configured slots.
|
|
2. Line discount is a touch target and is absent/blocked when the terminal disables discounts.
|
|
3. Enabled admin payment methods appear in POS; disabled methods cannot be submitted.
|
|
4. Cashier supports full and partial payment allocations, displays paid/remaining totals, and permits mixed methods.
|
|
5. Cash tender above the remaining total displays and records change; non-cash overpayment is rejected.
|
|
6. A sale can only be confirmed when allocations cover the exact total, and requires explicit confirmation.
|
|
7. Receipt contains all requested company, numbering, line, total, payment, change, and return-policy data.
|
|
8. Receipt supports browser print and email delivery; cashier resets only after delivery completion.
|
|
9. A free item can be added with name and positive price and does not reserve or decrement stock.
|
|
10. Existing POS sale/reporting contracts remain compatible and tests plus `verify.sh` are green.
|