AI document toolsv4.1.0

Expensa

Staff photograph receipts, a model on your own AI key reads them, and you approve the report.

For teams and bookkeepers who turn receipts into reports. Often replaces Rydoo, Fyle, Expensify or Zoho Expense.

Single license $89 · Extended license $199 · paid once, yours for good

Try the live demoNo sign-up. The demo resets itself, so click anything.

What it does

Staff claim, you approve

Give staff the claimant role. They photograph receipts, add mileage and per diem, and see only their own reports. Approving stays with you.

Bring your own AI key

Your own OpenAI, Anthropic or Ollama key reads each receipt. It takes vendor, date, amount, currency, tax and payment method. With Ollama, receipts never leave your server.

Fifty receipts at once

Upload up to 50 receipts at once, or photograph them one after another on your phone.

Your spending limits

Set a limit per category, per line or per day. Lines over it are flagged with the reason. Lines within it approve in one click.

Mileage and per diem

Add a journey as distance times your rate, or a trip as days times your day rate. Each line waits for approval.

Mark it paid

Once every line is approved, record the date and reference of the payment. The claimant can be told by email from your own server.

Claims without a login

Off until you switch it on. Someone with no account sends receipts through a private link. Each claim waits for your review.

Currencies never mixed

Amounts in different currencies are never summed together. Each currency keeps its own subtotal and total.

Bring your expenses over

Import expense lines from the app you use now as a CSV. A dry run shows what will be imported, and why anything will not, first.

Accountant-ready exports

A clean CSV and a PDF summary with per-category and per-currency totals, or QuickBooks and Xero bank-CSV files.

Tell the claimant

When a report is reviewed, the claimant can get one email. It says plainly that reviewed is not paid. Off by default, through your own SMTP.

Connect your own agent

Connect your own agent (MCP + API) to the same reports, under the same roles as people.

Also: duplicates flagged across reports, a PDF report, a receipts ZIP, editable categories, home-screen install, 2FA and backups.

Is it right for you?

