What if receipts submitted themselves?
What if receipts submitted themselves?
Designing
Invoice Collector Agent
Designing
Invoice Collector Agent
Every corporate cardholder owes a receipt for every swipe. I designed a three-phase system that collects, matches, and submits them off the human entirely - from a shoebox of paper to an agent that files invoices while you sleep.
Every corporate cardholder owes a receipt for every swipe. I designed a three-phase system that collects, matches, and submits them off the human entirely - from a shoebox of paper to an agent that files invoices while you sleep.
ROLE
ROLE
Lead product Designer
Lead product Designer
TEAM
TEAM
Product · Engineering · Data
Product · Engineering · Data
SURFACE
SURFACE
Web app · Chrome extension · Mobile
Web app · Chrome extension · Mobile
DOMAIN
DOMAIN
B2B · fintech · corporate spend
B2B · fintech · corporate spend
AT A GLANCE
AT A GLANCE
Receipt submission is the single most repeated action a cardholder performs and the one they hate most.
This project attacks it at the root: instead of making the manual chore faster, it removes the chore.
Phase 1 turned a two-hour reconciliation into a single drag- and-drop. Phases 2 and 3 removed the human from the loop with a background agent that fetches invoices directly from merchant sites and email.
Receipt submission is the single most repeated action a cardholder performs and the one they hate most.
This project attacks it at the root: instead of making the manual chore faster, it removes the chore.
Phase 1 turned a two-hour reconciliation into a single drag- and-drop. Phases 2 and 3 removed the human from the loop with a background agent that fetches invoices directly from merchant sites and email.
Zero manual work
Zero manual work
Automated one of the most frequent tasks performed.
Automated one of the most frequent tasks performed.
Designed for scale
Designed for scale
Built a platform capable of collecting invoices across multiple channels.
Built a platform capable of collecting invoices across multiple channels.
AI-first experience
AI-first experience
Shifted receipt submission from a user task to an autonomous workflow.
Shifted receipt submission from a user task to an autonomous workflow.
Invisible automation
Invisible automation
The best experience is the one users no longer have to think about.
The best experience is the one users no longer have to think about.
What if receipts submitted themselves?
Designing Alaan’s
Invoice Collector Agent
Every corporate cardholder owes a receipt for every swipe. I designed a three-phase system that collects, matches, and submits them off the human entirely - from a shoebox of paper to an agent that files invoices while you sleep.
ROLE
Lead product Designer
TEAM
Product · Engineering · Data
SURFACE
Web app · Chrome extension · Mobile
DOMAIN
B2B · fintech · corporate spend
PROBLEM DISCOVERY
PROBLEM DISCOVERY
The most frequent job in the product
was also the most painful.
The most frequent job in the product was also the most painful.
In Alaan, everyone with a card is a cardholder - spenders, admins, accountants, team leads. Whatever else their role is, they all inherit the same obligation: attach a valid invoice to every transaction so finance can reconcile and reclaim VAT. It is the highest-frequency action in the whole platform.
But receipts don't arrive in one place or one format. They pile up in a wallet, a desk drawer, a laptop bag, the phone gallery, the browser's downloads folder, and a dozen "your invoice is attached" emails. The intent to "handle it later" is nearly universal and later means the end of the month, when the cardholder is suddenly hunting for the date, merchant, and amount of each scrap, finding the matching transaction, and uploading it one by one.
I lived this myself during a field trip to Dubai: a week of expenses became a small mountain of paper, and filing it took the better part of an evening. That personal friction became the seed of the research.
In Alaan, everyone with a card is a cardholder - spenders, admins, accountants, team leads. Whatever else their role is, they all inherit the same obligation: attach a valid invoice to every transaction so finance can reconcile and reclaim VAT. It is the highest-frequency action in the whole platform.
But receipts don't arrive in one place or one format. They pile up in a wallet, a desk drawer, a laptop bag, the phone gallery, the browser's downloads folder, and a dozen "your invoice is attached" emails. The intent to "handle it later" is nearly universal and later means the end of the month, when the cardholder is suddenly hunting for the date, merchant, and amount of each scrap, finding the matching transaction, and uploading it one by one.
I lived this myself during a field trip to Dubai: a week of expenses became a small mountain of paper, and filing it took the better part of an evening. That personal friction became the seed of the research.

