Now

Updates, news, and what we're working on.

Customer Portal

For your clients
A portal that's yours
NS
Northwind Studio
Customer portal
OverviewInvoicesUsage
Amount due
€2,400.00across 2 invoices
INV-0043
Due Jul 12
€1,600.00Unpaid
INV-0042
Paid Jun 28
€800.00Paid
Signed in with a one-time email code — no password to remember

A portal that's yours

Your clients now have a home for everything between you: your company details up top, every invoice you've sent them, and a single "amount due" that tells them exactly where they stand — across currencies, without the math. It carries your name and your logo, not ours.

No password to remember

There's no account to create and nothing to reset. A customer enters their email, gets a one-time code, and they're in — or they click the sign-in link straight from your email. Each session is tied to that one customer and that one portal, so they only ever see their own account.

Ready for subscriptions and usage

If you bill on a plan or by usage, the portal shows the whole picture: the current subscription, the upcoming charge with its breakdown, and live meters ticking against each allowance. Your clients can answer "what am I paying, and why?" themselves — no export, no email thread.

  • PortalEvery customer gets their own branded portal — your logo and name, their invoices, and exactly what they owe, all in one place.
  • PortalCustomers sign in with a one-time code emailed to them — no password to create and no account to manage.
  • InvoicesCustomers see every invoice with its status and amount, plus a running "amount due" that stays correct across currencies.
  • BillingFor subscription and usage-based billing, customers see their current plan, upcoming charge, and live usage right in the portal.
  • CustomersOpen any customer's portal in one click from their action menu, or share the link and let them sign themselves in.
  • SecurityEvery portal session is scoped to one customer and one portal link, so a client only ever sees their own account.

Trustworthy Matching

Release
v2026.6.9
1new
3improved

No More Lookalikes

When the right charge for a receipt was already matched to another one, Expensicat used to fall back to the next-closest transaction — which could be a completely different vendor that just happened to be a similar amount around the same date. Now it recognizes the receipt is already covered and stops there, so a lookalike charge can't quietly take the real one's place.

The Right Match, First

When several transactions look close, a sharper ranking step weighs the name, amount, date, and currency together and floats the genuinely correct one to the top. The clearer the pair, the more confidently it matches on its own — and the close calls still land in front of you to confirm.

Quiet When It Counts

If nothing is a confident fit, Expensicat now shows no suggestion rather than a weak guess. That means the matches you do see are worth a look — less second-guessing, and fewer wrong links to undo later.

  • InboxA receipt that lines up with a transaction already matched to another receipt now shows as "already covered" — no misleading suggestion to act on.
  • MatchingWhen the right transaction is already matched to another receipt, Expensicat no longer falls back to a lookalike charge from a different vendor that happened to be a similar amount around the same date.
  • MatchingA sharper ranking step floats the genuinely correct transaction to the top when several charges look close on amount and date.
  • MatchingWhen nothing is a confident fit, you'll see no suggestion at all — so every match Expensicat does surface is worth a look.

Smarter Categories

Categories
Cat sorts every transaction
This week's transactions
F
Figma$15.00
Sorting…
D
Delta Air Lines$420.00
Sorting…
J
Joe's Diner$48.20
Sorting…
S
Stripe$2.10
Sorting…
You just glance and confirm — change any of it in a click

Before: where did that go?

At tax time, the question is simple — where did my money actually go? The old categories couldn't really answer it. Everything landed in one of fifteen broad buckets like "Office & Utilities" or the catch-all "Other Expenses," so a client lunch, a flight, and a new laptop could all end up looking the same.

Categories that match how you work

Now there's a thoughtful category for almost everything you spend on, grouped the way you'd actually think about it. Software and subscriptions sit together, travel and meals have their own spots, and bank fees stay separate from the money you move between accounts. Keep it simple or get specific — whatever keeps your books readable to you.

Cat does the filing

You shouldn't have to sort every transaction by hand. As new ones land from your bank, Cat drops each one into the right category — you just glance and confirm, or change it in a click. Correct it once and Cat remembers.

Taxes and totals that add up

