Expense approval software that doesn't fight your CFO
Employees snap a receipt with their phone, write what it was for, and submit. Manager approves the work-related decision; admin approves the spend. End of month, you export a clean CSV and reconcile with the bank.
Free 14-day trial · No credit card required · Set up in under 10 minutes
The four-stage email chain has to die
Most small businesses do expenses like this: receipt photo in WhatsApp → forwarded to manager → forwarded to admin → forwarded to bookkeeping. Five threads, four versions, zero record.
Receipts in chat threads
WhatsApp, Slack, plain email — receipts end up in three places, often as the same photo from different employees. Six months later you can't find the one you need for the audit.
Manager-or-admin confusion
Does this expense need just the manager, or the admin too? Each company has a rule, but it's in someone's head. Tools that don't enforce two-step approval slowly become 'manager rubber-stamps everything.'
Reconciliation is manual
Your bookkeeper builds the monthly expense report by copy-pasting from emails. Half a day every month. By month four, an expense gets missed; by month eight, two are duplicated.
Photo receipts
Snap, attach, submit — from a phone in 30 seconds
The expense form has a 'Take a photo' button on mobile that opens the back camera directly. The image attaches to the request, gets stored in private cloud storage, and shows up next to the expense for every approver. No re-uploading, no email forwarding, no lost attachments.
- Camera shortcut on mobile (capture=environment) opens back camera
- Attachments include PDFs, images, Word docs — anything you'd email
- 25 MB hard cap with per-tenant overrides for higher limits
- Mobile UX: 16px font (no iOS auto-zoom), 44px touch targets
Two-step approval
Manager confirms work, admin confirms spend
Default expense workflow: direct manager approves first (they know whether the expense was for legitimate work) → admin/owner approves the spend (they know whether it fits the budget). Either step can return for more info. Both decisions are timestamped and signed in the audit log — exactly what your auditors expect.
- Manager-then-admin two-step workflow ships out of the box
- Single-step or department-manager workflows configurable
- Required notes on rejection — communicated to the requester
- Append-only audit trail — no retroactive 'I didn't approve that'
Currency + amount
Native amount fields, not free-text
The expense form has dedicated amount + currency fields (not 'put the number in the description'). Approvers see the dollar amount in their dashboard list. Filtering by 'expenses over $500 this month' is one click. Building the monthly report is a CSV export.
- Native AMOUNT field type — validated, sortable, exportable
- Per-employee + per-department + monthly rollups in the admin UI
- Filter by amount range when reviewing or auditing
- Currency display per company setting
Export
Monthly CSV your bookkeeper can actually use
At month-end, admins pull a CSV of approved expenses: employee, date, amount, vendor (if filled), description, approval timestamps, attachment URLs. Drop into your accounting software's import format, or open in Excel for review. The columns are stable so a saved import template doesn't break.
- CSV with all approved expenses + decision metadata
- Filter by date range, department, amount, employee
- Audit-log export for compliance / SOX-style reviews
- Attachment URLs — auditors can pull individual receipts later
Common questions about expense approval software
Does this replace QuickBooks or Xero?
No. CrewBase is the front-end where employees submit expenses and approvers approve them. Your accounting software stays the source of truth for general ledger and reconciliation. The CSV export feeds it. Most small businesses use CrewBase for the request side and QuickBooks/Xero for the books side; the workflow is approve in CrewBase → import to accounting → reconcile with bank.
Can we set per-amount approval rules (e.g. >$500 needs the CFO)?
Today, approval rules are per request type, not per amount. The simple workaround: create two expense types — 'Standard expense' (manager approves) and 'Senior approval expense' (manager-then-admin) — and let the requester pick. A future feature will support amount-threshold routing inside one type.
Do you support multi-currency expenses?
Today the AMOUNT field is single-currency per company (set via company settings). For teams that have multiple currencies, the workaround is a custom field for the source currency + amount, and a manual conversion done in the description. Native multi-currency is on the roadmap.
Is the receipt attachment private?
Yes. Files go to S3-compatible storage (Cloudflare R2 in production) with private ACLs. The download endpoint requires auth — only the requester, their manager, admins, and owners can fetch. Receipts never appear in public URLs.
Can employees submit on behalf of someone else?
No, by design. Each request is tied to the user who submitted it (audit trail). For shared expenses, the workflow is: each person submits their own portion, OR an admin creates the expense in their own name with a description noting the actual purchaser. We don't support 'submit for X' because it complicates the audit trail.
What about company credit card expenses?
If you use a single corporate card, the workflow is: someone submits the expense in their own name (whoever made the purchase), notes 'corporate card' in the description, and the bookkeeping ties it back to the card statement at month-end. CrewBase doesn't ingest card-feed data; that's typically a job for a dedicated expense card platform like Brex or Ramp.
Bookkeeping shouldn't take half a day every month
Free 14-day trial. Photo receipts, two-step approvals, clean CSV export.
14-day free trial · Set up in under 10 minutes · Cancel any time