Every unmatched or ambiguous line gets exactly one bucket. Timing and report-flavour mistakes are the #1 false “missing” traps.
| Code | Bucket | Meaning | Next action |
|---|---|---|---|
| MATCH_EXACT | Exact match | Ref + amount (+ date corroboration) | Tick; done |
| MATCH_PARTIAL | Partial match | 2 of 3 (ref/amount/date); needs judgment | Confirm with support or escalate |
| MISS_ERP | Missing in ERP / AP | On statement, not in your extract | Request invoice / enter bill / check wrong vendor |
| MISS_STMT | Missing on statement | In your AP extract, not on statement | Check dispute, vendor lag, wrong statement period |
| TIMING_PAY | Payment timing | Paid in your books; vendor has not applied yet (or reverse) | Hold; recheck next statement — do not treat as missing invoice |
| TIMING_INV | Invoice timing | Cutoff / posting lag between systems | Hold or accrue per policy |
| CREDIT_UNAPP | Unapplied / missing credit | Credit memo not recorded or not applied | Obtain credit; apply correctly |
| DUP_CAND | Duplicate candidate | Same invoice appears twice (either side) | Investigate before paying |
| AMT_MISMATCH | Amount mismatch | Same ref, different amount | Pricing / tax / short-pay / FX |
| REF_MISMATCH | Reference mismatch | Same amount/date, different refs | Fuzzy match; confirm before tick |
| OB_SCOPE | Opening-balance / scope | Statement OB includes history your extract does not | Use prior recon or request fuller extract; do not invent lines |
| REPORT_FLAVOUR | Wrong report flavour | Aged-open-only vs paid+unpaid activity mismatch | Re-pull correct report before chasing |
| DISPUTE | Dispute / hold | Known disagreement | Document; do not clear as match |
| VENDOR_DATA | Vendor data issue | Wrong entity, currency, statement date | Stop; get correct statement |