The boring-but-important stuff is handled too. Tax payments like VAT and sales tax are recognized for what they are, so the right treatment is ready when you file. And moving money between your own accounts no longer shows up as spending — so when you (or your accountant) look at the totals, they reflect the real business.

  • CategoriesThere's now a ready-made category for almost everything you spend on — software, travel, meals, contractors, taxes — grouped so the right one is easy to find.
  • CategoriesStay broad or get specific — "Travel" sits neatly under "Travel & Entertainment," so you can keep things simple or go detailed without scrolling a giant list.
  • TaxTax payments like VAT and sales tax are recognized for what they are, so the right treatment is already attached when it's time to file.
  • ReportsMoney you move between your own accounts no longer counts as a business expense, so your spending totals reflect what you actually spent.
  • MatchingCat sorts new bank transactions into the right category for you — you just glance and confirm, and it learns when you change one.
  • FiltersFilter your transactions by a whole group or zoom into a single category.
  • CategoriesMake it yours — add your own categories, tuck them under any group, and rename or recolor anything.
  • MigrationEverything you'd already categorized carried over on its own — no re-tagging, nothing lost.

Stacking Panels

Workspace
Side panels that stack
Invoice
INV-0042
Due in 14 days
€2,400
Acme Inc.
Drill in, finish, and you land right back where you were

Opening one thing used to close another

Side panels used to replace whatever you were already looking at. Worse, creating something mid-task — a new customer while building an invoice — popped open a separate window that closed your invoice underneath it. You'd finish, turn around, and your place was gone. For a tool you live in all day, that adds up to a lot of lost context.

Panels that stack

Now every panel stacks. Drill from an invoice into its customer, open a new project without leaving what you're doing, jump from a transaction to a linked receipt — each one opens on top of the last, and a breadcrumb at the top of the panel shows the exact trail you took.

Step back anytime

Click any step in the breadcrumb to jump straight there, or close the top panel to drop back to the one beneath it. Finish creating that customer and you land right back on the invoice with it already filled in — no retracing your steps. The browser back button works too, and your open panels survive a refresh.

Instant, even when you go deep

Panels load only when you actually open them, and quietly preload the moment you hover — so they appear the instant you click, no matter how much else is open. Going three panels deep feels exactly as fast as opening one.

  • PanelsSide panels now stack instead of replacing each other — open a customer while editing an invoice and it slides on top, with a breadcrumb showing how you got there.
  • PanelsCreating something no longer closes what you were doing — new customers, projects, and invoices open in the same stack, so you finish and land right back where you left off.
  • NavigationEvery panel shows a breadcrumb of your trail — click any step to jump straight back to it.
  • NavigationClosing a panel returns you to the one underneath, and the browser back button steps back through your trail.
  • PerformancePanels load the moment you open them and quietly preload as you hover, so they appear instantly without weighing down the rest of the app.

Speedy Workers

Workers
Background jobs, now self-hosted
Export inbox
100 documents
Trigger.dev
cloud pipeline
19.2s
Self-hosted
our runners
1.5s
13× faster
Powered by our own queue · BullMQ + Redis

Why we moved off Trigger.dev

We started on Trigger.dev because it let us ship background work without running our own infrastructure — a smart trade when we were small. As Expensicat grew, the operational overhead and the round-trip out to a cloud service on every single job became the slow part. So we built our own runners.

Self-hosted runners, always warm

Background jobs now run on our own queue — BullMQ on Redis — across machines that stay warm and scale up automatically when the backlog grows. There's no cold start and no hop out to a third party, so a job runs the moment it's queued. That's how exporting your inbox went from roughly 19 seconds down to about 1.5.

Faster across the board

This isn't only exports. Bank syncs, receipt and invoice imports from email, Gmail, and Outlook, recurring and scheduled invoices, document processing, and reconciliation all run on the same pipeline — so the work that used to make you wait now happens quietly in the background.

Keys that don't outlive the job

We tightened security on the way through. Instead of one long-lived key shared across every background task, each job now mints its own — tied to that single run, limited to exactly the permissions it needs, and expiring after five minutes. Even if one were ever intercepted, it would be useless almost immediately.

  • PerformanceBackground jobs now run on Expensicat's own self-hosted runners, so the work behind exports, imports, and receipt processing starts the instant it's queued.
  • PerformanceExporting your inbox is about 13× faster — what used to take around 19 seconds now finishes in roughly 1.5.
  • PerformanceBank syncs, email and Gmail/Outlook imports, recurring and scheduled invoices, and document processing all run on the new, faster pipeline.
  • ReliabilityJobs pick up immediately with no cold start, and retry on their own when something hiccups.
  • SecurityEvery job now runs with its own key, scoped to just that job and the exact permissions it needs, and it expires after five minutes.

