Receipt Match & Policy Compliance
Missing-receipt rate < 2%
Corporate cards generate a stream of charges the cardholder is supposed to receipt-match within 30 days. Half don't. Finance chases receipts for weeks; cardholders forget which meal the $73 charge was; reconciliation ties up an accountant for a week each month. Policy compliance is inspected by sampling; the un-inspected 90% may or may not comply, and the auditor discovers the pattern at year-end.
An hour-by-hour walkthrough.
Step by step.
- 01
Ingest card charges as they clear
Direct integration with corporate card providers (Amex, Ramp, Brex, Airbase, Divvy). Charge cleared → immediately in Fin's queue with merchant, amount, date, MCC code, cardholder identity.
Amex · Ramp · Brex · Airbase · Divvy · Card provider APIs - 02
Match against submitted receipts
Match algorithm: merchant + amount + date window. Handles minor variations (currency conversion rounding, tips added to signed amount). Match confidence scored; low-confidence flagged for cardholder confirmation.
Receipt corpus · Match engine - 03
Nudge for unmatched at 7/15/25/30 days
Graduated nudge cadence via Slack / email / mobile. Cardholder can upload receipt, file missing-receipt affidavit, or dispute the charge (fraud / duplicate). Non-response escalates to manager at 30 days.
Slack · Email · Mobile push · Cardholder registry - 04
Run policy checks on every match
Category vs. merchant type (MCC), per-diem limits, business-justification presence, receipt image quality. Flags open Fin-drafted question; user resolves or CFO approves exception.
Policy engine · Category-MCC registry - 05
Monthly reconciliation + audit-ready records
Statement-to-expense-report reconciliation runs continuously. Month-end is a review + sign-off, not a construction. Exceptions bucketed for review; audit trail complete per line.
Accounting · Audit log · CFO dashboard
What you connect to make this run.
Amex · Ramp · Brex · Airbase · Divvy
read+writeDirect card-provider integrations for charge stream. Write suspension events (extreme non-compliance), category updates, cardholder notes.
Concur · Expensify · Ramp · Expense platform
read+writeExpense report matching. Write matched receipts + policy-check status + business justifications. Read submitted receipts for match candidacy.
Slack · Email · Mobile push
read+writeGraduated nudge cadence. Cardholder response actions (upload receipt, file affidavit, dispute charge). Manager escalation at 30 days.
NetSuite · Sage · QuickBooks
read+writeAccounting system for reconciliation and GL posting. Fin writes categorised expense entries with cost-center + business-purpose narrative for audit-ready records.
Before and after, honestly.
Playbooks that pair with this one.
Expense Submission & Approval
Post-match, expenses flow through the standard approval + reimbursement track.
Reimbursement Intake
Same receipt corpus feeds both — matched to card charges here, or reimbursed out-of-pocket there.
Corporate Card Issuance
Card issuance sets the cardholder's per-card policy limits + defaults.
Answers about this playbook.
What if a cardholder disputes a charge as fraudulent?
Dispute flow: cardholder tags, Fin files with card provider, charge suspended pending resolution, alternative flow for the missing-legitimate-expense. Fraud pattern feeds security alerting.
How does it handle recurring charges (SaaS on card)?
Recurring charges auto-flag for setup as subscription with a persistent match rule ("Zoom monthly $199") — subsequent charges auto-match against the rule. Reduces cardholder nag on repeats.
What about split expenses (partial personal, partial business)?
Split-expense flow: cardholder marks business portion (with reason) + personal portion (reimburses company). Both amounts recorded; personal portion routed to payroll deduction or direct payment.
Can it suspend cards for policy violations?
Configurable per policy. Some companies never suspend (nudge-only), some auto-suspend after 45 days without receipt, some suspend on repeat category violations. Fin executes per policy.
How does it work with virtual cards (per-transaction)?
Virtual cards issued per intended purpose with pre-authorised amount + category. Match is one-shot (single expected charge), and mismatches (charge higher than authorised) flag immediately.
See it run on your data.
Free plan, no credit card. Connect the systems this playbook needs and run it against a past event first.