Did we pay this twice?

Drop an AP export, a payment register or a bank CSV. This finds the payments that look duplicated and, just as importantly, leaves the rent alone. A duplicate finder that flags every subscription and every monthly retainer gets closed and never opened again.

No server, no account, no network calls once this page has loaded. Watch the Network tab if you like โ€” this is a payment register, so you should.

What counts as suspicious

Four patterns, strongest first. Each group is scored by the money that would be recovered if it turned out to be real, because that is the order you want to work in.

Why the rent is not flagged

The naive version of this tool flags every recurring payment, because rent is the same vendor and the same amount every month. That is the difference between a tool someone uses and a tool someone closes.

So before anything is reported, each vendor-and-amount group is tested for rhythm. Three or more payments spaced at a consistent interval of twenty days or more is a subscription, a retainer or a lease, and it is moved to a separate list you can glance at rather than a warning you have to dismiss. Two payments four days apart have no rhythm to speak of, and those are the ones worth your time.

The trade is deliberate and worth knowing: a genuine duplicate that happens to fall in a regular monthly series will be treated as part of the series. Suppressing the payments that are obviously fine is worth more than catching the rare duplicate that disguises itself as rent.

What it does not do

It reports; it never edits, and there is nothing to save. It cannot tell you a payment was actually duplicated, only that a pair has the shape of one โ€” the invoice itself settles it. And a credit or reversal that offsets a duplicate is not detected, so a flagged pair may already have been put right.