Example analysis on synthetic data — not a customer. A made-up construction group that does not exist. No customer data appears anywhere on this site.

One review, start to finish.

Somebody asked for March 2026 to be reviewed for Northline (a made-up construction group), and attached 3 files. Everything below is what happened next, in the order it happened, ending with the 6 things a person has to decide.

This page runs entirely in your browser and sends nothing anywhere. There is no file to upload and no button here makes a network request. The run below was produced by the same code a real review goes through, and is replayed from a fixture built into the page.

What was attached

filewhat it iscompanycurrencypayments
northline-build-payments-2026-03.csvpaymentsNorthline BuildEUR34
northline-interiors-payments-2026-03.csvpaymentsNorthline InteriorsEUR14
northline-build-ap-ledger-2026-03.csvledgerNorthline BuildEUR7

Every source declares EUR, so the figures below are shown with that code. Two sources in different currencies are reported as such and never added together.

01

Review requested

Northline (a made-up construction group) · March 2026

Somebody asked for a period to be reviewed and attached the files they had. That is the whole instruction. Nobody chose which checks to run.

02

Understanding the sources

3 files · 2 companies · 55 payments · EUR
03

Building the plan

6 checks apply · 3 cannot run
04

Running the checks

55 payments · 12 candidates
05

Investigating every candidate

12 candidates · 6 ordinary explanations each
06

Settled without you

2 of 8
07

Your decisions

6 things need your decision. 2 resolved without you.

You are advancing this yourself. A real review does not wait for anyone, and it does not perform its work on a screen either — it writes down each step as it takes it, and this is that list.

What this file is too small to support

55 payments over one period is enough to show you the shape of a review and not enough for several things you would reasonably want. The thresholds below are the real ones, taken from the checks.

A supplier paid four times or fewer

The many-small-payments check needs at least 5 payments to one supplier before it says anything, and the average payment has to be under 30% of the total to that supplier.

Two identical small charges

A pair of identical payments is only reported when the amount is over 10.00. A card fee charged twice at 4.99 is not returned.

Near-identical payments under 50.00

The within-5% check ignores any pair whose smaller amount is 50.00 or less, because at that size a 5% window catches ordinary variation rather than a repeated invoice.

A monthly cost mistaken for a repeat

Payments about a month apart are treated as a standing arrangement when the gap is 25 to 35 days. That is why the rent in this dataset never reached anybody.

A tool that answers anyway, from too little data, is worse than one that says it cannot. Every threshold above is enforced in code and covered by a test, not written into the copy on this page.

Point it at one of your own periods.

Export what you already have — a supplier payments export, a payables ledger, a card statement — for one client and one period. The review works out which checks apply and tells you which do not.

Every decision stays yours. Nothing is sent to a client, and nothing is written back to any accounting system.

A finding is something worth a human look, not a conclusion and not accounting advice — you decide what each one means.