Price reconciliation

Compares each unshipped order's stored amountPaid against the current data.js price. Use after a mid-batch price change to see who owes a top-up (or who's owed a small refund).

How to read this: rows in pink mean the customer paid less than today's price and owes the difference. Rows in green mean the customer overpaid (vials cost RM5 less per single under the new formula). Already-shipped batches are hidden — those are settled.