Access
Try itExperimental
See what an agent can do with Expensify before you ever sign up. Pick a story: recorded sessions replay real probe-harness transcripts; commands tagged live-capable can re-run against the real endpoint from our edge, right now (▶ run live — the exact same request, live and recorded lines always labeled); sandboxed self-drive sessions are designed and gated (docs/TRY-IT.md).
$curl -s -X POST https://integrations.expensify.com/Integration-Server/ExpensifyIntegrations -d 'requestJobDescription={...}' # the Integration Server API: HTTP 200, in-band auth errorrecorded session — replayed, not liveVerified integrations
No integration evidence found in our corpus for this product yet — that means none was found, never that it doesn’t integrate.
By theme — the product's score on each story themeBy theme
Accounting close — stories about accounting close in this arenaAccounting closeevidence →
Stories about accounting close in this arena
Agenticness — how well agents can access and operate the productAgenticnessevidence →
How well agents can access and operate the product
Ai automation — stories about ai automation in this arenaAi automationevidence →
Stories about ai automation in this arena
Automation depth — how much of the product can run unattendedAutomation depthevidence →
How much of the product can run unattended
Bills ap — stories about bills ap in this arenaBills apevidence →
Stories about bills ap in this arena
Cards controls — stories about cards controls in this arenaCards controlsevidence →
Stories about cards controls in this arena
Expense data access — stories about expense data access in this arenaExpense data accessevidence →
Stories about expense data access in this arena
Openness — open source, data portability, and self-hosting storiesOpennessevidence →
Open source, data portability, and self-hosting stories
Policy approvals — stories about policy approvals in this arenaPolicy approvalsevidence →
Stories about policy approvals in this arena
Privacy posture — data-handling and privacy storiesPrivacy postureevidence →
Data-handling and privacy stories
Receipts capture — stories about receipts capture in this arenaReceipts captureevidence →
Stories about receipts capture in this arena
Reimbursements — stories about reimbursements in this arenaReimbursementsevidence →
Stories about reimbursements in this arena
Spend visibility — stories about spend visibility in this arenaSpend visibilityevidence →
Stories about spend visibility in this arena
Travel — stories about travel in this arenaTravelevidence →
Stories about travel in this arena
Story verdicts — every judged story with its evidenceStory verdicts
Follow the green: where the map greys out is where Expensify stops today. ✓ full · ~ partial · ! disputed · — none · n/a not applicable.
Accounting close — stories about accounting close in this arenaAccounting close
Stories about accounting close in this arena
Transactions sync to QuickBooks, NetSuite, or Xero with GL account, class, and department mappings I control
~6/10
Spend is coded as it happens — merchant, category, memo, receipt — so month-end close is a review, not an archaeology dig
!5/10
Run multiple legal entities and currencies in one account with consolidated reporting and per-entity books
—0/10
Agenticness — how well agents can access and operate the productAgenticness
How well agents can access and operate the product
API surface
Drive the product through a documented public API
✓7/10
unlocks → Webhooks · Official SDKs · Scoped API keys · MCP server · Machine-readable spec · Versioning policy · API sandbox · Official CLI · Full data export
Subscribe to events via webhooks
—–
Build against official SDKs
—0/10
Issue scoped/least-privilege API credentials for an agent
—0/10
Connect an agent via an official MCP server
—0/10
Download a machine-readable API spec (OpenAPI or equivalent)
—0/10
Rely on versioned APIs with a documented deprecation policy
—0/10
Test against a sandbox environment without touching production data
—–
Explore an interactive API reference with runnable examples
—0/10
Docs for agents
Point an agent at llms.txt or agent-oriented docs
—0/10
Agentic features
Delegate tasks to a built-in AI assistant inside the product
~6/10
unlocks → AI insights
Operate the product with natural-language commands
~5/10
Plug MCP servers into this product so it can use their tools
n/an/a
Get AI-generated insights and suggestions from my data inside the product
!5/10
Set up automations that run autonomously in the background
~4/10
Ai automation — stories about ai automation in this arenaAi automation
Stories about ai automation in this arena
Automation depth — how much of the product can run unattendedAutomation depth
How much of the product can run unattended
Automation depth
Define rules that trigger actions automatically on events
~5/10
unlocks → AI codes and audits expenses for me — reading receipts, suggesting categories and memos, and catching duplicates or fraud
Schedule recurring jobs or workflows
—0/10
Perform bulk operations across many items at once
—0/10
Version, review, and roll back my automations
n/an/a
Bills ap — stories about bills ap in this arenaBills ap
Stories about bills ap in this arena
Cards controls — stories about cards controls in this arenaCards controls
Stories about cards controls in this arena
Restrict cards by category, merchant, and amount — and the platform auto-locks or declines out-of-policy spend at the point of sale
~3/10
Issue physical and virtual corporate cards to the team in minutes, each with its own spend limit
~4/10
Create single-vendor virtual cards for SaaS subscriptions and procurement so one compromised vendor never exposes shared credit
—0/10
Expense data access — stories about expense data access in this arenaExpense data access
Stories about expense data access in this arena
An agent can pull uncoded transactions via API or MCP, propose categorizations and policy flags, and push clean coding back for review
~4/10
Pull transactions, expenses, and receipts through a documented REST API with OAuth and scoped tokens
~5/10
Issue and manage cards programmatically — create a card with a limit, lock it, update controls — via the public API
—0/10
Openness — open source, data portability, and self-hosting storiesOpenness
Open source, data portability, and self-hosting stories
Policy approvals — stories about policy approvals in this arenaPolicy approvals
Stories about policy approvals in this arena
Build multi-step approval chains — manager, budget owner, finance — with delegation and escalation when approvers sit on requests
—–
Every expense carries a full audit trail — edits, approvals, policy checks — that survives an external audit
—–
Codify our expense policy — limits by category, role, and context — so in-policy expenses auto-approve and only exceptions reach a human
~4/10
Privacy posture — data-handling and privacy storiesPrivacy posture
Data-handling and privacy stories
Receipts capture — stories about receipts capture in this arenaReceipts capture
Stories about receipts capture in this arena
Log mileage with map-based distance and claim per-diem rates without building the expense by hand
—–
Snap a photo or forward an email and the platform OCRs the receipt and files it against the right transaction
!5/10
Receipts match to card transactions automatically — with e-receipts pulled from integrations — and I get nudged only when one is genuinely missing
~4/10
Reimbursements — stories about reimbursements in this arenaReimbursements
Stories about reimbursements in this arena
Spend visibility — stories about spend visibility in this arenaSpend visibility
Stories about spend visibility in this arena
Travel — stories about travel in this arenaTravel
Stories about travel in this arena
Sorted by importance (agentic first) (high → low) · 53/53 stories · click a row’s chevron for the rationale and evidence
Drive the product through a documented public API G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 3 | full | 7/10 | Cclaimed | |
Delegate tasks to a built-in AI assistant inside the product G Agentic features | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 3 | partial | 6/10 | Cclaimed | |
Connect an agent via an official MCP server G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 3 | none | 0/10 | ||
Plug MCP servers into this product so it can use their tools G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 3 | n/a | untested | none yet | |
Get AI-generated insights and suggestions from my data inside the product G Agentic features | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | disputed | 5/10 | Dcontradicted | |
Operate the product with natural-language commands G Agentic features | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | partial | 5/10 | Cclaimed | |
Set up automations that run autonomously in the background G Agentic features | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | partial | 4/10 | Cclaimed | |
Run the product headlessly / in CI for automation G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | partial | 3/10 | Cclaimed | |
Build against official SDKs G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | none | 0/10 | ||
Download a machine-readable API spec (OpenAPI or equivalent) G Api quality | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | none | 0/10 | ||
Explore an interactive API reference with runnable examples G Api quality | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | none | 0/10 | ||
Issue scoped/least-privilege API credentials for an agent G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | none | 0/10 | ||
Point an agent at llms.txt or agent-oriented docs G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | none | 0/10 | ||
Rely on versioned APIs with a documented deprecation policy G Api quality | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | none | 0/10 | ||
Subscribe to events via webhooks G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | none | untested | none yet | |
Use an official CLI G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | none | untested | none yet | |
Test against a sandbox environment without touching production data G Api quality | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 1 | none | untested | none yet | |
Transactions sync to QuickBooks, NetSuite, or Xero with GL account, class, and department mappings I control C Accounting sync | finance lead | Accounting close — stories about accounting close in this arenaAccounting close | 3 | partial | 6/10 | Cclaimed | |
Define rules that trigger actions automatically on events G | ai-native user | Automation depth — how much of the product can run unattendedAutomation depth | 3 | partial | 5/10 | Cclaimed | |
Pull transactions, expenses, and receipts through a documented REST API with OAuth and scoped tokens C Api access | developer | Expense data access — stories about expense data access in this arenaExpense data access | 3 | partial | 5/10 | Cclaimed | |
Snap a photo or forward an email and the platform OCRs the receipt and files it against the right transaction C Receipt capture | employee | Receipts capture — stories about receipts capture in this arenaReceipts capture | 3 | disputed | 5/10 | Dcontradicted | |
An agent can pull uncoded transactions via API or MCP, propose categorizations and policy flags, and push clean coding back for review C Agent access | ai-native user | Expense data access — stories about expense data access in this arenaExpense data access | 3 | partial | 4/10 | Xcommunity | |
Codify our expense policy — limits by category, role, and context — so in-policy expenses auto-approve and only exceptions reach a human C Policy engine | finance lead | Policy approvals — stories about policy approvals in this arenaPolicy approvals | 3 | partial | 4/10 | Cclaimed | |
Issue physical and virtual corporate cards to the team in minutes, each with its own spend limit C Card issuance | founder | Cards controls — stories about cards controls in this arenaCards controls | 3 | partial | 4/10 | Cclaimed | |
See company spend in real time — by team, category, and merchant — the day it happens, not when statements land C Dashboards | founder | Spend visibility — stories about spend visibility in this arenaSpend visibility | 3 | disputed | 4/10 | Dcontradicted | |
Restrict cards by category, merchant, and amount — and the platform auto-locks or declines out-of-policy spend at the point of sale C Card controls | finance lead | Cards controls — stories about cards controls in this arenaCards controls | 3 | partial | 3/10 | Cclaimed | |
Prevent my data from being used to train AI models G | ai-native user | Privacy posture — data-handling and privacy storiesPrivacy posture | 3 | none | 0/10 | ||
Self-host the core product G | ai-native user | Openness — open source, data portability, and self-hosting storiesOpenness | 3 | none | 0/10 | ||
Export all of my data in open formats and leave G | ai-native user | Openness — open source, data portability, and self-hosting storiesOpenness | 3 | none | untested | none yet | |
Submit an out-of-pocket expense and get reimbursed by direct deposit in days, tracked from submission to payout C Domestic | employee | Reimbursements — stories about reimbursements in this arenaReimbursements | 3 | none | untested | none yet | |
Book flights and hotels in-platform with travel policy applied at booking time, not expensed and argued about later C Booking | employee | Travel — stories about travel in this arenaTravel | 2 | partial | 5/10 | Cclaimed | |
Spend is coded as it happens — merchant, category, memo, receipt — so month-end close is a review, not an archaeology dig C Close | finance lead | Accounting close — stories about accounting close in this arenaAccounting close | 2 | disputed | 5/10 | Dcontradicted | |
AI codes and audits expenses for me — reading receipts, suggesting categories and memos, and catching duplicates or fraud C Ai coding | ai-native user | Ai automation — stories about ai automation in this arenaAi automation | 2 | disputed | 4/10 | Dcontradicted | |
An AI assistant enforces policy conversationally — chasing missing receipts, explaining declines, and answering "can I expense this?" before the spend happens C Ai policy | ai-native user | Ai automation — stories about ai automation in this arenaAi automation | 2 | partial | 4/10 | Xcommunity | |
Receipts match to card transactions automatically — with e-receipts pulled from integrations — and I get nudged only when one is genuinely missing C Receipt matching | employee | Receipts capture — stories about receipts capture in this arenaReceipts capture | 2 | partial | 4/10 | Xcommunity | |
Allocate budgets to teams and projects and have card limits and approvals actually enforce them C Budgets | finance lead | Spend visibility — stories about spend visibility in this arenaSpend visibility | 2 | partial | 3/10 | Cclaimed | |
Do everything through the API that I can do in the UI G | ai-native user | Openness — open source, data portability, and self-hosting storiesOpenness | 2 | partial | 3/10 | Tprobed | |
Create single-vendor virtual cards for SaaS subscriptions and procurement so one compromised vendor never exposes shared credit C Virtual cards | finance lead | Cards controls — stories about cards controls in this arenaCards controls | 2 | none | 0/10 | ||
Issue and manage cards programmatically — create a card with a limit, lock it, update controls — via the public API C Card api | developer | Expense data access — stories about expense data access in this arenaExpense data access | 2 | none | 0/10 | ||
Perform bulk operations across many items at once G | ai-native user | Automation depth — how much of the product can run unattendedAutomation depth | 2 | none | 0/10 | ||
Read the product's source under an open license G | ai-native user | Openness — open source, data portability, and self-hosting storiesOpenness | 2 | none | 0/10 | ||
Run accounts payable in the same platform — capture invoices, route approvals, and pay vendors by ACH, check, or wire C Bill pay | finance lead | Bills ap — stories about bills ap in this arenaBills ap | 2 | none | 0/10 | ||
Run multiple legal entities and currencies in one account with consolidated reporting and per-entity books C Multi entity | finance lead | Accounting close — stories about accounting close in this arenaAccounting close | 2 | none | 0/10 | ||
Schedule recurring jobs or workflows G | ai-native user | Automation depth — how much of the product can run unattendedAutomation depth | 2 | none | 0/10 | ||
Build multi-step approval chains — manager, budget owner, finance — with delegation and escalation when approvers sit on requests C Approvals | finance lead | Policy approvals — stories about policy approvals in this arenaPolicy approvals | 2 | none | untested | none yet | |
Choose where my data is stored (region/residency) G | ai-native user | Privacy posture — data-handling and privacy storiesPrivacy posture | 2 | none | untested | none yet | |
Control data retention and deletion G | ai-native user | Privacy posture — data-handling and privacy storiesPrivacy posture | 2 | none | untested | none yet | |
Every expense carries a full audit trail — edits, approvals, policy checks — that survives an external audit C Audit trail | finance lead | Policy approvals — stories about policy approvals in this arenaPolicy approvals | 2 | none | untested | none yet | |
Log mileage with map-based distance and claim per-diem rates without building the expense by hand C Mileage perdiem | employee | Receipts capture — stories about receipts capture in this arenaReceipts capture | 2 | none | untested | none yet | |
Opt out of telemetry and usage tracking G | ai-native user | Privacy posture — data-handling and privacy storiesPrivacy posture | 2 | none | untested | none yet | |
Reimburse employees abroad in their local currency without running a separate international payments process C International | finance lead | Reimbursements — stories about reimbursements in this arenaReimbursements | 2 | none | untested | none yet | |
A trip's expenses — bookings, cards, receipts — collect themselves into one itinerary-linked report C Trip expenses | employee | Travel — stories about travel in this arenaTravel | 1 | disputed | 5/10 | Dcontradicted | |
Version, review, and roll back my automations G | ai-native user | Automation depth — how much of the product can run unattendedAutomation depth | 1 | n/a | untested | none yet |
Opportunities — the stories that would move this product's scores, from its own judged verdictsOpportunitiestop 8 of 44 stories with headroom
What would move Expensify’s scores — derived from its own judged verdicts, biggest headroom first. Each line quotes what the judge found missing; shipping it (or evidencing it publicly) is the fix.
Agenticness — how well agents can access and operate the productConnect an agent via an official MCP server
nonemoves agent-readyimpact 45
Expensify offers a REST API with OAuth2 credentials, but there is no evidence of an official MCP server for agent connectivity; the AI features described (Ask Expensify) are first-party assistant features, not an MCP integration point.
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
nonemoves PA Scoreimpact 30
Missing: reimbursement/payout documentation, direct deposit setup details, submission-to-payout tracking evidence.
Openness — open source, data portability, and self-hosting storiesExport all of my data in open formats and leave
nonemoves PA Scoreimpact 30
No evidence of a bulk/open-format data export or account-portability feature; Expensify offers accounting-system connections (QuickBooks, NetSuite) and an API requiring OAuth credentials, but nothing about exporting all user data in open formats for departure from the platform.
Openness — open source, data portability, and self-hosting storiesSelf-host the core product
nonemoves PA Scoreimpact 30
Expensify is a hosted SaaS product; while its App repo is open source on GitHub, there is no evidence of a self-hostable backend/server deployment for the core expense-management product—only a client app install step (npm install) is shown, not a full self-host path.
Privacy posture — data-handling and privacy storiesPrevent my data from being used to train AI models
nonemoves PA Scoreimpact 30
No evidence of any AI-training opt-out, data-use control, or privacy settings related to AI model training; in fact community evidence shows receipt data was historically routed to third-party human contractors (MTurk) without confidentiality protections, suggesting weak data-handling controls generally.
Agenticness — how well agents can access and operate the productPoint an agent at llms.txt or agent-oriented docs
nonemoves agent-readyimpact 30
No evidence of an llms.txt file, agent-oriented documentation, or any machine-readable docs endpoint; the docs-md probe returned a 404, and no other citation mentions such a resource.
Agenticness — how well agents can access and operate the productUse an official CLI
nonemoves agent-readyimpact 30
Evidence shows an API/Integration Server with OAuth2, and a GitHub repo for the app itself, but no official CLI tool for AI-native workflows is documented anywhere in the pack.
Agenticness — how well agents can access and operate the productIssue scoped/least-privilege API credentials for an agent
nonemoves agent-readyimpact 30
Missing: scoped/permissioned API key or token creation, agent-specific credential controls, documentation of least-privilege design.
Showing the top 8 of 44 — every none/partial verdict in the story verdicts table is headroom.
Think a verdict is wrong? Every verdicts-table row has a Flag link — see the methodology.
Coverage map — which docs area, API section, or community source covers which judged storiesCoverage map9 surfaces · 23 covered stories
Where the cited evidence behind each covered verdict came from — the same citations the verdicts table shows, no extra judging.
Blog docs10 stories
- Spend is coded as it happens — merchant, category, memo, receipt — so month-end close is a review, not an archaeology dig
- Get AI-generated insights and suggestions from my data inside the product
- Set up automations that run autonomously in the background
- Delegate tasks to a built-in AI assistant inside the product
- Operate the product with natural-language commands
- AI codes and audits expenses for me — reading receipts, suggesting categories and memos, and catching duplicates or fraud
- An AI assistant enforces policy conversationally — chasing missing receipts, explaining declines, and answering "can I expense this?" before the spend happens
- Define rules that trigger actions automatically on events
- An agent can pull uncoded transactions via API or MCP, propose categorizations and policy flags, and push clean coding back for review
- Codify our expense policy — limits by category, role, and context — so in-policy expenses auto-approve and only exceptions reach a human
Hacker News9 stories
- Spend is coded as it happens — merchant, category, memo, receipt — so month-end close is a review, not an archaeology dig
- Get AI-generated insights and suggestions from my data inside the product
- AI codes and audits expenses for me — reading receipts, suggesting categories and memos, and catching duplicates or fraud
- An AI assistant enforces policy conversationally — chasing missing receipts, explaining declines, and answering "can I expense this?" before the spend happens
- An agent can pull uncoded transactions via API or MCP, propose categorizations and policy flags, and push clean coding back for review
- Snap a photo or forward an email and the platform OCRs the receipt and files it against the right transaction
- Receipts match to card transactions automatically — with e-receipts pulled from integrations — and I get nudged only when one is genuinely missing
- See company spend in real time — by team, category, and merchant — the day it happens, not when statements land
- A trip's expenses — bookings, cards, receipts — collect themselves into one itinerary-linked report
Integration server docs7 stories
- Run the product headlessly / in CI for automation
- Drive the product through a documented public API
- Set up automations that run autonomously in the background
- Define rules that trigger actions automatically on events
- An agent can pull uncoded transactions via API or MCP, propose categorizations and policy flags, and push clean coding back for review
- Pull transactions, expenses, and receipts through a documented REST API with OAuth and scoped tokens
- Do everything through the API that I can do in the UI
Receipt scanning app docs6 stories
- Spend is coded as it happens — merchant, category, memo, receipt — so month-end close is a review, not an archaeology dig
- AI codes and audits expenses for me — reading receipts, suggesting categories and memos, and catching duplicates or fraud
- Snap a photo or forward an email and the platform OCRs the receipt and files it against the right transaction
- Receipts match to card transactions automatically — with e-receipts pulled from integrations — and I get nudged only when one is genuinely missing
- See company spend in real time — by team, category, and merchant — the day it happens, not when statements land
- A trip's expenses — bookings, cards, receipts — collect themselves into one itinerary-linked report
Spend management docs5 stories
- Restrict cards by category, merchant, and amount — and the platform auto-locks or declines out-of-policy spend at the point of sale
- Issue physical and virtual corporate cards to the team in minutes, each with its own spend limit
- Codify our expense policy — limits by category, role, and context — so in-policy expenses auto-approve and only exceptions reach a human
- Receipts match to card transactions automatically — with e-receipts pulled from integrations — and I get nudged only when one is genuinely missing
- Allocate budgets to teams and projects and have card limits and approvals actually enforce them
Articles docs4 stories
- Transactions sync to QuickBooks, NetSuite, or Xero with GL account, class, and department mappings I control
- Spend is coded as it happens — merchant, category, memo, receipt — so month-end close is a review, not an archaeology dig
- Set up automations that run autonomously in the background
- Define rules that trigger actions automatically on events
Expense management docs4 stories
- Transactions sync to QuickBooks, NetSuite, or Xero with GL account, class, and department mappings I control
- Spend is coded as it happens — merchant, category, memo, receipt — so month-end close is a review, not an archaeology dig
- Codify our expense policy — limits by category, role, and context — so in-policy expenses auto-approve and only exceptions reach a human
- Allocate budgets to teams and projects and have card limits and approvals actually enforce them
expensify.com3 stories
- Issue physical and virtual corporate cards to the team in minutes, each with its own spend limit
- Receipts match to card transactions automatically — with e-receipts pulled from integrations — and I get nudged only when one is genuinely missing
- A trip's expenses — bookings, cards, receipts — collect themselves into one itinerary-linked report
Probe proofs — replayable recordings from the probe harnessProbe proofs
Replayable recordings from our probe harness — see the Prove-It protocol to submit one.
$curl -s -X POST https://integrations.expensify.com/Integration-Server/ExpensifyIntegrations -d 'requestJobDescription={...}' # the Integration Server API: HTTP 200, in-band auth errorreproduced$ curl -s -X POST https://integrations.expensify.com/Integration-Server/ExpensifyIntegrations -d 'requestJobDescription={...}' # the Integration Server API: HTTP 200, in-band auth error
{"responseMessage":"Authentication error","responseCode":404}
Claims vs evidence — vendor claims reconciled against independent verdictsClaims vs evidence
0 of 6 testable claims verified · 1 contradicted → integrity 0/100
10 distinct capability claims found in Expensify’s own claimed-docs/GitHub materials, reconciled against our judge’s independent verdicts.
0
Verified
5
Unverified
1
Contradicted
12
Undersold
Unverified (7)
“Generate API credentials to access the Expensify API”
Pull transactions, expenses, and receipts through a documented REST API with OAuth and scoped tokenspartialproof ↗
“Use OAuth2 authorization code flow to get short-lived access tokens acting on behalf of users”
Pull transactions, expenses, and receipts through a documented REST API with OAuth and scoped tokenspartialproof ↗
“Create, categorize, tag, approve, and reject expenses using plain-language commands”
Operate the product with natural-language commandspartialproof ↗
“Configure workspaces, build rules, and fix setup mistakes just by asking in natural language”
Operate the product with natural-language commandspartialproof ↗
“Finalized expense reports export automatically to QuickBooks Online”
Transactions sync to QuickBooks, NetSuite, or Xero with GL account, class, and department mappings I controlpartialproof ↗
“Corporate travel management so business trips don't end in a pile of paper receipts”
Book flights and hotels in-platform with travel policy applied at booking time, not expensed and argued about laterpartialproof ↗
“Set Smart Limits controlling spend on corporate cards”
Restrict cards by category, merchant, and amount — and the platform auto-locks or declines out-of-policy spend at the point of salepartialproof ↗
Contradicted (1)
“SmartScan automatically reads merchant, date, total, and currency from a photographed receipt”
Snap a photo or forward an email and the platform OCRs the receipt and files it against the right transactiondisputedproof ↗
Undersold (12)
Run the product headlessly / in CI for automationpartialproof ↗
Drive the product through a documented public APIfullproof ↗
Set up automations that run autonomously in the backgroundpartialproof ↗
Delegate tasks to a built-in AI assistant inside the productpartialproof ↗
An AI assistant enforces policy conversationally — chasing missing receipts, explaining declines, and answering "can I expense this?" before the spend happenspartialproof ↗
Define rules that trigger actions automatically on eventspartialproof ↗
Issue physical and virtual corporate cards to the team in minutes, each with its own spend limitpartialproof ↗
An agent can pull uncoded transactions via API or MCP, propose categorizations and policy flags, and push clean coding back for reviewpartialproof ↗
Do everything through the API that I can do in the UIpartialproof ↗
Codify our expense policy — limits by category, role, and context — so in-policy expenses auto-approve and only exceptions reach a humanpartialproof ↗
Receipts match to card transactions automatically — with e-receipts pulled from integrations — and I get nudged only when one is genuinely missingpartialproof ↗
Allocate budgets to teams and projects and have card limits and approvals actually enforce thempartialproof ↗
Claims outside our story set (2)
Real capability claims found in Expensify’s own materials, but no story in this arena’s taxonomy covers them yet — that’s feedback on the taxonomy, not a mark against the product.
“Bring your own corporate cards instead of switching to Expensify-issued cards”
source ↗“Customize invoices with logo, custom terms, VAT/sales tax, and multiple currencies”
source ↗
Business model
Collect is $5/member/mo; Control is $9/active member with an annual commitment and Expensify Card adoption (up to $36 pay-per-use without); card interchange funds the discounts.
pricing ↗Score trend
How this product’s scores have moved as evidence and verdicts are re-derived — a point per change, not per day.
Try Experimental
Run it in the microterminal →Recorded agent sessions — and a live MCP handshake where the vendor ships one.
Flag
⚑ Flag a verdictThink a verdict is wrong? Opens a prefilled GitHub issue — or use the ⚑ next to any verdict above.
For agents
