Paste the payments. It runs every test that does not need a document, across the whole ledger at once, and hands back the exception register with those columns already answered. Nothing leaves this page.
Every list here is optional. Leave one blank and the tests that need it report n/a instead of guessing. A test that cannot run says so; it never quietly passes.
Powers T9. An incomplete list manufactures findings, so paste all of it or none of it.
Powers T8, with the category column below. Labor landing in materials is the most common finding in this whole set.
Powers T3. With no list, T3 still fails a payment charged to no job at all.
Matched loosely, so Labor also matches Labor Expenses and LABOR-SUB.
Lower the sensitivity and more rows come back. It is a dial, not a verdict.
Copy the rows out of your bank, card or payables export and paste them here. Tabs or commas, with or without a header row. Do not filter it first, T4 and T10 can only see a duplicate or a gap when they can see everything at once.
Set a column to not in my export and every test that needed it reports n/a.
Nothing run yet. Paste a ledger on the previous tab.
Nothing run yet.
Nothing run yet.
The reconciliation standard says to reconcile every dollar in bulk, mechanically, and then investigate only the dollars that fail to reconcile. This page is the bulk part.
Seven of the twelve tests need nothing but the ledger itself, and they are the seven a spreadsheet is worst at, because every one of them is a question about how a row compares to every other row. A duplicate is invisible one job at a time. So is a reference number out of sequence, and so is a payee whose pricing has drifted away from its own norm.
| # | Test | Here | Why |
|---|---|---|---|
| T1 | Vouched | you | Somebody has to look for the document |
| T2 | Amount ties | you | Needs the document total |
| T3 | Right job | here | Charged to no job, or to one you do not recognise |
| T4 | Not a duplicate | here | Same reference twice, or the same payee and amount inside the window |
| T5 | Rate | partly | Without a price list it compares each payee to its own history instead |
| T6 | Quantity | you | Needs the measurement |
| T7 | Contamination | you | Needs the lines inside the document |
| T8 | Coding | here | A labor payee booked to something other than labor, or the reverse |
| T9 | Approved payee | here | Against the list you pasted |
| T10 | Reference sequence | here | Missing, reused, or lower than an earlier payment to the same payee |
| T11 | Round dollars | here | A round figure from a payee who does not normally bill round figures |
| T12 | Dark payment | here | No reference and no category. Nothing at all behind it |
It does not decide anything. Every output here is a reason to look, not a finding. A payee missing from a list is a question about the list as often as it is a question about the payee.
It does not find money that was never exported. A payment made from an account nobody pulled is invisible to all twelve tests, and no amount of care inside this page reveals something that is not in it.
It does not reprice anything. A rate that looks wrong today is a conversation about work dated on or after today. Work already done stays on the terms it was done under.
It does not send your data anywhere. There is no server, no account and no network call in this file. Close the tab and every figure above is gone.
NEEDS: a list of payments. Optionally a payee list, a labor payee list and a job list.
EMITS: the exception register with seven test columns answered, a price list per payee, a concentration curve, and a published list of what was ruled out.
WORKS ALONE: yes. It reads no file and no file reads it. You move results by copying them.
Surfaced runs entirely in this page. No account, no server, no network call. [COMPANY NAME] · this file is yours to keep and to change.