agent failed to match receipts to transactions: amount mismatch error
Fixes agent receipt-to-transaction matching failures with tolerance windows for tips, fees, and pending amounts. Use when an agent cannot match receipts to card transactions over small amount differences. Not for missing receipts.
TL;DR
Exact-amount matching fails on legitimate differences: tips, foreign fees, and pending-vs-posted amounts. Match within a tolerance window (amount plus a small percentage), prefer the posted transaction amount as canonical, and only escalate differences above the tolerance.
Error
agent failed to match receipts to transactions: amount mismatchSteps
- Log a sample of mismatches with both amounts and the difference. Expected: the differences cluster in explainable bands (tips, fees).
- Set a matching tolerance: exact match first, then match within the larger of a small fixed amount or a small percentage. Expected: legitimate near-matches now pair up.
- Treat the posted card transaction amount as canonical and the receipt as supporting evidence. Expected: one consistent amount per matched pair.
- For matches inside tolerance, record the explained difference (tip, fee) on the match record. Expected: the audit trail shows why the amounts differ.
- Escalate only differences above tolerance to manual review. Expected: humans see real anomalies, not tip noise.
When to use
- An agent fails to pair receipts with transactions over small amount gaps.
- Match rates are low despite receipts being present.
When not to use
- Receipts are missing entirely (see the missing-receipt skills).
- Amounts differ hugely (investigate duplicates or fraud).
Tool compatibility
- Custom audit agents; Expensify, Ramp, Brex transaction feeds.
Variant phrasings
Could not pair receipt with card charge
Same failure, alternate wording.
Transaction matching failed on amount
Names the match key directly.
Why it happens
Receipts and card postings capture different moments: pre-tip vs post-tip, authorization vs settlement. Exact matching treats these normal gaps as failures.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_-080KPEP7Gsg7gYOQ5JR6A