The "before" reality
Procrastination
Procrastination
"Every week I think I'll do it tomorrow. Before I know it, I'm sitting with a pile of receipts.”
"Every week I think I'll do it tomorrow. Before I know it, I'm sitting with a pile of receipts.”
Fragmentation
Fragmentation
“I love my Alaan card. I hate the Saturday morning ritual of logging into six portals just to find last week's invoices.”
“I love my Alaan card. I hate the Saturday morning ritual of logging into six portals just to find last week's invoices.”
Retrieval
Retrieval
“Uploading the receipt takes seconds. Finding it again takes forever."
“Uploading the receipt takes seconds. Finding it again takes forever."
RESEARCH & VALIDATION
RESEARCH & VALIDATION
I triangulated the pain instead of
trusting one signal.
I triangulated the pain instead of trusting one signal.
A personal anecdote is a hypothesis, not evidence. To confirm that submission was the friction worth solving, I combined four research methods, a mix of qualitative and quantitative, each answering a different question:
A personal anecdote is a hypothesis, not evidence. To confirm that submission was the friction worth solving, I combined four research methods, a mix of qualitative and quantitative, each answering a different question:
01
01
User interviews
User interviews
With cardholders across roles and geographies surfacing why receipts get deferred and where the month-end scramble breaks down.
With cardholders across roles and geographies surfacing why receipts get deferred and where the month-end scramble breaks down.
02
02
Hotjar session replays
Hotjar replays
Watching real submission sessions the tab-switching, the searching, the abandoned uploads to see the friction rather than hear about it.
Watching real submission sessions the tab-switching, the searching, the abandoned uploads to see the friction rather than hear about it.
03
03
Mixpanel funnels
Mixpanel funnels
Quantifying the drop-off between a transaction posting and its invoice being attached, and how long that gap stretched.
Quantifying the drop-off between a transaction posting and its invoice being attached, and how long that gap stretched.
04
04
Support ticket analysis
Support ticket analysis
Reading the "how do I attach receipts in bulk / why is this so slow" tickets that revealed the same story at scale.
Reading the "how do I attach receipts in bulk / why is this so slow" tickets that revealed the same story at scale.
Research Report
Research Report

What the research actually told me
What the research actually told me
The insight that reframed the project: the work isn't just the uploading, it's the collecting and matching. People weren't slow because the upload button was hard to find; they were slow because they had to gather receipts from six sources and manually pair each one to a transaction weeks after the fact. Improving the upload UI would have polished the wrong step.
The insight that reframed the project: the work isn't just the uploading, it's the collecting and matching. People weren't slow because the upload button was hard to find; they were slow because they had to gather receipts from six sources and manually pair each one to a transaction weeks after the fact. Improving the upload UI would have polished the wrong step.
Receipts are distributed by default - no single inbox holds them, so any solution has to reach into their real sources.
Receipts are distributed by default - no single inbox holds them, so any solution has to reach into their real sources.
The task is deferred, then batched - a real-time reminder loses to "later," so the fix must work retroactively.
The task is deferred, then batched - a real-time reminder loses to "later," so the fix must work retroactively.
Matching is the cognitive tax, not typing - the merchant, date, and amount already exist on both sides; a human is just doing lookup a machine can do.
Matching is the cognitive tax, not typing - the merchant, date, and amount already exist on both sides; a human is just doing lookup a machine can do.
It affects every persona - so the ROI of automating it compounds across the entire base
It affects every persona - so the ROI of automating it compounds across the entire base
THE REFEAME
THE REFEAME
How might we get the right invoice attached to the right transaction,
without the cardholder collecting, hunting, or matching anything?
How might we get the right invoice attached to the right transaction, without the cardholder collecting, hunting, or matching anything?
SOLUTION STRATEGY
SOLUTION STRATEGY
Don't make the chore faster.
Remove the human from it.
Don't make the chore faster.
Remove the human from it.
The strategy was a deliberate ladder of automation, shipped in phases. Each phase removes another step that used to require a person — and each is a complete product on its own, so value shipped early instead of waiting for the fully autonomous end-state. This is the signature idea of the whole project: from six manual steps to zero.
The strategy was a deliberate ladder of automation, shipped in phases. Each phase removes another step that used to require a person — and each is a complete product on its own, so value shipped early instead of waiting for the fully autonomous end-state. This is the signature idea of the whole project: from six manual steps to zero.




