1.9 KiB
1.9 KiB
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 writesreporting_payment_lineswithstatus='payment'when a PENDING order transitions to COMPLETED.ApplyPosReturnUseCase(F-189) already writesreporting_payment_lineswithstatus='refund'or'partial_refund'for each return.CreatePosSaleUseCasealready writesreporting_payment_lineswithstatus='payment'for each initial payment.ReportingService.runSummaryQueryusesorders_itemsforgross_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 |