What Expensa deliberately doesn’t do.

  • No API connection to accounting software — named CSV presets (QuickBooks, Xero) you upload yourself.
  • Not accounting software: it turns receipts into a reviewed, exportable expense report — no ledger, no filing.
  • No OCR of our own: bring your own vision model; every figure is human-approved before it counts.
  • Single-tenant: one business per installation, with teammates as viewer, claimant, member or admin — run one per client if you are a bookkeeper.
  • Email (yours and the claimant's) goes through your own SMTP; claimant email ships off until you enable it.

What renting costs instead

RydooEssentials $9 per user/month billed annually, $12 billed monthly; Pro $11 annually, $14 monthly; "starting at 5 users." The same page prices the same plans in euros and in pounds, and the upper tier is custom-priced

2 months of Rydoo costs what Expensa costs once.

Read Sep 3, 2026 · source
FyleGrowth $11.99 per active user/month billed annually, "minimum billing: 5 users"; Business $14.99 per active user/month, "minimum billing: 10 users"; Enterprise custom. An "active user" is defined by the vendor as one who files an expense or has a card connected

2 months of Fyle costs what Expensa costs once.

Read Sep 3, 2026 · source
ExpensifyCollect plan: $5/member/month, flat (the post also lists GBP 5, AUD 8 and NZD 9)

18 months of Expensify costs what Expensa costs once.

Read Sep 3, 2026 · source

The full comparison: every rival, what each does better, and who should stay with them →

Replacing one of these? Rydoo alternative · Fyle alternative · Expensify alternative · Zoho Expense alternative

Release history

Own It 4.1Client installations and your other toolsOct 4, 2026

For Expensa, 4.1 makes two changes that every app gets. What’s new in 4.1 →

Own It 4.0It updates and backs itself upSep 29, 2026

For Expensa, 4.0 means updates from inside the app: the Updates page checks for a new release with your license key, verifies Ownware's signature, takes a backup and… What’s new in 4.0 →

Own It 3.3Nobody left out, nothing retypedSep 27, 2026

3.3 reaches the people and the records outside Expensa. What’s new in 3.3 →

Own It 3.2The whole team claims, on your rulesSep 26, 2026

3.2 opens Expensa to the people who spend.

Own It 3.1It writes to the people you serveAug 20, 2026

The 3.1 wave gave the catalog a way to reach the other side of the transaction: counterparty email through your own SMTP server, calendar feeds your own calendar…

Own It 3.0Works for your AI, not just for youAug 9, 2026

The report export now renders a real PDF — per-currency totals, spend by category, every receipt line — instead of leaving the browser to save a web page.

Own It 2.0API, 2FA, backups, dark modeAug 6, 2026

The owner layer every Ownware app carries.

What’s in the zip

The tree as the zip ships it — the working leftovers the packager deletes are not listed

  • .htaccess
  • API.md
  • Dockerfile
  • LICENSE.txt
  • QUICKSTART.txt
  • README.md
  • assets/
  • bin/
  • config.sample.php
  • controllers/
  • deploy/
  • index.php
  • install/
  • manifest.json
  • offline.html
  • router.php
  • src/
  • sw.js
  • tests/
  • views/
src/Extraction.php: a real module, the first 24 of 431 lines

Chosen as the largest module in src/ that is not one of the shared cores — this product's own logic, not a file every product carries.

<?php
/**
 * Extraction.php — the deterministic core Expensa stands behind (fully covered by
 * tests/run.php, offline).
 *
 * A vision LLM returns messy, human-formatted receipt data: "$1,234.56", "1.234,56 €",
 * "04/03/2026", a free-text category ("Restaurant"), a payment method ("VISA ****4242").
 * This class turns each raw record into a CLEAN, canonical, exportable receipt with
 * integer-cent money, an ISO date, a currency code, and a category snapped to the
 * business's configured list — deterministically, with no network call — so the report
 * totals you export are trustworthy regardless of which model produced them.
 *
 * The money and date parsing is shared, proven engine code; the
 * receipt shaping, category normalization, and per-currency / per-category aggregation are
 * new to Expensa. Nothing here touches the database or the network; Llm.php does the API
 * call, this normalizes whatever comes back. That separation is what makes every number
 * testable in isolation.
 */
declare(strict_types=1);

final class Extraction
{
    /** Canonical field set for one receipt (money in integer cents; date ISO Y-m-d or null). */
    public const FIELDS = ['vendor', 'txn_date', 'currency', 'amount_cents', 'tax_cents',

Runs on: Two-minute web installer, PHP 8.1+ (tested on 8.3) with MySQL or SQLite, standard shared-hosting compatible. Or run it in Docker: the Dockerfile is in the zip.

Technical owners can install it with one line and their license key: curl -fsSL https://ownware.io/install.sh | sh -s -- expensa <your license key>

Nothing is obfuscated or encoded; what you read is what runs. Manual · API · the test run

Which license do I need?

It comes down to how many installations you need. Running your own business on one site is the Single license. A second domain of your own, or sites you build or run for other people, is the Extended license.

Single license$89
One (1) domain or subdomain · One business, running it on one site.
  • Install it on one domain or subdomain you own or operate
  • Change the source however you like for that installation
  • Run your own business on it commercially, client work included
  • Re-download the current build any time from your buyer portal
  • A second site, or an installation you hand to a client as theirs, needs the Extended license
  • No reselling, redistributing or sublicensing the source
  • Not for offering it to other people as a hosted service
Buy the Single license, $89
Extended license$199
Unlimited sites you own or operate, plus up to 10 client installations (white-label included) · Agencies, and anyone running it on more than one site.
  • Everything the Single license grants
  • Install it on as many domains as you own or operate — no cap on the number
  • Up to ten client installations, one per client project, handed over or hosted for each client; for more, buy another Extended license
  • White-label: remove or replace the product name and logo in the screens of client installations
  • Still no reselling or redistributing the source itself
  • Running it as a multi-tenant service others sign up for needs a SaaS agreement
Buy the Extended license, $199

Every download carries the full terms as LICENSE.txt. The complete wording is on the terms page.

After you buy

Updates

The app’s Updates page installs a new release with your license key, with the release’s signature checked and a backup taken first. Your download link always serves the current build. Download again any time from your order page or the buyer portal; there is no renewal fee.

Help

Email support for installation and for defects in the code as delivered: a person reads and answers every message. It does not cover custom development or server administration. What support covers

If it isn’t right

Refunds are handled by Lemon Squeezy as merchant of record, case by case. EU consumers keep the statutory 14-day right until delivery starts. Refund terms

If we disappear

It keeps running: your server, the full PHP source, no license check that can fail. If no stable release is published for 365 days, the domain limit lifts; after three such years your copy becomes MIT-licensed. The terms have the exact wording: continuity.

Questions

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.
Will this run on shared hosting?
Yes. Expensa requires PHP 8.1+ with pdo, curl, and fileinfo — extensions present on virtually all cPanel/Plesk hosts. Installation takes about two minutes through the web installer.
What does it cost to run?
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.
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.
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.
Can it export straight into my accounting software?
It exports the exact CSV shapes the QuickBooks and Xero bank importers expect — signs and dates already right — and you upload the file. Deliberately no API connection: nothing to authorize, no vendor that can cut you off.
Is Expensa a subscription?
You buy it once and own that copy. There is no subscription, no per-user fee and nothing that renews — the license tier decides how many sites you may run it on, not how many people use it. The AI extraction runs on your own API key, so the only recurring cost is what you already pay your model provider — we do not resell it.
How is this different from an expense app with a monthly seat price?
It is not priced per seat, and the extraction bills to your key rather than through us. What it does not do is chase anyone for a receipt or integrate with a card program. We state our own shape only.
What exactly do I get for the money?
The download is the complete PHP source with the database schema. Read it, change it, keep it. If we vanished tomorrow the copy on your server keeps working, because nothing in it phones home to us.
Can I get the reports and receipts out?
Yes. Each report exports as CSV, there is a JSON export for a data request, and the audit trail exports as CSV. The uploaded receipt images sit in your own storage.
Better together
AI Document Suite: Extracta, Expensa, Specta, Cargora and Ledgira
Five BYO-key AI document tools — invoices, receipts, spec sheets, freight docs, and bookkeeping — on your own server.
5 tools for$199
$405 separatelySave $206

Covered in these guides

Also covered in: Every "Self-Hosted Expense" List Recommends a Personal Budgeting App. Here Is Why That Is Wrong. · The 2026 SaaS Rent Index — What a Small Business Actually Pays to Rent Its Software · Expense-report software you buy once.

More about Expensa

For teams and bookkeepers: batch-upload receipts, let your own AI key extract and categorize them, and hand the accountant a reviewed report.

The problem it solves

At the end of every trip or month, someone ends up with a shoebox: a folder of receipt photos, a stack of PDFs in an inbox, a pocketful of crumpled paper. Turning that into an expense report means typing each vendor, date, and amount into a spreadsheet by hand, then sorting into categories and adding the totals. It's slow, error-prone, and the same every time. Black-box SaaS expense tools automate the typing, but they own your receipts, charge a per-user subscription forever, and expect you to trust a third party with your financial documents.

  • Manual data entry for every single receipt
  • A recurring per-user subscription just to digitize paper
  • Your financial documents held on someone else's servers

Every feature

  • QuickBooks & Xero export presets. The bank-CSV shapes their importers expect — spend correctly negative, Xero dates dd/mm/yyyy, an amountless receipt exports empty rather than 0.00. Unknown preset falls back to the original layout, so every existing bookmark still works.
  • Tell the person who submitted the report. When a report is reviewed, the claimant can get one email saying so — and saying plainly that reviewed is not paid. Off by default, through your own SMTP, recorded in a send log, and a mail failure never breaks the review.
  • Batch AI receipt extraction. Upload up to 50 receipt photos or PDFs at once, or photograph them one after another on your phone, and a vision-capable model reads vendor, date, amount, currency, tax and payment method for each.
  • Editable auto-categorization. Every receipt is sorted into a category list you control in Settings — Meals, Travel, Lodging, Office Supplies, Fuel, Software, and more.
  • Strict multi-currency safety. Amounts in different currencies are never summed together; each currency keeps its own subtotal and grand total.
  • Accountant-ready exports. Export a clean RFC-4180 CSV and a print-friendly PDF summary with per-category and per-currency totals.
  • Choice of LLM provider (BYO key). Switch between OpenAI, Anthropic, or a local Ollama model any time in Settings. Your key is sent only to the provider you pick; with Ollama, receipts never leave your server.
  • Installable mobile app (PWA). Add it to a phone or tablet home screen straight from the browser — a full-screen app served from your own server, with no app store involved. Business data is not stored offline on the device; what you see is read live.
  • Staff claim, you approve. Give staff the claimant role: they photograph receipts on their phone, add mileage and per diem, and see only their own reports. Approving stays with you.
  • Mileage and per diem at your rates. Add a journey as distance × your rate per mile or kilometer, or a trip as days × your day rate. The rates are the ones you set; each line waits for approval like a receipt.
  • Mark it paid. Once every line is approved, record the date and reference the money went out. The report moves to Paid, its lines close, and the claimant can be told by email from your own mail server.
  • Your spending limits. Set your own limit per category, per line or per day. Lines over it are flagged with the reason; lines within it can be approved in one click.
  • Bring your expenses over. Export your expense lines from the app you use now as a CSV and import them: columns are matched by their header, dates written with a time are read as the date, and the dry run shows exactly what will be imported and what will not, and why, before anything is written.
  • Claims from people without a login. Switch on a private claim link and someone with no account sends their receipts with their name. Each claim arrives as a report in their name, its receipts waiting for your review. Off until you switch it on, and you can replace the link at any time.
  • Updates from inside the app. The Updates page installs a new release with your license key: Ownware's signature is checked, a backup is taken first, and the app puts the previous version back by itself if the update is interrupted or the database step or start-up check of the new version fails. It never checks by itself.
  • Backups by themselves. Automatic backups, an optional copy to S3-compatible storage you own, and a weekly check that the latest backup reads back. The Health page names anything that needs attention.
  • Own It 4.0.1 — fixes and an up-to-date manual. For Expensa, 4.0.1 fixes an installer that had lost its styling, a rollback that a page opened during an update could stop and a command-line update that ended in an error after putting the previous version back. Its manual, FAQ and QUICKSTART now cover everything 4.0 added, including two Nginx rules that keep the data folder private. Your license covers it: press Check for updates on the Updates page, or download it from your order page.
  • Own It 4.0.2 — the installer opens on every host. For Expensa, 4.0.2 fixes a fresh install on an Apache host: the one-page setup at /install/ looped back to itself and never opened, and now it opens. Your license covers it: press Check for updates on the Updates page, or download it from your order page.

Release notes in full

  • Own It 4.1: client installations and your other tools. For Expensa, 4.1 makes two changes that every app gets. An Extended license bought from October 4, 2026 covers up to ten client installations, one per client project: hand each one over to the client or host it for them, with the client's logo and colors from the app's branding settings. The API reference now shows how to connect Expensa to Zapier, Make or n8n, using its own webhooks and API key. Your license covers the update: press Check for updates on the Updates page, or download it from your order page.
  • Own It 4.0: it updates and backs itself up. For Expensa, 4.0 means updates from inside the app: the Updates page checks for a new release with your license key, verifies Ownware's signature, takes a backup and puts the previous version back by itself if the update is interrupted or the database step or start-up check of the new version fails. A new install can start with a sample business and remove it in one click; backups run by themselves, with an optional offsite copy and a weekly check that the latest one reads back; and the Health page says whether the install is looking after itself.
  • Own It 3.3: nobody left out, nothing retyped. 3.3 reaches the people and the records outside Expensa. Someone with no account can send receipts through a private claim link, off until you switch it on, and each claim waits for your review as a report in their name. The expense lines from the app you use now come over as a CSV, after a dry run that shows what will be imported, and why anything will not, before a line is written.
  • Own It 3.2: the whole team claims, on your rules. 3.2 opens Expensa to the people who spend. Staff claim on their phones and see only their own reports, mileage and per diem go in at your rates, and lines over your spending limits are flagged with the reason. Approving stays with you, and once every line is approved you mark the report paid.
  • Own It 3.1: it writes to the people you serve. The 3.1 wave gave the catalog a way to reach the other side of the transaction: counterparty email through your own SMTP server, calendar feeds your own calendar subscribes to, attachments filed where the paperwork belongs, and export presets other people's software imports. Each outbound feature ships switched off and runs on your own credentials; a failed send is recorded, and the action that triggered it stands. What this app gained is listed at the top of this section.
  • Own It 3.0: works for your AI, not just for you. The report export now renders a real PDF — per-currency totals, spend by category, every receipt line — instead of leaving the browser to save a web page. Duplicate receipts are flagged across all your reports on the same vendor, date and amount, which is where the real mistake hides. An MCP endpoint puts the same reports in reach of your AI under the same roles.
  • Own It 2.0: API, 2FA, backups, dark mode. The owner layer every Ownware app carries. Upgrade by replacing the files — the database migrates itself, and it is still the same one-time purchase.

Browse self-hosted: AI document tools · Office & finance software · Accountancy & bookkeeping software

Expensa$89 once
Demo Buy