Payout reconciliation, proven to the cent

payrecon matches Stripe, Mollie and Adyen settlements against the bank statement and the ledger's PSP clearing accounts. Every difference comes out as one of 12 classified breaks, with a plain explanation and a proposed journal entry that imports into Exact Online.

Start small: the worked example.

One PSP, five sales, one refund, two payouts, and two mistakes hidden in the ledger. Every record is on the page, so you can add it up yourself and see the engine reach the same figures.

A generated month: ~2,000 settlement lines across three PSPs, a camt.053 statement, an Exact Online ledger, and a dozen planted mistakes to find. Same seed, same month, every time. Try seed 3, seed 7, seed 11, seed 42.

Your own files never come here.

This demo is stateless: nothing you do is stored, and there is no upload. Real exports are reconciled on your own machine with python -m payrecon serve, and if a month has to be shared, the anonymiser strips every name and hashes every reference first.

Source and documentation

What you will see

ProofPer PSP: opening + sales + refunds + chargebacks + fees + payouts arrived = expected closing, against the ledger, difference fully explained.
BreaksFees unbooked, FX variance, refunds unbooked or cross-period, chargebacks, sales unbooked, duplicates, payouts in transit or missing, amount mismatches, unknown bank credits, reserve withheld.
ReviewConfirm, re-classify or dismiss each break, with comments. In this demo your decisions stay in your browser.
ExportsExcel workbook and a journal-entries file in Exact Online's memorial import layout.