Decision tree: how to classify every item
Start at the top and follow the branches for each unmatched or ambiguous line. The outcome gives you a plain-English category, its code, and the next check or action. Print the page if you want it beside you while you reconcile.
Start: An item appears on the statement or in your ledger.
Is it on BOTH the supplier’s statement AND in your accounting system?
YES — it appears on both sides
Q: Does the invoice reference match?
YES — reference matches
Q: Does the amount match?
YES — amount matches
Q: Does the date match?
(clean_match) — tick and move onNO — date differs
(date_mismatch) — the invoice is the same, but the dates differ. Check which date is correct.NO — amounts differ
Is it a partial payment (statement shows full, ledger shows less)?
(part_paid) — confirm that the partial payment cleared(amount_variance) — check tax, freight, foreign exchange, or a short paymentNO — reference differs or is missing
(date_corroborated) — the amount and date agree within 7 days, so treat the lines as matched.(fuzzy_ref) — the amounts match and the references use different formatting, such as INV-1001 and 1001.(amount_variance) — the references and amounts differ. Check tax, freight, or foreign exchange.ONLY ON THE STATEMENT — not in your ledger
Q: Is the invoice anywhere in your accounting system?
(statement_only) — request the invoice PDF and enter the bill.(not_open_maybe_paid) — check a full transaction list or your paid invoices.(out_of_period) — this is not a discrepancy if the date is outside the report range.(duplicate_statement) — query it with the supplier and pay once.ONLY IN YOUR LEDGER — not on the statement
Q: Why isn’t it on the supplier’s statement?
(ledger_only) — check timing, then query the supplier.(ledger_out_of_period) — it is outside the report range or dated after the statement date, so it is not a discrepancy.(duplicate_ledger) — void the duplicate entry.Your ledger says paid, but the statement still shows it open
How old is the invoice relative to the statement’s closing date?
(status_conflict_timing) — the invoice is dated within 7 days of the closing date. The payment may still be in transit; check it next cycle.(status_conflict) — the invoice is older than 7 days. Send proof of payment and do not pay it again.Consolidation and splitting
Does one side have a single line that equals the sum of several items on the other side?
(many_to_one) — one statement line equals the sum of 2–4 invoices.(one_to_many) — one invoice equals the sum of 2–4 statement lines.Special cases
(ambiguous_match) — the amount and date match more than one invoice, with no reference to break the tie. Do not guess.(credit_on_account) — allocate it to the correct invoice.(bbf_anchor) — compare the opening balance with prior-period items when the statement includes a brought-forward line.Checks you need to make yourself
The software cannot identify your known disputes, a new vendor relationship, or every data-quality issue from the statement alone. Module 7 covers all four.
(new_vendor_opening) — request a breakdown before accepting a nonzero opening balance.(dispute_on_hold) — flag the disagreement in your system and exclude it from payment.(vendor_data_issue) — stop and request the correct statement if the entity, currency, or date is wrong.Statement Zen Academy Team — Practical guidance based on Statement Zen's vendor statement reconciliation work. · Last updated