Expense Management — procurement report
ProductArena · rankings as of 2026-09-16 · evidence as of 2026-09-16 · 5 products · 53 judged requirements · 265 judged cells
Methodology: Every product is judged against a shared taxonomy of user stories using cited evidence — hands-on probes > repository code > independent community sources > vendor claims — never opinion. Full writeup: https://ultrametric.ai/productarena/methodology
Leaderboard
| # | Product | PA Score | Coverage score | Applicable cells | Confidence |
|---|---|---|---|---|---|
| 1 | Ramp | 38.7 | 48.0 | 51/53 | B |
| 2 | Brex | 38.4 | 42.0 | 51/53 | C |
| 3 | Navan | 24.8 | 24.5 | 51/53 | C |
| 4 | BILL Spend & Expense | 23.9 | 21.7 | 51/53 | C |
| 5 | Expensify | 10.9 | 12.3 | 51/53 | C |
PA Score = agent-readiness blend (see methodology). Coverage score = weighted share of judged requirements met. Confidence = how much of the score rests on tested vs claimed evidence (A–D).
Uncertainty note
The current #1/#2 gap in this arena is not close enough to qualify for the multi-judge uncertainty pass (or the pass has not covered it yet) — no extra caveat applies beyond the per-product confidence grades above.
Buyer checklist (RFP)
The arena's 53 judged user stories as requirements, grouped by theme. Priorities mirror the story weights our scoring uses (3 = must-have, 2 = should-have, 1 = nice-to-have). Interactive version with per-requirement verdicts for the top products: /arena/expense-management/checklist
Accounting close — stories about accounting close in this arenaAccounting close
Stories about accounting close in this arena
- finance leadTransactions sync to QuickBooks, NetSuite, or Xero with GL account, class, and department mappings I controlmust-have
- finance leadSpend is coded as it happens — merchant, category, memo, receipt — so month-end close is a review, not an archaeology digshould-have
- finance leadRun multiple legal entities and currencies in one account with consolidated reporting and per-entity booksshould-have
Agenticness — how well agents can access and operate the productAgenticness
How well agents can access and operate the product
- ai-native userPlug MCP servers into this product so it can use their toolsmust-have
- ai-native userConnect an agent via an official MCP servermust-have
- ai-native userDrive the product through a documented public APImust-have
- ai-native userDelegate tasks to a built-in AI assistant inside the productmust-have
- ai-native userPoint an agent at llms.txt or agent-oriented docsshould-have
- ai-native userRun the product headlessly / in CI for automationshould-have
- ai-native userUse an official CLIshould-have
- ai-native userIssue scoped/least-privilege API credentials for an agentshould-have
- ai-native userBuild against official SDKsshould-have
- ai-native userSubscribe to events via webhooksshould-have
- ai-native userGet AI-generated insights and suggestions from my data inside the productshould-have
- ai-native userSet up automations that run autonomously in the backgroundshould-have
- ai-native userOperate the product with natural-language commandsshould-have
- ai-native userExplore an interactive API reference with runnable examplesshould-have
- ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)should-have
- ai-native userRely on versioned APIs with a documented deprecation policyshould-have
- ai-native userTest against a sandbox environment without touching production datanice-to-have
Ai automation — stories about ai automation in this arenaAi automation
Stories about ai automation in this arena
- ai-native userAI codes and audits expenses for me — reading receipts, suggesting categories and memos, and catching duplicates or fraudshould-have
- ai-native userAn AI assistant enforces policy conversationally — chasing missing receipts, explaining declines, and answering "can I expense this?" before the spend happensshould-have
Automation depth — how much of the product can run unattendedAutomation depth
How much of the product can run unattended
- ai-native userDefine rules that trigger actions automatically on eventsmust-have
- ai-native userPerform bulk operations across many items at onceshould-have
- ai-native userSchedule recurring jobs or workflowsshould-have
- ai-native userVersion, review, and roll back my automationsnice-to-have
Bills ap — stories about bills ap in this arenaBills ap
Stories about bills ap in this arena
- finance leadRun accounts payable in the same platform — capture invoices, route approvals, and pay vendors by ACH, check, or wireshould-have
Cards controls — stories about cards controls in this arenaCards controls
Stories about cards controls in this arena
- finance leadRestrict cards by category, merchant, and amount — and the platform auto-locks or declines out-of-policy spend at the point of salemust-have
- founderIssue physical and virtual corporate cards to the team in minutes, each with its own spend limitmust-have
- finance leadCreate single-vendor virtual cards for SaaS subscriptions and procurement so one compromised vendor never exposes shared creditshould-have
Expense data access — stories about expense data access in this arenaExpense data access
Stories about expense data access in this arena
- ai-native userAn agent can pull uncoded transactions via API or MCP, propose categorizations and policy flags, and push clean coding back for reviewmust-have
- developerPull transactions, expenses, and receipts through a documented REST API with OAuth and scoped tokensmust-have
- developerIssue and manage cards programmatically — create a card with a limit, lock it, update controls — via the public APIshould-have
Openness — open source, data portability, and self-hosting storiesOpenness
Open source, data portability, and self-hosting stories
- ai-native userExport all of my data in open formats and leavemust-have
- ai-native userSelf-host the core productmust-have
- ai-native userDo everything through the API that I can do in the UIshould-have
- ai-native userRead the product's source under an open licenseshould-have
Policy approvals — stories about policy approvals in this arenaPolicy approvals
Stories about policy approvals in this arena
- finance leadCodify our expense policy — limits by category, role, and context — so in-policy expenses auto-approve and only exceptions reach a humanmust-have
- finance leadBuild multi-step approval chains — manager, budget owner, finance — with delegation and escalation when approvers sit on requestsshould-have
- finance leadEvery expense carries a full audit trail — edits, approvals, policy checks — that survives an external auditshould-have
Privacy posture — data-handling and privacy storiesPrivacy posture
Data-handling and privacy stories
- ai-native userPrevent my data from being used to train AI modelsmust-have
- ai-native userChoose where my data is stored (region/residency)should-have
- ai-native userControl data retention and deletionshould-have
- ai-native userOpt out of telemetry and usage trackingshould-have
Receipts capture — stories about receipts capture in this arenaReceipts capture
Stories about receipts capture in this arena
- employeeSnap a photo or forward an email and the platform OCRs the receipt and files it against the right transactionmust-have
- employeeLog mileage with map-based distance and claim per-diem rates without building the expense by handshould-have
- employeeReceipts match to card transactions automatically — with e-receipts pulled from integrations — and I get nudged only when one is genuinely missingshould-have
Reimbursements — stories about reimbursements in this arenaReimbursements
Stories about reimbursements in this arena
- employeeSubmit an out-of-pocket expense and get reimbursed by direct deposit in days, tracked from submission to payoutmust-have
- finance leadReimburse employees abroad in their local currency without running a separate international payments processshould-have
Spend visibility — stories about spend visibility in this arenaSpend visibility
Stories about spend visibility in this arena
- founderSee company spend in real time — by team, category, and merchant — the day it happens, not when statements landmust-have
- finance leadAllocate budgets to teams and projects and have card limits and approvals actually enforce themshould-have
Travel — stories about travel in this arenaTravel
Stories about travel in this arena
- employeeBook flights and hotels in-platform with travel policy applied at booking time, not expensed and argued about latershould-have
- employeeA trip's expenses — bookings, cards, receipts — collect themselves into one itinerary-linked reportnice-to-have
Appendix: recorded probes
Hands-on probe recordings — transcripts/videos a human can replay, the strongest evidence tier. Watch them at https://ultrametric.ai/productarena/proofs
- BILL Spend & Expense
curl -s https://gateway.prod.bill.com/connect/v3/spend/budgets # the documented v3 spend API, keyless → Unauthorizedterminal · recorded 2026-09-14 · exit 0 - BILL Spend & Expense
curl -sL https://developer.bill.com/llms.txt | head -4terminal · recorded 2026-09-14 · exit 0 - Brex
curl -si https://platform.brexapis.com/v2/transactions/card/primary | head -1 # the documented platform API, keyless → 401terminal · recorded 2026-09-14 · exit 0 - Brex
curl -si -X POST https://api.brex.com/mcp -H 'Content-Type: application/json' -d '<jsonrpc initialize>' # Brex's hosted MCP server, keyless → OAuth challengeterminal · recorded 2026-09-14 · exit 0 - Brex
curl -s https://developer.brex.com/_bundle/openapi/expenses_api.yaml | head -3 # published OpenAPI specterminal · recorded 2026-09-14 · exit 0 - Brex
curl -sL https://www.brex.com/llms.txt | head -3terminal · recorded 2026-09-14 · exit 0 - Expensify
curl -s -X POST https://integrations.expensify.com/Integration-Server/ExpensifyIntegrations -d 'requestJobDescription={...}' # the Integration Server API: HTTP 200, in-band auth errorterminal · recorded 2026-09-14 · exit 0 - Navan
curl -sL https://developer.navan.com/llms.txt | head -4terminal · recorded 2026-09-14 · exit 0 - Navan
curl -s -X POST https://mcp.navan.com/mcp -H 'Content-Type: application/json' -d '<jsonrpc initialize>' # Navan's hosted MCP server, keyless → Bearer challengeterminal · recorded 2026-09-14 · exit 0 - Ramp
curl -s https://api.ramp.com/developer/v1/transactions # the documented Developer API, keyless → access-token errorterminal · recorded 2026-09-14 · exit 0 - Ramp
curl -sI https://agents.ramp.com/install.sh | head -1 # the documented CLI install script, liveterminal · recorded 2026-09-14 · exit 0 - Ramp
curl -sL https://docs.ramp.com/llms.txt | head -4terminal · recorded 2026-09-14 · exit 0 - Ramp
curl -s -X POST https://mcp.ramp.com/mcp -H 'Content-Type: application/json' -d '<jsonrpc initialize>' # Ramp's production MCP server, keyless → token challengeterminal · recorded 2026-09-14 · exit 0
Cite as: ProductArena by Ultrametric Inc, Expense Management arena, rankings as of 2026-09-16 — https://ultrametric.ai/productarena/arena/expense-management
License: © 2026 Ultrametric Inc. Brief quotation of individual verdicts, scores, or evidence excerpts is permitted with attribution to "ProductArena by Ultrametric Inc (ultrametric.ai/productarena)", as is use of the data to evaluate, contest, or contribute corrections. Bulk copying, redistribution, or use to build competing datasets requires prior written permission (see DATA-LICENSE in the repository).
No liability: rankings, verdicts, and scores are research outputs derived from the cited evidence at a point in time, provided "as is", without warranties. Ultrametric Inc accepts no responsibility for procurement, purchasing, or other decisions made in reliance on them — verify against the cited evidence before acting (https://ultrametric.ai/productarena/terms).