Baseline
Manual
Collect
Find txn
Upload Receipt
Fill details
Submit
6 human steps
Phase 1
Alaan Drop
Bulk Drop multiple
Auto match
OCR
Auto-submit
2 human steps
Phase 2
Merchant Agent
Log in once
Agent fetches
Auto match
OCR
Auto-submit
1 setup, 0 recurring
Phase 3
Gmail Agent
Grant once
Agent fetches
Auto match
OCR
Auto-submit
0 recurring steps
Why this sequence, in this order
Why this sequence, in this order
Phase 1 (Alaan Drop) attacks the batching behaviour people already have, they hoard receipts, so let them dump the whole pile at once and have AI do the matching. It's the fastest path to relief and it earns trust in the matching engine.
Phase 2 (Merchant Agent) goes to the source: a browser extension that reads invoices straight off merchant billing pages, so there's nothing to photograph.
Phase 3 (Gmail Agent) casts the widest net: most invoices ultimately land in email, so an agent that fetches them there catches what the first two miss. Each phase widens coverage while narrowing human effort.
Phase 1 (Alaan Drop) attacks the batching behaviour people already have, they hoard receipts, so let them dump the whole pile at once and have AI do the matching. It's the fastest path to relief and it earns trust in the matching engine.
Phase 2 (Merchant Agent) goes to the source: a browser extension that reads invoices straight off merchant billing pages, so there's nothing to photograph.
Phase 3 (Gmail Agent) casts the widest net: most invoices ultimately land in email, so an agent that fetches them there catches what the first two miss. Each phase widens coverage while narrowing human effort.

