Ownware
Guide · Aug 4, 2026

Every "Self-Hosted Expense" List Recommends a Personal Budgeting App. Here Is Why That Is Wrong.

Search self-hosted expense software and you get Firefly III, Actual Budget and ExpenseOwl — all personal finance tools. Businesses need claims, approvals and reimbursement. That is a different product, and the category barely acknowledges it.

Search for self-hosted expense software and you will be handed a personal budgeting app.

We ran that search on 1 August 2026. The recommendations were Firefly III (double-entry personal finance), Actual Budget (envelope budgeting), ExpenseOwl ("extremely simple… single-user focused, mainly for home lab deployment"), HomeBank and Fava/Beancount. The summary's own advice ladder ended like this:

"For personal use with double-entry rigor, go with Firefly III; for envelope budgeting, Actual Budget; for dead-simple tracking, ExpenseOwl; for company reimbursement workflows with approvals, look at SelfSpend."

Exactly one named option out of six does the thing a business needs. A small company searching this query is being handed software designed to manage one person's household accounts.

That is not the search engine's fault. It is a real gap in the category — and it exists because "expense tracking" and "expense claims" are different products, and only one of them has a healthy self-hosted ecosystem.

The two products

Expense tracking answers: where did my money go? One person, one set of accounts, categories and a budget. Firefly III is genuinely excellent at this and it is free.

Expense claims answer a different question entirely: an employee spent their own money, and the company owes them. That is a workflow, not a ledger:

  1. An employee submits a claim with receipts.
  2. Somebody approves or rejects it — often with a threshold, so small claims skip a step.
  3. Finance reimburses it and marks it paid.
  4. There is a record of who approved what, and when.

A personal finance app models none of that. It has no concept of a claimant, an approver, or a claim that has been paid. You cannot bolt an approval workflow onto a budgeting tool by trying harder.

What the hosted claims products cost

Both tracked vendors publish prices, and both charge per person.

Expensify — from use.expensify.com (read 2026-07-05):

"The Collect workspace is now a flat $5/member/mo — with no annual commitment"

Zoho Expense — from zoho.com/us/expense/pricing (read 2026-07-05):

Standard: $4 per user per month billed monthly, $3 per user per month billed annually.

