← Academy

Exception taxonomy

Every unmatched or ambiguous line gets exactly one bucket. Timing and report-flavour mistakes are the #1 false “missing” traps.

CodeBucketMeaningNext action
MATCH_EXACTExact matchRef + amount (+ date corroboration)Tick; done
MATCH_PARTIALPartial match2 of 3 (ref/amount/date); needs judgmentConfirm with support or escalate
MISS_ERPMissing in ERP / APOn statement, not in your extractRequest invoice / enter bill / check wrong vendor
MISS_STMTMissing on statementIn your AP extract, not on statementCheck dispute, vendor lag, wrong statement period
TIMING_PAYPayment timingPaid in your books; vendor has not applied yet (or reverse)Hold; recheck next statement — do not treat as missing invoice
TIMING_INVInvoice timingCutoff / posting lag between systemsHold or accrue per policy
CREDIT_UNAPPUnapplied / missing creditCredit memo not recorded or not appliedObtain credit; apply correctly
DUP_CANDDuplicate candidateSame invoice appears twice (either side)Investigate before paying
AMT_MISMATCHAmount mismatchSame ref, different amountPricing / tax / short-pay / FX
REF_MISMATCHReference mismatchSame amount/date, different refsFuzzy match; confirm before tick
OB_SCOPEOpening-balance / scopeStatement OB includes history your extract does notUse prior recon or request fuller extract; do not invent lines
REPORT_FLAVOURWrong report flavourAged-open-only vs paid+unpaid activity mismatchRe-pull correct report before chasing
DISPUTEDispute / holdKnown disagreementDocument; do not clear as match
VENDOR_DATAVendor data issueWrong entity, currency, statement dateStop; get correct statement