Mockup · not live

Academy › Payments › Reconciliation. A nightly job matches every academy payment to the package or lesson it paid for and to its POS row, and keeps the result. New versus today: today this exists only as a read-only tab that recomputes on open and forgets what you decided; here the report is stored, each row carries a flag, and fixing a row writes the link back. The one primary action is Export unmatched (CSV) — the list you hand to the bookkeeper.

Matched
38
of 43 payments this month
Unmatched
4
no provider reference or no POS row
Duplicates
1
same amount within 3 days
POS variance
THB 7,125.00
POS orders minus payments, September

Needs attention · 5 rows

Everything the match could not decide by itself, oldest first.

Date Student Amount Method Reference Package / lesson POS row Flag Action
01 Sep Nattaya P. THB 9,500.00 PromptPay none Growth ✓
No provider referencecharge not linked
01 Sep Ben K. THB 4,500.00 Cash none Essential missing
POS missingno POS order
05 Sep Mika S. THB 14,500.00 Payment link pi_…3QkS1m Performance ✓
Possible duplicatewithin 3 days
08 Sep Arisa T. THB 12,500.00 Card none Starter Pack ✓
No provider referencecharge not linked
12 Sep Tom W. THB 1,200.00 Cash none Private lesson · 12 Sep missing
POS missingno POS order
02 Sep Mika S. THB 14,500.00 Card pi_…3QkR7t Performance ✓ Matched —
37 more matched rows hidden by the Flag filter. The duplicate pair is shown together: the 02 Sep charge is kept, the 05 Sep one is the row to decide.

Row action — “Attach Stripe payment” opens this dialog. “Mark cash” records the cash row and writes the POS order that is missing.

Attach Stripe payment

Nattaya P. · Growth · September · THB 9,500.00 · recorded 01 Sep

2 charges in this facility's Stripe account are not attached to anything.

THB 9,500.00 · PromptPay
pi_3QkP4h2eZvKYlo2C · 1 Sep 2026 09:14
Succeeded
THB 9,500.00 · Visa ···4242
pi_3QkP7z2eZvKYlo2C · 1 Sep 2026 09:41
Succeeded

Attaching writes the reference onto the payment and re-runs the match for this row only.