(That figure was read out of the page's own embedded pricing data — standardPlan:{monthlyPrice:"4",yearlyPrice:"3"} — and it renders as $4/user/mo.)

The three-year arithmetic:

TeamExpensify $5Zoho $4 monthlyZoho $3 annual
10 people$1,800$1,440$1,080
20 people$3,600$2,880$2,160
50 people$9,000$7,200$5,400

*Note the pricing unit carefully: Expensify's is per member, not per claimant. A workspace member who submits two receipts a year costs the same as one who submits forty. In most companies the number of people who occasionally expense a train ticket is far larger than the number who expense regularly* — and per-member pricing bills the whole list.

The self-hosted claims option

Expensa is self-hosted expense report software with batch receipt extraction. $49.00, one time (product page, read 2026-08-01).

Its distinguishing decision is one worth understanding before anything else, because it is unusual:

"Is my API key safe?""Your key is stored in your database on your own server and is transmitted only in the outbound HTTPS request you trigger to your chosen LLM provider. It is never logged, echoed, or passed through any Expensa infrastructure."

The receipt-reading AI runs on your own API key, calling your chosen provider directly. You pay the model provider for what you use; nobody sits in the middle marking it up. And:

"What if OpenAI changes its pricing or API?""You can switch providers in Settings in under a minute. OpenAI, Anthropic, and Ollama are all supported, including running Ollama locally with no ongoing API cost."

That last clause is the part that matters structurally. With Ollama running locally, receipt extraction has no per-document cost and no third party sees the receipts at all — which for expense claims (hotel bills, client dinners, medical receipts) is a genuine privacy position rather than a marketing one.

And the running-cost claim is hedged honestly rather than sold:

"Your LLM usage cost depends on your provider and model; at time of writing, GPT-4o-mini reads a typical receipt image for a fraction of a cent, but verify current pricing with your provider before estimating."

A vendor telling you to go check their cost claim against the source is doing the right thing. We have quoted it rather than converting it into a number of our own.

One more detail that reveals whether a tool was built by someone who has done this job:

"Can it handle receipts in different currencies?""Yes. Expensa keeps a separate total per currency and never adds USD and EUR (or any two currencies) into one misleading number."

Anyone who has reconciled a European trip in a tool that silently summed three currencies will recognise why that sentence is there.

Where the hosted products are genuinely better

Corporate cards. Expensify's real product is the card — spend captured at the point of swipe, no claim submitted at all. If you issue company cards, that is a categorically better workflow than any claims system and this comparison does not reach it.

Direct reimbursement. Hosted platforms can pay the employee. Expensa does not move money; you export and pay through whatever you already use. For a large team, that manual step is a real cost.

Accounting integration. Zoho Expense inside a Zoho stack, or Expensify into your ledger, posts automatically. Self-hosted means a manual journal.

Mobile receipt capture in the wild. A phone app that photographs a receipt at the restaurant table is the killer feature of this category, and a self-hosted PHP tool does not match a funded mobile team.

If two or more of those four matter to you, buy the subscription. They are the reason the subscription exists.

Who should self-host expense claims

Yes if: fewer than about twenty claimants, reimbursement happens through your existing payroll or bank transfer anyway, the receipts are commercially sensitive, and your current process is an email with photos attached — which, for a very large number of small businesses, it is.

The realistic comparison is not Expensify. It is a shared mailbox and a spreadsheet. Against that, a submit-approve-reimburse workflow with structured records and per-currency totals is a large improvement for one payment.

No if: you issue corporate cards, you need in-app reimbursement, you have more than ~50 claimants, or you need audit-grade approval controls for a regulator.

The honest costs

No money movement. Expensa records and approves; paying the employee is a step you do elsewhere.

Backups are the claim history. Approved-and-paid claims are a financial record with a retention period. Losing them is not an inconvenience.

You hold the receipts. Self-hosting means hotel bills and client dinners live on your server. That is the privacy advantage and the breach exposure — the same fact, viewed twice.

Hosting. "PHP 8+ with pdo, curl, and fileinfo — extensions present on virtually all cPanel/Plesk hosts." For a concrete number from a named provider: Hetzner's own pricing — machine-read from the price API behind their pricing pages on 10 Aug 2026 — lists web-hosting plans from €1.60 to €16.72 a month and entry cloud servers from €3.99 a month (prices as returned for their German datacenters; confirm current pricing and VAT treatment at checkout). Any comparable host works — the point is that the "own" side of this comparison costs single-digit euros a month.

The short version

The self-hosted expense category is full of excellent tools that solve a different problem — one person's budget, not a company's reimbursements. Firefly III is not a claims system and was never trying to be.

If what you need is submit → approve → reimburse, the hosted options are $1,080 to $9,000 over three years depending on headcount and vendor, priced per member whether they claim or not.

The self-hosted option is $49 once, runs receipt extraction on your own API key — or entirely locally with Ollama, at no per-document cost and with nobody else seeing the receipts — and does not move money.

Check which product you are actually shopping for before you compare prices. Most people in this category are comparing across the gap without noticing it.


Next steps

Expensify and Zoho Expense prices are quoted from the vendors' own pages with the dates read. LLM running costs are quoted from the product page's own hedged wording rather than restated as a figure we cannot verify for your provider.

Series · Switch guides — part 7 of 23
← Snipe-IT Is Free — And It Is Not a Fixed-Asset Register. The Difference Costs People Months. Petty Cash — Why There Is No Software Market, and What Actually Replaces the Tin →
Own your tools

Stop renting your own business.

Every tool in this store is a one-time purchase: install it on your own server, keep your own data, and never see a renewal invoice.

Affiliate program
Recommend tools people own — earn 35% on every sale. 90-day tracking, instant delivery, payouts by Lemon Squeezy.
Become an affiliate →
Ownware Business tools you own.  ·  [email protected]
No spam — product launches and guides only.
Catalog · Categories · Alternatives · Guides · Price Observatory · State of Self-Hosted 2026 · Ownware Cloud · Changelog · Search · Your purchases · FAQ · Legal · Support · Press kit · Affiliates — earn 35% Powered by Deliora (self-hosted)