Expense Submission & Approval
Expense cycle time < 3 days
Expense approval is a tax on velocity. Employees submit a receipt, wait days for approval, chase managers who forgot, resubmit after policy rejections. Managers approve blindly to clear queues. Finance discovers policy violations in month-end reconciliation, weeks after the money is spent. Nobody enjoys any of it.
An hour-by-hour walkthrough.
Step by step.
- 01
Collect receipt + coding
Employee submits via Slack / Teams / email / expense-app. Fin OCRs the receipt (merchant, amount, date, tax), infers the category from merchant + context, matches against calendar / CRM to attach the right project code.
Slack · Teams · Email · OCR · Salesforce · Google Calendar - 02
Check policy
Match against your T&E policy: per-person meal limit, hotel-rate cap by city, receipt-required threshold, corporate-card-only categories. Policy violations return with the specific rule; edge cases ("is this an entertainment expense?") go to the manager for judgement.
Policy KB · Expensify · Ramp · Brex - 03
Route to manager
Approval card to the manager with expense details + policy check + past-similar-approvals context. One-tap Approve / Decline / Request more info. Deadline set (default 5 days); escalation to skip-level if untouched.
Slack · Teams · Email - 04
Post to GL
On approval, write the expense entry to your expense-management platform (Expensify / Ramp / Brex / Concur), tag with cost centre + project code, mark for the next reimbursement cycle.
Expensify · Ramp · Brex · SAP Concur · NetSuite
What you connect to make this run.
Ramp · Brex · Expensify · SAP Concur
writeOAuth credential with expense-create + approval scopes. Every write idempotent by receipt-hash to prevent double-submission.
NetSuite · QuickBooks · Xero
writeGL integration for cost-centre + project-code tagging. Writes match your chart of accounts.
Policy KB (Knowledge Studio)
readT&E policy indexed in Knowledge Studio. Fin cites the exact policy paragraph on any rejection so the employee sees the reason, not just "denied."
Before and after, honestly.
Playbooks that pair with this one.
Answers about this playbook.
What if a receipt is missing?
Fin surfaces the missing receipt at submission ("you told me a $200 lunch but no attachment") rather than at month-end. Employee has 7 days to upload; escalation to manager after. Configurable: some teams allow up to $25 without a receipt per policy.
How does Fin handle expenses across currencies?
OCR extracts the receipt currency and amount. Fin converts to your base currency at the transaction-date FX rate (from your ERP's rate table). Reimbursement pays out in the employee's local currency using the same rate table.
Can we auto-approve small expenses?
Yes. Configurable per policy — many teams auto-approve receipts under $25 that pass every policy check. Auto-approvals still write to audit; managers see the summary in their weekly digest.
What about split expenses (my colleague and I shared a cab)?
Split flow supported. Submit once with the split percentages; Fin creates parallel expense entries for each attendee. Attendees confirm in Slack; approvals route per each person's manager.
Does this work with our existing expense tool?
Yes — Expensify, Ramp, Brex, SAP Concur, Airbase, Zip are all supported. Fin is the intake + policy layer; the underlying tool stays as the system of record.
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.