Expense Management arenaExpense Management
Expense management and corporate-card platforms — who controls a startup’s spend — judged on issuing physical and virtual cards with per-card limits and merchant controls, receipt capture with OCR and automatic matching, codified expense policies that auto-approve the routine and escalate the exceptions, reimbursements at home and abroad, accounting sync into QuickBooks/NetSuite/Xero for a continuous close, in-policy travel booking, bill pay, budgets with real-time visibility, and the AI-era heart of the arena: whether an agent can pull transactions, code expenses, and enforce policy through real APIs and MCP servers. Ramp anchors with a hosted MCP server, an open-source CLI built for agents, and llms.txt developer docs; Brex answers with OAuth-gated MCP and published OpenAPI specs; Navan ships a hosted MCP alongside its Ava assistant; Expensify’s Integration Server API predates the agent era and shows it. Market reality, modeled honestly: Brex has been a Capital One company since April 2026 but is still sold standalone; Divvy is now BILL Spend & Expense; Airbase was absorbed into Paylocity and is no longer an independent player (not ranked); Mercury Spend (Aug 2026) ships only bundled with Mercury banking, so it stays judged in startup-banking. Ramp and Brex also compete in startup-banking — this arena judges the expense workflow with its own fresh verdicts.
53 user stories · 265 judged cells · updated 2026-09-16 · Evidence as of 2026-09-16
Leaderboard — every product ranked by evidenceLeaderboard
| 1 | free-tier vs Brex ↗ | 71/100 | 50/100 | 5/100 | 18/100 | 36/100 | Popular | 17/40 verified | 29/100 integrity | ||
| 2 | free-tier vs Ramp ↗ | 49/100 | 64/100 | 14/100 | 26/100 | 40/100 | Popular | 11/38 verified | 19/100 integrity | ||
| 3 | free-tier vs Ramp ↗ | 39/100 | 57/100 | 0/100 | 12/100 | 15/100 | 8/26 verified | 0/100 integrity | |||
| 4 | interchange vs Ramp ↗ | 41/100 | 17/100 | 10/100 | 23/100 | 16/100 | 5/30 verified | 11/100 integrity | |||
| 5 | subscription-per-seat vs Ramp ↗ | 14/100 | 27/100 | 0/100 | 4/100 | 13/100 | ★ 5k▲ 823/yr | 4/23 verified · 6 disputed | 0/100 integrity |
Best by user type — persona-weighted winnersBest by user type
Per persona, the product with the highest persona-weighted coverage over just that persona's stories — not the same ranking as the overall PA Score leaderboard above.
Story matrix — every product × every judged storyStory matrix
Accounting close — stories about accounting close in this arenaAccounting close
Accounting sync
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Accounting close — stories about accounting close in this arenaTransactions sync to QuickBooks, NetSuite, or Xero with GL account, class, and department mappings I control | finance-lead | partialC 6/10 | none 0/10 | partialC 6/10 | none 0/10 | partialC 6/10 |
Close
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Accounting close — stories about accounting close in this arenaSpend is coded as it happens — merchant, category, memo, receipt — so month-end close is a review, not an archaeology dig | finance-lead | fullC 8/10 | fullC 8/10 | disputedD 5/10 | partialC 7/10 | partialC 6/10 |
Multi entity
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Accounting close — stories about accounting close in this arenaRun multiple legal entities and currencies in one account with consolidated reporting and per-entity books | finance-lead | partialC 5/10 | partialC 3/10 | none 0/10 | none 0/10 | none 0/10 |
Agenticness — how well agents can access and operate the productAgenticness
Agent access
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Agenticness — how well agents can access and operate the productPoint an agent at llms.txt or agent-oriented docs | ai-native | fullT 9/10 | fullT 9/10 | none 0/10 | fullT 9/10 | fullT 9/10 |
| Agenticness — how well agents can access and operate the productRun the product headlessly / in CI for automation | ai-native | partialT 6/10 | partialC 6/10 | partialC 3/10 | partialC 5/10 | partialC 5/10 |
| Agenticness — how well agents can access and operate the productPlug MCP servers into this product so it can use their tools | ai-native | n/a | none 0/10 | n/a | none 0/10 | none 0/10 |
| Agenticness — how well agents can access and operate the productConnect an agent via an official MCP server | ai-native | fullT 9/10 | fullT 8/10 | none 0/10 | fullT 8/10 | partialC 5/10 |
| Agenticness — how well agents can access and operate the productUse an official CLI | ai-native | fullT 8/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
| Agenticness — how well agents can access and operate the productDrive the product through a documented public API | ai-native | fullT 9/10 | fullT 8/10 | fullC 7/10 | fullT 8/10 | fullT 8/10 |
| Agenticness — how well agents can access and operate the productIssue scoped/least-privilege API credentials for an agent | ai-native | fullT 8/10 | fullT 7/10 | none 0/10 | partialT 3/10 | none 0/10 |
| Agenticness — how well agents can access and operate the productBuild against official SDKs | ai-native | none 0/10 | none 0/10 | none 0/10 | partialT 5/10 | fullT 7/10 |
| Agenticness — how well agents can access and operate the productSubscribe to events via webhooks | ai-native | fullC 8/10 | fullC 8/10 | none 0/10 | none 0/10 | fullC 8/10 |
Agentic features
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Agenticness — how well agents can access and operate the productGet AI-generated insights and suggestions from my data inside the product | ai-native | fullT 7/10 | fullC 7/10 | disputedD 5/10 | fullC 8/10 | partialC 3/10 |
| Agenticness — how well agents can access and operate the productSet up automations that run autonomously in the background | ai-native | partialT 5/10 | fullC 7/10 | partialC 4/10 | none 0/10 | partialC 5/10 |
| Agenticness — how well agents can access and operate the productDelegate tasks to a built-in AI assistant inside the product | ai-native | partialT 5/10 | fullC 7/10 | partialC 6/10 | fullC 7/10 | partialC 3/10 |
| Agenticness — how well agents can access and operate the productOperate the product with natural-language commands | ai-native | fullT 8/10 | partialT 7/10 | partialC 5/10 | fullT 7/10 | none 0/10 |
Api quality
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Agenticness — how well agents can access and operate the productExplore an interactive API reference with runnable examples | ai-native | none 0/10 | partialT 4/10 | none 0/10 | none 0/10 | none 0/10 |
| Agenticness — how well agents can access and operate the productDownload a machine-readable API spec (OpenAPI or equivalent) | ai-native | partialT 3/10 | partialT 4/10 | none 0/10 | none 0/10 | none 0/10 |
| Agenticness — how well agents can access and operate the productTest against a sandbox environment without touching production data | ai-native | none 0/10 | none 0/10 | none 0/10 | none 0/10 | fullC 7/10 |
| Agenticness — how well agents can access and operate the productRely on versioned APIs with a documented deprecation policy | ai-native | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
Ai automation — stories about ai automation in this arenaAi automation
Ai coding
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Ai automation — stories about ai automation in this arenaAI codes and audits expenses for me — reading receipts, suggesting categories and memos, and catching duplicates or fraud | ai-native | fullC 8/10 | fullC 8/10 | disputedD 4/10 | partialT 6/10 | partialC 4/10 |
Ai policy
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Ai automation — stories about ai automation in this arenaAn AI assistant enforces policy conversationally — chasing missing receipts, explaining declines, and answering "can I expense this?" before the spend happens | ai-native | fullT 7/10 | partialC 7/10 | partialX 4/10 | partialC 5/10 | none 0/10 |
Automation depth — how much of the product can run unattendedAutomation depth
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Automation depth — how much of the product can run unattendedPerform bulk operations across many items at once | ai-native | partialC 4/10 | fullC 8/10 | none 0/10 | partialC 4/10 | partialC 3/10 |
| Automation depth — how much of the product can run unattendedDefine rules that trigger actions automatically on events | ai-native | fullC 8/10 | partialC 7/10 | partialC 5/10 | partialC 4/10 | partialC 5/10 |
| Automation depth — how much of the product can run unattendedSchedule recurring jobs or workflows | ai-native | none 0/10 | partialC 3/10 | none 0/10 | none 0/10 | none 0/10 |
| Automation depth — how much of the product can run unattendedVersion, review, and roll back my automations | ai-native | none 0/10 | none 0/10 | n/a | none 0/10 | none 0/10 |
Bills ap — stories about bills ap in this arenaBills ap
Bill pay
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Bills ap — stories about bills ap in this arenaRun accounts payable in the same platform — capture invoices, route approvals, and pay vendors by ACH, check, or wire | finance-lead | partialC 6/10 | fullC 8/10 | none 0/10 | none 0/10 | partialC 5/10 |
Cards controls — stories about cards controls in this arenaCards controls
Card controls
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Cards controls — stories about cards controls in this arenaRestrict cards by category, merchant, and amount — and the platform auto-locks or declines out-of-policy spend at the point of sale | finance-lead | fullC 8/10 | fullC 7/10 | partialC 3/10 | none 0/10 | partialC 4/10 |
Card issuance
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Cards controls — stories about cards controls in this arenaIssue physical and virtual corporate cards to the team in minutes, each with its own spend limit | founder | fullC 8/10 | fullC 8/10 | partialC 4/10 | none 0/10 | partialC 5/10 |
Virtual cards
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Cards controls — stories about cards controls in this arenaCreate single-vendor virtual cards for SaaS subscriptions and procurement so one compromised vendor never exposes shared credit | finance-lead | fullC 8/10 | fullC 7/10 | none 0/10 | none 0/10 | partialC 6/10 |
Expense data access — stories about expense data access in this arenaExpense data access
Agent access
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Expense data access — stories about expense data access in this arenaAn agent can pull uncoded transactions via API or MCP, propose categorizations and policy flags, and push clean coding back for review | ai-native | partialT 6/10 | partialT 6/10 | partialX 4/10 | partialC 5/10 | partialC 4/10 |
Api access
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Expense data access — stories about expense data access in this arenaPull transactions, expenses, and receipts through a documented REST API with OAuth and scoped tokens | developer | fullT 8/10 | partialT 7/10 | partialC 5/10 | fullC 8/10 | partialT 6/10 |
Card api
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Expense data access — stories about expense data access in this arenaIssue and manage cards programmatically — create a card with a limit, lock it, update controls — via the public API | developer | partialT 3/10 | partialC 4/10 | none 0/10 | none 0/10 | partialC 4/10 |
Openness — open source, data portability, and self-hosting storiesOpenness
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Openness — open source, data portability, and self-hosting storiesDo everything through the API that I can do in the UI | ai-native | partialT 6/10 | partialT 5/10 | partialT 3/10 | partialT 5/10 | partialT 5/10 |
| Openness — open source, data portability, and self-hosting storiesExport all of my data in open formats and leave | ai-native | partialT 3/10 | partialC 4/10 | none 0/10 | none 0/10 | partialC 3/10 |
| Openness — open source, data portability, and self-hosting storiesRead the product's source under an open license | ai-native | none 0/10 | n/a | none 0/10 | n/a | n/a |
| Openness — open source, data portability, and self-hosting storiesSelf-host the core product | ai-native | n/a | n/a | none 0/10 | n/a | n/a |
Policy approvals — stories about policy approvals in this arenaPolicy approvals
Approvals
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Policy approvals — stories about policy approvals in this arenaBuild multi-step approval chains — manager, budget owner, finance — with delegation and escalation when approvers sit on requests | finance-lead | partialC 4/10 | partialC 5/10 | none 0/10 | partialC 2/10 | partialC 3/10 |
Audit trail
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Policy approvals — stories about policy approvals in this arenaEvery expense carries a full audit trail — edits, approvals, policy checks — that survives an external audit | finance-lead | partialC 4/10 | partialC 6/10 | none 0/10 | partialC 4/10 | partialC 4/10 |
Policy engine
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Policy approvals — stories about policy approvals in this arenaCodify our expense policy — limits by category, role, and context — so in-policy expenses auto-approve and only exceptions reach a human | finance-lead | fullC 8/10 | fullC 8/10 | partialC 4/10 | partialC 5/10 | partialC 6/10 |
Privacy posture — data-handling and privacy storiesPrivacy posture
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Privacy posture — data-handling and privacy storiesChoose where my data is stored (region/residency) | ai-native | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
| Privacy posture — data-handling and privacy storiesPrevent my data from being used to train AI models | ai-native | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
| Privacy posture — data-handling and privacy storiesControl data retention and deletion | ai-native | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
| Privacy posture — data-handling and privacy storiesOpt out of telemetry and usage tracking | ai-native | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
Receipts capture — stories about receipts capture in this arenaReceipts capture
Mileage perdiem
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Receipts capture — stories about receipts capture in this arenaLog mileage with map-based distance and claim per-diem rates without building the expense by hand | employee | fullC 7/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
Receipt capture
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Receipts capture — stories about receipts capture in this arenaSnap a photo or forward an email and the platform OCRs the receipt and files it against the right transaction | employee | partialC 5/10 | partialC 6/10 | disputedD 5/10 | partialC 5/10 | none 0/10 |
Receipt matching
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Receipts capture — stories about receipts capture in this arenaReceipts match to card transactions automatically — with e-receipts pulled from integrations — and I get nudged only when one is genuinely missing | employee | partialC 6/10 | partialC 6/10 | partialX 4/10 | none 0/10 | none 0/10 |
Reimbursements — stories about reimbursements in this arenaReimbursements
Domestic
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Reimbursements — stories about reimbursements in this arenaSubmit an out-of-pocket expense and get reimbursed by direct deposit in days, tracked from submission to payout | employee | fullC 7/10 | partialC 5/10 | none 0/10 | partialC 3/10 | partialC 3/10 |
Spend visibility — stories about spend visibility in this arenaSpend visibility
Budgets
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Spend visibility — stories about spend visibility in this arenaAllocate budgets to teams and projects and have card limits and approvals actually enforce them | finance-lead | fullC 8/10 | fullC 8/10 | partialC 3/10 | partialC 4/10 | partialC 7/10 |
Dashboards
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Spend visibility — stories about spend visibility in this arenaSee company spend in real time — by team, category, and merchant — the day it happens, not when statements land | founder | fullC 8/10 | fullC 7/10 | disputedD 4/10 | fullC 7/10 | partialC 5/10 |
Travel — stories about travel in this arenaTravel
Booking
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Travel — stories about travel in this arenaBook flights and hotels in-platform with travel policy applied at booking time, not expensed and argued about later | employee | fullC 7/10 | fullX 8/10 | partialC 5/10 | fullC 8/10 | none 0/10 |
Trip expenses
| Story | Persona | |||||
|---|---|---|---|---|---|---|
| Travel — stories about travel in this arenaA trip's expenses — bookings, cards, receipts — collect themselves into one itinerary-linked report | employee | partialC 5/10 | partialC 5/10 | disputedD 5/10 | partialC 6/10 | none 0/10 |
Adjacent arenas — categories often shopped togetherAdjacent arenas
Shopping this category often means shopping these too.