Expensicat Exec

Export my May expenses as a zip
Sealed
1const data = await ex.fetch(q)
2const zip = new JSZip()
3zip.file('expenses.csv', csv)
4await write('/out/may.zip', zip)
network · expensicat.com only
expenses-may.zip
248 KB
Saved to Documents
Exec
Cat writes and runs code
Ran in sandbox

Beyond Cat's built-in tools

Cat's built-in actions are great for looking things up and making changes, but real finance work often needs computation, not just lookups — a bespoke export, a reworked spreadsheet, a filing summary. Expensicat Exec gives Cat a place to write its own code, run it, and produce a real file you can download and keep. When you ask to "export May as a zip" or "build a tax summary," Cat now does exactly that.

A sealed room for your data

The code Cat writes runs inside an isolated sandbox — it never touches a disk, and it can only reach your Expensicat data, nothing else on the internet. Access is short-lived and scoped to the task at hand, so a job that builds an expense export can't quietly do anything more. Numbers that matter, like tax totals, come straight from Expensicat rather than the model's own arithmetic, so the figures are consistent and auditable.

Bring your own files

You don't have to start from scratch every time. Hand Cat a document you already have — say a large CSV export — and it can reprocess it in place: add a column, filter rows, or repackage it into something new. The finished file is filed in your Documents and shows up as a download card right in the chat.

  • AssistantAsk Cat to "export this", "build me a report", or "give me a zip" and it writes the code, runs it, and hands back a finished file
  • AssistantCat can crunch large datasets — thousands of transactions or a long CSV — without bogging down the chat
  • AssistantEvery generated file lands in your Documents automatically, with a download card right in the conversation
  • AssistantHand Cat a document you already have and it can reprocess it — add columns, filter, repackage — instead of starting over
  • TaxAsk for a tax summary and Cat assembles your profit & loss and VAT totals from your real numbers
  • SecurityCat's code runs in a sealed sandbox that can only reach your Expensicat data, with short-lived access scoped to the task — never more than it needs
  • AssistantFigures like tax totals come straight from Expensicat, not the model's own math, so they're consistent and auditable

Usage-Based Pricing

Release
v2026.6.5
6new
2improved

Free during the beta

While we're in beta, all of this is free — none of the pricing below takes effect yet. When the beta ends, we'll move every workspace into a 14-day trial automatically, so you get two weeks to explore the plans and pick the right one before anything is charged.

Pricing that follows your usage

Every plan now comes with a monthly allowance for the things that cost us to run for you — Cat's work and the documents we process. Stay within it and you pay nothing extra; go past it and you're only charged for what you actually used, counted to the document and the token. No tiers to jump, no paying for headroom you'll never touch.

Always know where you stand

A new usage dashboard in Settings → Billing shows how much of each allowance you've used this period and gives you a running estimate of the month's cost — your plan, your seats, and any usage beyond the allowance, added up. If you cross your included amount, it's flagged plainly, so the bill at renewal is never a surprise.

Start free, grow when you're ready

The Free plan is a real plan, not a countdown — a monthly allowance, no card required. When you outgrow it, Solo and Team start with a 14-day trial, and Team bills by seat with your first seats included, so your cost grows only as your team does.

Coming soon: bring your own meter

The same usage engine that meters Expensicat is built to work for your product, too. We're building toward letting you define your own meters, stream in your product's usage, and bill your own customers right on top of Expensicat — the foundation landed in this release, and the rest is on the way.

  • BillingNew Free, Solo, and Team plans, each with a monthly allowance for AI assistant usage and document processing included.
  • BillingA live usage dashboard in Settings → Billing shows exactly how much of your allowance you've used this period, with a clear flag once you go past it.
  • BillingAn estimated cost for the month, broken down into your plan, seats, and any usage beyond your allowance — so renewal day holds no surprises.
  • BillingA genuine Free plan with a monthly allowance and no card required, so you can keep working without committing.
  • BillingStart any paid plan with a 14-day free trial.
  • BillingFree while we're in beta — none of this pricing takes effect until the beta ends, and every workspace is then moved into a 14-day trial automatically, so you have time to pick a plan before anything is charged.
  • BillingTeam plans bill by seat with your first seats included, so cost only grows as your team does.
  • BillingPast your allowance you pay only for what you actually use, metered to the document and the token rather than rounded up to the next tier.
  • APICreating an invoice now accepts an idempotency key, so a retried request never creates a duplicate.