DESIGN & RATIONALE
DESIGN & RATIONALE
Three products, one promise:
The invoice ends up in the right place by itself
Three products, one promise: The invoice ends up in the right place by itself
Phase 1: Alaan Drop
Phase 1: Alaan Drop
A single drag-and-drop surface built for the batch behaviour. The cardholder multi-selects an entire month of receipt photos or PDFs and drops them in one gesture. Behind it, the AI detects each distinct receipt, runs OCR to read merchant, date, and amount, auto-matches each to an open transaction, and auto-submits anything with a confident match and all mandatory fields present. The human's job shrinks to "empty the shoebox."
A single drag-and-drop surface built for the batch behaviour. The cardholder multi-selects an entire month of receipt photos or PDFs and drops them in one gesture. Behind it, the AI detects each distinct receipt, runs OCR to read merchant, date, and amount, auto-matches each to an open transaction, and auto-submits anything with a confident match and all mandatory fields present. The human's job shrinks to "empty the shoebox."
Phase 2: Invoice Collector Agent, on merchant sites
Phase 2: Invoice Collector Agent, on merchant sites
A Chrome extension “Alaan Invoice Collector Agent” that the user installs once and logs into each of their high-frequency merchants once. From then on, the agent runs on the merchant's own billing pages, reads the invoices already sitting in the account, and pipes them back into Alaan to be matched and submitted. There is nothing to photograph and nothing to remember. In the app, each merchant gets a simple Fetch control and a live Fetching… state.
A Chrome extension “Alaan Invoice Collector Agent” that the user installs once and logs into each of their high-frequency merchants once. From then on, the agent runs on the merchant's own billing pages, reads the invoices already sitting in the account, and pipes them back into Alaan to be matched and submitted. There is nothing to photograph and nothing to remember. In the app, each merchant gets a simple Fetch control and a live Fetching… state.
Flow: Chrome Extension not Installed
Flow: Chrome Extension Installed
Phase 3: Invoice Collector Agent, from Gmail
Phase 3: Invoice Collector Agent, from Gmail
The widest net. With a one-time, revocable permission, the agent scans the inbox only for invoices from merchants the user selects, fetches them, and runs them through the same match-and-submit pipeline. Most receipts eventually arrive as "your invoice is attached" emails, so this phase catches the long tail the first two phases can't reach. The fetch runs merchant-by-merchant with clear Fetching / Waiting states and a permanent "Privacy First we only fetch invoices, nothing else is accessed" reassurance.
The widest net. With a one-time, revocable permission, the agent scans the inbox only for invoices from merchants the user selects, fetches them, and runs them through the same match-and-submit pipeline. Most receipts eventually arrive as "your invoice is attached" emails, so this phase catches the long tail the first two phases can't reach. The fetch runs merchant-by-merchant with clear Fetching / Waiting states and a permanent "Privacy First we only fetch invoices, nothing else is accessed" reassurance.
Spender App
Spender App
Spenders live in the mobile app, so Alaan Drop shipped on mobile first as a hero feature: snap, multi-select, drop, done! and it's one of the most-loved things in the product. The natural next step is bringing the agent itself to mobile, plus deepening the pipeline:
Spenders live in the mobile app, so Alaan Drop shipped on mobile first as a hero feature: snap, multi-select, drop, done! and it's one of the most-loved things in the product. The natural next step is bringing the agent itself to mobile, plus deepening the pipeline:
Agent-grade collection on mobile (email + merchant connectors in-app).
Agent-grade collection on mobile (email + merchant connectors in-app).
Proactive nudges: "we found 12 invoices - submit all?" straight from a push.
Proactive nudges: "we found 12 invoices - submit all?" straight from a push.
Expanding the merchant catalogue well beyond the current 200+.
Expanding the merchant catalogue well beyond the current 200+.
Closing the loop with reconciliation and VAT so a submitted invoice flows all the way to the books.
Closing the loop with reconciliation and VAT so a submitted invoice flows all the way to the books.
Designing for Trust
Designing for Trust
An agent that touches your merchant logins and inbox has to earn its way in. This was the hardest and most interesting design problem, and the one most relevant to a fintech audience. The moment you ask to run on a payment portal or read a mailbox, the burden of proof flips to you. My principle: make the trust model a visible part of the interface, not a paragraph in the privacy policy.
An agent that touches your merchant logins and inbox has to earn its way in. This was the hardest and most interesting design problem, and the one most relevant to a fintech audience. The moment you ask to run on a payment portal or read a mailbox, the burden of proof flips to you. My principle: make the trust model a visible part of the interface, not a paragraph in the privacy policy.
No passwords stored - The store listing and install screen lead with "No Passwords Saved" the reassurance is the first thing you read, not the last.
No passwords stored - The store listing and install screen lead with "No Passwords Saved" the reassurance is the first thing you read, not the last.
Scoped consent - Gmail access is limited to invoices from merchants the user explicitly selects. Never "read all mail."
Scoped consent - Gmail access is limited to invoices from merchants the user explicitly selects. Never "read all mail."
Visible work - The agent shows a live "Working…" / "Fetching…" state you can watch or stop, no silent background reach.
Visible work - The agent shows a live "Working…" / "Fetching…" state you can watch or stop, no silent background reach.
Honest matching - Only confident matches auto-submit; the rest are surfaced for review. The system never quietly guesses on your money.
Honest matching - Only confident matches auto-submit; the rest are surfaced for review. The system never quietly guesses on your money.
Revocable, always - Every connection can be turned off, and the "Privacy First, we only fetch invoices" line is pinned through the entire fetch.
Revocable, always - Every connection can be turned off, and the "Privacy First, we only fetch invoices" line is pinned through the entire fetch.
EDGE CASES & ITERATIONS
EDGE CASES & ITERATIONS
The happy path is the trailer.
The real work is everything that can go sideways.
The happy path is the trailer.
The real work is everything that can go sideways.
The demos show the clean flow. Most of the design effort went into the states around it because an automation people can't trust in the messy cases is an automation they'll switch off. Each of these got its own flow, copy, and recovery path:
The demos show the clean flow. Most of the design effort went into the states around it because an automation people can't trust in the messy cases is an automation they'll switch off. Each of these got its own flow, copy, and recovery path:
Extension not installed
Extension not installed
Extension not installed
Ambiguous / low-confidence match
Ambiguous / low-confidence match
Ambiguous / low-confidence match
Failed OCR extraction
Manual override & re-match
Failed OCR extraction
Manual override & re-match
Failed OCR extraction
Manual override & re-match
Unsupported merchant
Duplicate invoice detection
Multiple receipts → one transaction
Multiple receipts → one txns
Multiple receipts → one transaction
One receipt → multiple transactions
One receipt → multiple txns
One receipt → multiple transactions
Empty States
Duplicate invoice detection
Unsupported merchant
Duplicate invoice detection
Unsupported merchant
Merchant login expired / re-auth
Merchant login expired / re-auth
Merchant login expired / re-auth
Gmail permission revoked
Gmail permission revoked
Gmail permission revoked
Partial fetch / retry
No matching transaction found
Partial fetch / retry
No matching transaction found
Partial fetch / retry
No matching transaction found
Missing mandatory fields
Missing mandatory fields
Missing mandatory fields
Partial fetch / retry
Partial fetch / retry
Empty states
Empty states

