Job reconciliation-breaks-explained-with-the-row-evidence-for-each-proposal · revised 12 October 2026
Find out why two totals disagree, with the rows that explain each possible cause
Give us two exports whose totals differ. You get ranked possible reasons, each with the exact rows that add up to the gap; a reason whose rows do not add up is never shown. Nothing is posted.
You might be seeing
- Two totals that should match differ by an odd amount
- Finding the rows behind the gap takes hours of manual scrolling
No passwords, keys, card details or admin invites needed to start.
What usually happened
Gaps between two systems usually come from a few causes: a timing difference across a month end, a duplicate, a sign flip, a missing row, a rounding or exchange-rate difference or a transposed digit. A plausible story with no rows behind it is worse than none. Even rows that add up to the gap can be the wrong explanation, so the final call has to stay with the person who knows the books.
Who it’s for: Bookkeeper, finance manager or ops lead who has two totals that should match and an unexplained gap, such as a bank against a ledger or a shop against a payment processor.
Usually starts when: Month end is close, two totals differ by an amount nobody can explain, and finding it by hand means hours of scrolling through rows.
The result: From two row-level exports for the same period, you receive a ranked list of possible reasons the totals differ. Each reason names the exact rows that, added together, equal the gap within a tolerance you set, and a script checks that sum. A gap no tested reason explains is reported as unexplained, every reason is a proposal for your bookkeeper to confirm, and nothing is posted.
Check whether this job fits
Answer these without sending files, tickets, code or logins. Nothing is submitted unless you choose to contact us.
What you get
- The ranked list of possible reasons with row evidence
- The row-evidence sheet for each reason
- The unmatched rows list
- The script and a one-line command to re-run it
- A note of what the proposals cannot show
Included
- Two row-level exports (CSV or spreadsheet) for the same period, one gap per run, up to 20,000 rows each
- A matching key you name, or a proposal for one that you approve
- Reason types tested by code: timing across the period end, duplicate rows, sign flips, missing rows on one side, rounding, exchange-rate differences and transposed digits
- For each reason, the rows involved, their sum, the gap, and what to check next
- A list of rows that match neither side, and a statement when the gap is unexplained
- Up to three gaps per job, one after another
Not included
- Posting journals, adjustments or corrections in any system
- Tax, accounting treatment or audit advice: your accountant decides
- Stating a cause as fact
- Access to your accounting or banking systems
- Exports holding names of individuals, unless you remove or mask them
- Reconciling more than three gaps in one job
How we know it’s done
Agreed with you before work starts. Each check produces evidence you keep.
On 500 generated gaps every reason shown has rows that sum to the gap within your tolerance, and none is shown otherwise (100%, because this tests code). One shown reason whose rows do not sum fails the whole test.
Evidence: The test log and the sum check.
At least 10 of the 12 planted breaks have their known cause in the top three proposals, including at least 5 of the 6 your bookkeeper keeps from us until the run. One false row reference, sum outside tolerance or reason asserted as fact fails the whole test; these planted cases are a smoke test, not a population-rate claim.
Evidence: The planted-break table with the cause each proposal gave.
All 3 planted gaps with no tested explanation are reported as unexplained, with no invented reason. One invented explanation fails this smoke test; it supports no general rate claim.
Evidence: The planted-gap table.
Your bookkeeper reads every proposal and confirms it is labelled proposed, gives a next check and does not assert a cause as fact. One asserted cause or missing next check fails the whole test.
Evidence: Your bookkeeper's marks for every proposal.
A second run on the same exports gives identical proposals and sums, and your team re-runs the command you are given and gets the same files.
Evidence: Both outputs compared.
Sign-off. You re-run the acceptance checks with the steps we hand over, read the results and sign off in writing. Payment follows sign-off.
If it fails. If an agreed check fails, you do not pay for this scope. We hand over what we found and agree whether to stop or re-quote; no surprise work.
When it fits, and when we stop
It fits when
- Two row-level exports for the same period that you may share through a secure route
- A named bookkeeper or accountant who confirms or rejects each proposal
- A tolerance you choose, for example 0.01
- Names of individuals and account numbers removed or masked by you
We stop and tell you if
- You want adjustments posted, or a view on tax or accounting treatment
- The exports are summaries with no row-level data
- The two exports cover different periods and you cannot provide matching ones
- The files hold personal data you will not mask
What could go wrong
The job reads two exports and reports, so there is nothing to undo. Our copies of your files are deleted when the job ends.
Scroll the table sideways to read it all.
| Risk | How we handle it |
|---|---|
| Rows that add up to the gap are the wrong explanation. | A match to the gap is evidence, not proof. Every reason is a proposal with a next check, and a consistent wrong explanation can pass a sum check. |
| A made-up reason is shown. | A reason is shown only if code finds rows that sum to the gap, and a gap with no such rows is reported as unexplained. |
| Exports carry personal or bank details. | You mask individuals' names and account numbers, and the provider, its country and retention are named in writing before you send anything. |
| The result is read as an accounting opinion. | The note says it is a list of proposals and gives no tax or accounting view. |
A separate automated reviewer checks the work and the test results before hand-over. Your bookkeeper or accountant confirms or rejects each proposal and makes any adjustment in your books. No human supervisor from us is included unless your agreement names one, and at launch the work is largely automated.
How we deliver
We arrange the work and independent review, then show you the result against the agreed checks. You keep authority over your systems.
- Agree the exports, the matching key, the tolerance and the confirming person
- Receive the two exports; plant 12 test breaks in a copy
- Match rows by key and list rows that match neither side
- Test each reason type by code; keep reasons whose rows sum to the gap
- Independent automated review of the proposals and wording
- Send the ranked reasons, row sheets and script to you
This is a one-off job, not emergency cover or a subscription. We confirm eligibility, price, start window and delivery date in writing before you accept, and work starts only after the agreed inputs are in place. An enquiry creates no charge or booking.
Need to keep it working?
Discuss the monthly sampled check once you have used the job for a closing.
Ongoing work is separately scoped and quoted: no monitoring, response-time guarantee or automatic subscription is included in this job.
Mention the responsibility you need in your enquiry.
What you can check
This is a new service. We have not delivered this job for a client yet.
Other ways to get this done
- Sort both exports by amount and date in a spreadsheet and look for pairs that cancel out.
- Ask your accounting package for its own reconciliation report.
Questions
Will you tell me the cause?
We tell you the possible causes with the rows that support each. Only your bookkeeper can confirm which is right.
What if nothing explains the gap?
We say so, and list the rows that match neither side.
Do you fix the books?
No. Nothing is posted or adjusted by us.
How is this different from the monthly drift check?
The monthly drift check compares one payment processor's payouts, refunds and fees with ledger entries. This job tests possible reasons for a specific gap between two row-level exports, with the exact rows for your bookkeeper to confirm.
Does a pass mean it will be right next month?
No. A pass describes items like the test sample on the day of the test. It is not a promise about future items, and it does not replace your own checking.
Send an enquiry
Send us
- Which two systems or reports, and the size of the gap
- How many rows each export holds
- Whether a matching key exists
- No logins, keys, customer data or payment details in the first enquiry
Later, once you agree
- The two exports through an agreed secure route
- The tolerance and the matching key
- The name of the person who confirms each proposal
- 12 planted breaks, 6 of them added by your bookkeeper to a copy and kept from us
You keep your systems and every login. We work on the two exports you send through a secure route agreed after you say yes, and hand back files and a report. We never ask for accounting or bank logins, and nothing in your books is changed by us.
Email fallback: open your mail app
If website submission is unavailable, review and send the fallback email yourself. An email fallback is not a website receipt. Or write to hello@syntheticindustry.ai with “reconciliation-breaks-explained-with-the-row-evidence-for-each-proposal” as the subject.