Sharper Matching

Release
v2026.6.4
2new
3improved
1fixed

Matching That Learns From You

Every match you confirm or reject teaches Expensicat what's right for your team. A vendor now auto-matches on its own only after you've confirmed it enough times, so the matches that need a human eye stay in front of you and the wrong ones drop away. Suggestions weigh the name, amount, date, and currency together — and tune to your own history — for more accurate pairings the more you use them.

Close Calls, Surfaced — Not Guessed

When two transactions look almost equally likely, Expensicat no longer picks one and hopes. It puts both in front of you to choose. And when an amount and date line up perfectly but the name doesn't, a "Verify" flag appears so a lookalike charge can't quietly auto-match.

Stuck Receipts, Unstuck

If a receipt can't be processed, it used to sit in a never-ending loading state. Now it shows a clear error with a Retry button — one click reruns the whole pipeline, so a temporary hiccup is no longer a dead end.

  • MatchingWhen two transactions are a close call, Expensicat surfaces both for you to pick instead of guessing.
  • MatchingA "Verify" flag highlights pairings where the amount and date line up but the name doesn't, so a lookalike charge can't slip through.
  • MatchingAuto-match learns from the matches you confirm — a vendor matches on its own only once you've confirmed it enough times, cutting wrong auto-matches.
  • MatchingMore accurate suggestions across the board, weighing name, amount, date, and currency together and tuning to your team's own match history.
  • MatchingReject a suggested pairing once and that transaction won't come back for the same receipt.
  • InboxA receipt that can't be processed now shows a clear error with a Retry button, instead of getting stuck in a loading state.

Outlook

New
Gmail · connected
Receipt
€42.00
Invoice
€1,250
Receipt
€18.90
Expensicat
Outlook
Now importing from Microsoft 365
Outlook connected

Outlook, Meet Your Vault

Expensicat already pulls receipts and invoices from Gmail — now Outlook and Microsoft 365 inboxes do the same. Connect your account once and new documents flow straight into your inbox, ready to match and approve.

Sign In and You're Set

Connect securely with your Microsoft account and import runs quietly in the background — no forwarding rules, no manual uploads. Everything Gmail import does, Outlook now does too.

Right From Onboarding

New to Expensicat? Choose Outlook the moment you set up, so your vault starts filling from day one. Already onboarded? Add it anytime from Settings → Integrations.

  • IntegrationConnect Outlook or any Microsoft 365 mailbox and Expensicat imports receipts and invoices automatically
  • OnboardingPick Outlook during setup, right alongside Gmail
  • IntegrationManage every connected mailbox — Gmail and Outlook — from Settings → Integrations

Review Queue & Smarter Search

Release
v2026.6.2
1new
3improved
3fixed

Clear approvals from your dashboard

The new Review Queue widget brings inbox items awaiting a decision right to your homepage. See how many are waiting, preview the document on hover, and approve or reject inline — no trip to the approvals page. It's opt-in, so add it from Customize whenever you want it.

Search got sharper

Yesterday's command palette put every part of your workspace one keystroke away — now the results themselves are smarter. A typo or a missing accent won't hide the record you're after, and something close in meaning still surfaces even when the exact words don't match. Deleted inbox items stay out of your results, too.

A calmer chat with Cat

Conversations name themselves as you go, so your history is easy to scan later. And if a reply ever gets cut off, Cat shows a clear message with a Retry button instead of leaving you stuck on a blank bubble.

  • DashboardA Review Queue widget puts inbox items awaiting approval on your homepage — preview the document and approve or reject inline, without opening the approvals page.
  • SearchSearch is more forgiving — a typo or a missing accent no longer hides what you're after, and results are ranked by how well they match rather than just whether the text lines up exactly.
  • SearchSearch now understands meaning, not just exact words, so a record that's close in intent still surfaces even when the wording doesn't match.
  • AssistantConversations with Cat name themselves automatically as you chat, so your history stays easy to scan.
  • AssistantIf a reply from Cat gets interrupted, you now get a clear message with a Retry button instead of a stuck, blank bubble.
  • SearchDeleted inbox items no longer show up in search results or the attachment picker.
  • BankingConnecting an imported bank account no longer fails with a sign-in error.