What changed across iterations
What changed across iterations
Early versions auto-submitted anything the model matched. Testing made it obvious that a single confidently-wrong submission cost more trust than ten "please confirm" prompts saved.
So the model shifted to a confidence threshold with a visible review lane, the system does everything it's sure about and is candid about the rest.
The compact in-app modal and the full-screen collector console also emerged from iteration: quick nudges belong inline, but managing many merchants and sources needs a dedicated surface.
Early versions auto-submitted anything the model matched. Testing made it obvious that a single confidently-wrong submission cost more trust than ten "please confirm" prompts saved.
So the model shifted to a confidence threshold with a visible review lane, the system does everything it's sure about and is candid about the rest.
The compact in-app modal and the full-screen collector console also emerged from iteration: quick nudges belong inline, but managing many merchants and sources needs a dedicated surface.
IMPACT & OUTCOMES
IMPACT & OUTCOMES
From chore,
to background hum.
From chore,
to background hum.




Manual Baseline
14 min / week
After Phase 1
Alaan Drop
4.8 min / week
After Phase 2
Merchant Agent
2.0 min / week
After Phase 3
Gmail Agent
< 1 min / week
Support deflection
Fewer "how do I submit in bulk" tickets as the flow becomes self-evident.
Data completeness
More complete invoice coverage → higher VAT reclaim and cleaner books downstream.
Submission rate
Submission rate
Modeled lift from ~61% to ~92% on-time submission as collection moves from manual to agent-driven.
Modeled lift from ~61% to ~92% on-time submission as collection moves from manual to agent-driven.
Time saved
Time saved
~4 hrs/month of month-end reconciliation per active cardholder collapses toward zero.
~4 hrs/month of month-end reconciliation per active cardholder collapses toward zero.
Support deflection
Fewer "how do I submit in bulk" tickets as the flow becomes self-evident.
Data completeness
More complete invoice coverage → higher VAT reclaim and cleaner books downstream.
Support deflection
Fewer "how do I submit in bulk" tickets as the flow becomes self-evident.
Data completeness
More complete invoice coverage → higher VAT reclaim and cleaner books downstream.
"I set it up once and now I genuinely don't think about receipts.
It's the first expense tool that does the boring part for me."
"I set it up once and now I genuinely don't think about receipts. It's the first expense tool that does the boring part for me."
"I set it up once and now I genuinely don't think about receipts. It's the first expense tool that does the boring part for me."
~ Representative user sentiment
REFLECTION
“Designing for automation is a shift from control to trust.
The ladder let us ship value with each rung, while quietly earning permission to run unattended by the last one.”
“Designing for automation is a shift from control to trust.
The ladder let us ship value with each rung, while quietly earning permission to run unattended by the last one.”
The hardest problem wasn't OCR, matching, or the extension architecture. It was designing an interface for something the user is meant to stop paying attention to. The signature move: honest, visible confidence - is what made the invisible end-state acceptable.
The north star for fintech UX isn't a prettier form. It's making financial admin disappear, so the invoice files itself and the person gets their evening back.
The hardest problem wasn't OCR, matching, or the extension architecture. It was designing an interface for something the user is meant to stop paying attention to. The signature move: honest, visible confidence - is what made the invisible end-state acceptable.
The north star for fintech UX isn't a prettier form. It's making financial admin disappear, so the invoice files itself and the person gets their evening back.
That's a wrap. Thank you
OTHER CASE STUDIES





































