Now

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

Instant Navigations

Release
v2026.8.2
7improved
3fixed

Most of reconciling is clicking

Working through a month is a long run of small hops. You open the inbox, check a receipt against its transaction, go back, open the next one, and keep going until the pile is gone. Expensicat used to make you wait at both ends of every one of those hops, because going back reloaded the page as surely as going forward did. The structure of each page now lives in your browser, so it paints on the click and only the data arrives late. This covers the dashboard. Signing in, onboarding, and the customer portal still load the way they always did.

You can start before it finishes

The header and filter bar arrive with the page rather than after it. So if you opened Transactions to find one Namecheap charge, you can type it while the rows are still loading, rather than watching a full table paint that you were about to narrow to one line anyway. Underneath, the loading state is built from the real table with the same columns and row heights, so rows swap into place instead of shoving the page around as they arrive.

Where you left off

Going back no longer rebuilds the page from scratch. You return to the spot you were scrolled to, with whatever you had half typed still in the box. Filters and open panels live in the URL and already survived a back button, what changed is that they come back without the page reassembling itself first.

  • NavigationThe page is on screen when you click it. Working down the inbox, or going from a receipt to its transaction and back, no longer costs you a wait at every hop.
  • NavigationSearch and filters are ready before the table is, so you can type the vendor you came to find instead of waiting for a full list you were about to narrow anyway.
  • NavigationGoing back no longer rebuilds the page. You land where you were scrolled to, with anything you had typed still typed.
  • NavigationThe loading state is the shape of the real table now, so rows appear in place instead of the page resizing under your cursor as they land.
  • BankingYou can remove a bank connection. There was no way to before, so an account you had stopped using kept syncing and kept emailing you to renew it.
  • BankingRemoving every account under a connection used to hide it from you while it carried on syncing and sending renewal reminders in the background. It now stays on screen until you remove it.
  • MatchingReceipts match when the vendor bills under a name your statement doesn't use, like a Meta invoice against a FACEBK charge. Those were the ones landing back on your desk by hand every month.
  • InvoicesShare links in invoice, credit note, and quote emails open again, including the ones already sitting in your customers' inboxes.
  • DocumentsFile uploads work again.
  • BankingA newly connected account no longer shows as imported until you reload.

Invoices That Arrive

Release
v2026.8.1
6improved

Set up in one place, checked before it leaves

E-invoicing is switched on from Settings, under Integrations, one business at a time. Turn it on for the businesses that need it and everything follows from there. Issuing then checks the invoice before it spends a number, so a missing customer or a field a tax authority would reject reaches you while it is still a draft you can fix.

A full history on every invoice

You can see created, issued, sent, reminder sent, viewed, paid, and how far an e-invoice submission got, each with who or what did it and when, in your time zone. Reminders and sends write to the same record, so what you read on the invoice is exactly what went out.

Sending knows the way

Send an invoice and Expensicat picks the channel for that buyer and that country. Where a government network applies, it queues the invoice for submission and you follow its progress on the invoice itself; otherwise it goes out by email with the compliant file attached. The whole flow is on the API too, including a preview of how an invoice would be delivered before you send it.

  • SetupE-invoicing is switched on from Settings, under Integrations, one business at a time. Turn it on for the businesses that need it and everything follows from that one place.
  • InvoicesIssuing validates the invoice before it spends a number, so a missing customer, an empty line, or a field a tax authority would reject comes back to you while it's still a draft.
  • InvoicesOpen any invoice and its whole history is there. Created, issued, sent, reminder sent, viewed, paid, and how far its e-invoice submission got, each with who or what did it and when, in your time zone.
  • SendingSending picks the channel for the buyer and the country. Where a government network applies, Expensicat queues the invoice for submission and its progress (submitted, accepted, rejected) shows on the invoice; otherwise it goes by email with the compliant file attached.
  • Credit NotesCredit notes travel the same way as invoices, on the same channels with the same tracking.
  • RemindersReminders are part of the same send history, so what you see on the invoice is exactly what went out.
  • InvoicesSend an invoice or credit note over the API and get the outcome back, either delivered by email or queued on a government rail with a transmission you can poll.
  • InvoicesAsk how an invoice would be delivered before you send it.
  • InvoicesList an invoice's transmissions and where each one stands.
  • BusinessesSet the electronic address a business receives on, and create, update, or deactivate its tax registrations, over the API.
  • CustomersSet customer routing over the API, including their electronic address, country specifics like an Italian recipient code or PEC address and a German Leitweg-ID, and a preferred delivery channel.

