A retained customer disputes which credit was consumed first. A total balance is not enough to answer. Commission an issuance-level ledger with timezone and authorised adjustment evidence; do not solve the disagreement by silently changing the amount.
Source-bound fact
The documented order uses earlier-expiring credit first; staff credit/debit actions need the appropriate permissions. Official reference · Checked 17 October 2026.
Filled synthetic acceptance example
Synthetic teaching example, not a client case or a real-store assessment. On narrow screens, scroll to read the complete table.
| Input | Check basis | Expected |
|---|---|---|
| AUD20 expires20Oct; AUD30 expires25Oct | spend15 before both dates | first lot5; second30 |
| Spend25 on same lots | earlier lot exhausted | first0; second25 |
| Staff adjustment+10; no reason/approver | audit evidence incomplete | do not accept handover |
Supplier acceptance procedure
- Record issuance IDs, amounts, currency and expiry using the store’s timezone; do not import customer-local midnight assumptions.
- Run consumption before the two expiries and retain per-lot output alongside the displayed total.
- For a manual adjustment, require actor, permission, reason, approval and timeline entry; use redacted synthetic identities.
Interpret the output
After a15 debit the remaining total is35, but5+30 is the evidence that explains which lot remains. A compliant change record is not evidence that an expiry term is lawful. Keep the merchant’s policy approval separate from the arithmetic and user permissions.
Explicit limits
No advice on lawful expiry, timezone conversion engine or live credit mutation. The fixture assumes both lots are unexpired and already approved.
Replay the finite teaching model
Save both files in one folder. With Node22 or newer, run the command below. JSON contains explicit inputs and expected results. The script processes synthetic data only, with no network, credentials, payment or API calls. Passing proves the finite model only, not a live integration.
Filled inputs and expectations · Inspectable teaching script
node check.mjs store-credit-expiry-permission-record.json