Legacy SaaS dossier · expensify
Expensify
Receipt OCR, an approval queue and a CSV to your accounting system, wrapped in a per-active-user fee that bites the month everyone travels.
01 · Data
Data the SaaS sits on
Internal Build Score
0.62
Feasibility of a useful internal substitute for the actually-used 20% of this SaaS, built with Claude and your own data layer.
IBS = 0.25·U + 0.25·C + 0.20·D + 0.15·I + 0.15·Mthis record · 62%- U
User adoption gap
weight 0.250.70How much licensed surface area sits idle.
- C
Core simplicity
weight 0.250.65How small the actually-used 20% is when re-implemented honestly.
- D
Data portability
weight 0.200.50How clean the exit is, exports, formats, audit lock.
- I
Integration burden (inverse)
weight 0.150.50How few external systems must keep working through the SaaS.
- M
Moat erosion
weight 0.150.70How much the original differentiator has been commoditised by LLMs + cheap infra.
Editorial heuristic. Not investment advice, not a procurement recommendation.
03 · Feature usage
Commonly used vs. rarely touched
Commonly used
05
- Receipt capture and OCR
- Expense report assembly
- Approval workflow by manager
- Policy rule checks
- Export to accounting system
Rarely touched
06
- Per-active-user pricing that spikes monthly
- Expensify Card program
- Travel booking
- Bill pay and invoicing
- A chat product bolted on
- Concierge and audit upsells
Internal build
Build it yourself
01 · Stack & flow
Internal build map
Data in
Agent layer
Logic
Outputs
- Build time
- 8 weeks
- Run cost
- $4/seat·mo
- vs. SaaS
- $45K / yr
Build outline
- Receipt upload to S3
- Claude vision extracts line fields
- Policy rules check + manager approval in Slack
- Export batch to the accounting system
- Audit log per report
02 · Build it
Paste into Cursor or Claude Code in an empty repo. It scaffolds the working core, with the AI step embedded.
03 · Result
category: Travel · reimbursable: true · flags: none