# F-190 — Implementer Evidence ## Feature Reporting updates from POS sales and returns. ## Change Summary ### 1. `src/modules/reporting/application/reporting-service.ts` Updated `dataAvailability` flags in 3 return-statement sites (summary, sales, products) to reflect that `reporting_payment_lines` now captures payment method and refund data: | Field | Before | After | Reason | |-----------------|----------------|----------------|--------| | `paymentMethod` | `'unavailable'`| `'available'` | F-190: `reporting_payment_lines` has `provider` per payment row | | `refunds` | `'unavailable'`| `'available'` | F-190: `reporting_payment_lines` has `refund`/`partial_refund` status rows | `netSales` and `margin` remain `'unavailable'` (correct, no cost data or shipping-per-order yet). Also added F-190 attribution comment at the top of the file. ### 2. Test updates Updated 3 test assertions in `reporting-service.test.ts` and `reporting.routes.test.ts` that were asserting the old `'unavailable'` values. ### Existing code (no changes needed) The following already works correctly and requires no modification: - `ReceiveRestPaymentUseCase` (F-188) already writes `reporting_payment_lines` with `status='payment'` when a PENDING order transitions to COMPLETED. - `ApplyPosReturnUseCase` (F-189) already writes `reporting_payment_lines` with `status='refund'` or `'partial_refund'` for each return. - `CreatePosSaleUseCase` already writes `reporting_payment_lines` with `status='payment'` for each initial payment. - `ReportingService.runSummaryQuery` uses `orders_items` for `gross_sales_cents`, which correctly reflects returns (REFUNDED/PARTIALLY_REFUNDED are excluded from SALES_STATES). ## Verification | Check | Result | |-------|--------| | `npm test` | 269 passed, 96 skipped | | `npx tsc --noEmit` | 0 errors | | `./scripts/verify.sh` | OK |