# Final UAT Scenarios

These scenarios must pass before declaring the system production-ready.

## 1. Customer Shipment Creation

- Create customer with plus payment mode.
- Create customer with without payment mode.
- Create one shipment for each customer.
- Confirm pricing preview and saved financials match.

## 2. Excel Upload

- Upload valid shipment rows.
- Upload rows missing phone/address/COD.
- Confirm valid rows are accepted and invalid rows receive row-level errors.

## 3. Pickup Workflow

- Customer requests pickup.
- Admin assigns courier.
- Courier/pickup operator scans AWBs.
- Close pickup as complete and partial.

## 4. Warehouse and Dispatch

- Inbound scan shipment into warehouse.
- Create delivery manifest.
- Attach AWBs.
- Dispatch manifest to courier.
- Confirm shipment moves to out for delivery.

## 5. Courier Delivery

- Courier marks shipment delivered.
- Courier marks shipment postponed.
- Courier marks shipment returned.
- Confirm status history for every action.

## 6. COD Settlement

- Create settlement for delivered shipments.
- Confirm plus customer: collected amount includes shipping, net payable excludes shipping.
- Confirm without customer: customer receives COD and shipping is deducted/invoiced according to rule.
- Try to settle same shipment twice; system must block it.

## 7. Invoice Workflow

- Create invoice from settlement.
- Approve invoice.
- Mark paid.
- Cancel draft invoice.
- Confirm no delete is used for financial records.

## 8. Cash Ledger

- Approving settlement creates cash movement.
- Reversal creates a reverse movement, not deletion.
- Company balance equals approved in/out movements.

## 9. Permissions

- Courier cannot access Admin routes.
- Customer cannot access another customer's shipments.
- Employee without accounting permission cannot approve settlements.

## 10. Reports

- Export shipment report.
- Export accounting report.
- Print invoice view.
- Compare report totals to database totals.
