diff --git a/src/app/orders/[entityKey]/page.tsx b/src/app/orders/[entityKey]/page.tsx index dd9849e..a1c7b69 100644 --- a/src/app/orders/[entityKey]/page.tsx +++ b/src/app/orders/[entityKey]/page.tsx @@ -94,6 +94,23 @@ export default function OrderDetailPage({ params }: { params: Promise<{ entityKe {/* A settled rail row must never look like an ordinary order — that is how a human counts the same purchase twice. */} + {/* Board 211 — same shape as the settled-rail banner above: a real + document with a real figure that is not a purchase. Saying which + payments it restates is the point; the total alone reads as a + single large order. */} + {o.summarises_period && ( +
+ + Annual summary, not a purchase + + + This receipt restates payments already made across the year — the + monthly debits are in the ledger under their own dates. It is kept + for reference and excluded from spend totals. + +
+ )} + {o.is_settled_duplicate && (
diff --git a/src/app/orders/page.tsx b/src/app/orders/page.tsx index b1d54c9..9d8a7fa 100644 --- a/src/app/orders/page.tsx +++ b/src/app/orders/page.tsx @@ -315,6 +315,17 @@ function Row({ row, expanded, onToggle }: { row: OrderRow; expanded: boolean; on {row.auth_verdict === "partial" ? "part. auth" : `auth ${row.auth_verdict}`} )} + {/* Board 211. A $2,376 annual tax receipt restating twelve monthly + donations is not a purchase, and unbadged it reads as the largest + order of the year. It stays on the page because the figure is the + year's giving total — but it is excluded from spend, so the + number beside it belongs to no total here. */} + {row.summarises_period && ( + year summary + )} {row.injection_flagged && ( 'line_items', '[]'::jsonb) AS line_items, sp.order_total AS net_total, sp.gross_total,