Expensicat Agents

Release
v2026.7.1
8new
2improved

Your books, worked in the background

As transactions sync and documents arrive, Expensicat categorizes, matches, and reconciles without being asked. The confident routine is handled; only the genuinely ambiguous reaches you, as a suggestion with the reasoning attached, never as a silent change. Approve one, approve all twelve, or correct it in one gesture.

Questions, wherever you are

When Expensicat truly can't know whether a charge was business or personal, it asks, once, with tap-to-answer options in the app and on WhatsApp. Your answer resolves it on the spot and teaches it for next time. If you handle something yourself first, the suggestion quietly gets out of your way.

Everything explained, everything undoable

Open any transaction and the activity is right there: what was decided, by what (Expensicat, a rule, or you), and why. Anything applied automatically can be undone in one tap. Nothing sends, nothing files, and no money moves without you.

Availability

Expensicat Agents are rolling out to early-access workspaces now. Agent work counts toward the same monthly usage allowance included in every plan: stay within it and there's nothing extra to pay; go past it and you're only charged for what you actually use. Everything starts as a suggestion, and acting on its own is something Expensicat earns, per task, with your explicit say-so. Talk to us if you want in early.

  • TransactionsExpensicat categorizes synced transactions and matches receipts and invoices to bank transactions in the background, with the reasoning attached to every suggestion.
  • QuestionsWhen something genuinely needs your judgment, Expensicat asks a one-tap question like "Is this €17.44 Resend charge business infrastructure?" in the app or on WhatsApp.
  • ReceiptsMissing receipts get chased for you. High-value expenses get a same-day nudge, the rest are batched politely; reply with a photo on WhatsApp and it's filed, matched, and confirmed.
  • SubscriptionsExpensicat watches your recurring vendors and flags duplicate charges and price creep, with the evidence, before they quietly add up.
  • TaxFor Italian flat-rate (forfettario) businesses, Expensicat keeps a running "set aside this much" estimate as income lands, and warns as you approach the €85k ceiling.
  • ReviewSuggestions surface as pills on transactions, a Suggested filter with batch approve, and the review queue on your homepage.
  • ReviewEverything Expensicat does is recorded on the transaction itself with its reasoning, and anything applied can be undone in one tap.
  • LearningYour corrections become policy. Fix a category three times and it becomes a rule; answer a question once and Expensicat remembers.
  • MatchingAmbiguous matches now come to you as suggestions with reasoning instead of being silently auto-matched. The wrong-match class that eroded trust is gone.
  • InboxPer-entry match notifications are replaced by a single digest when Expensicat finishes a pass. One summary instead of a ping per receipt.

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 and 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, with no export and no email thread.

  • PortalEvery customer gets their own branded portal with 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, so there's 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, with 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", so there's 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 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, including software, travel, meals, contractors, and taxes, grouped so the right one is easy to find.
  • CategoriesStay broad or get specific. "Travel" sits 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.
  • CategoriesAdd your own categories, tuck them under any group, and rename or recolor anything.
  • MigrationEverything you'd already categorized carried over on its own, with no re-tagging and 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, with no steps to retrace. 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 times 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 rather than 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, like 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 by adding columns, filtering, or repackaging, 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 and never broader 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 and 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. There are no tiers to jump and 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. You get a monthly allowance and no card is 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.