Files
mercadodevida/work/current.md
2026-08-22 22:08:30 +02:00

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.