Extracta
Invoices and receipts read on your own AI key, checked by the numbers and approved by a person.
For businesses that retype invoices and receipts by hand. Often replaces Nanonets, Veryfi or Mindee.
Single license $89 · Extended license $199 · paid once, yours for good
What it does
Each invoice or receipt goes to the model you choose, on your own API key. With a local Ollama model, it never leaves your server.
Review and correct each extracted field on screen before it enters your records. Doubtful readings are marked for a second look.
It flags a subtotal plus tax that misses the total, or line items that don't add up.
Download the CSV their importer expects, with each invoice's account filled in. Clean CSV and JSON are there too.
Choose or drop up to 50 invoices and receipts in one go. One button reads the whole batch.
Off until you switch it on. PDF and image attachments sent to your own invoices mailbox arrive as documents, ready to review.
Set an account on a supplier's invoice once, and their next invoices arrive with it filled in. A rule never changes an account you set.
XRechnung, ZUGFeRD, Factur-X and Peppol UBL invoices are read from their XML, with no model. The file is kept as received.
An e-invoice's VAT ID, buyer reference, account to pay and VAT per rate travel into your exports.
Scan a stack into one file. Each invoice or receipt becomes its own document, marked as invoice, receipt or credit note.
Connect your own agent (MCP + API) to list documents, read fields and submit corrections. The same field rules apply to it as to people.
Where you report a received invoice on a platform, record the status, date and reference beside it. Extracta reports nothing itself.
Also: phone receipt photos, a readable e-invoice view, provider switching, home-screen install, 2FA and backups.
What Extracta deliberately doesn’t do.
- No API connection to accounting software — named CSV presets (QuickBooks, Xero) you upload yourself: nothing to authorize, no vendor that can cut you off.
- Single-tenant: one business per installation, with teammates added as viewer, member or admin on the Team page.
- No OCR built in — the vision model you configure does the reading (e-invoices are read from their XML, with no model); every extracted figure is shown for a human to approve before it counts.
- Scanned PDFs (images embedded in a PDF) may extract less accurately than native text-layer PDFs.
- Extraction accuracy is not guaranteed for any specific format, language, or jurisdiction — which is why the review screen exists.
What renting costs instead
1 month of Nanonets costs what Extracta costs once.
Read Sep 3, 2026 · source1 month of Veryfi (OCR API) costs what Extracta costs once.
Read Sep 3, 2026 · source2 months of Mindee costs what Extracta costs once.
Read Sep 26, 2026 · sourceThe full comparison: every rival, what each does better, and who should stay with them →
Replacing one of these? Nanonets alternative · Veryfi (OCR API) alternative · Mindee alternative
Release history
For Extracta, 4.1 makes two changes that every app gets. What’s new in 4.1 →
For Extracta, 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 →
3.3 is for the invoices that arrive as data. What’s new in 3.3 →
3.2 is about getting invoices in without the typing.
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…
Agents connect over MCP to list documents, read extracted fields, submit corrections and clear the review queue — and the field whitelist applies to them exactly as to…
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 438 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 core Extracta stands behind (fully covered by tests/run.php, offline).
*
* A vision LLM returns messy, human-formatted invoice/receipt data: "$1,234.56", "1.234,56 €",
* "04/03/2026", vendor names with commas and quotes. This class turns that into a CLEAN,
* canonical, exportable record with integer-cent money — deterministically, with no network
* call — so the numbers you export are trustworthy regardless of which model produced them.
*
* Nothing here touches the database or the network; Llm.php does the API call, this normalizes
* whatever comes back. That separation is what makes the money/date logic testable in isolation.
*/
declare(strict_types=1);
final class Extraction
{
/** Canonical field set for one document (money in integer cents; dates ISO Y-m-d or null). */
public const FIELDS = ['vendor', 'invoice_number', 'invoice_date', 'due_date',
'currency', 'subtotal_cents', 'tax_cents', 'total_cents'];
private const CURRENCY_SYMBOLS = ['$' => 'USD', '€' => 'EUR', '£' => 'GBP', '¥' => 'JPY',
'₹' => 'INR', 'R$' => 'BRL', 'A$' => 'AUD', 'C$' => 'CAD',
'CHF' => 'CHF', 'kr' => 'SEK', 'zł' => 'PLN'];
Runs on: 2-minute web installer, plain PHP 8.1+ with MySQL or SQLite, zero Composer dependencies — includes a demo mode with pre-baked sample data. Tested on PHP 8.3. 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 -- extracta <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.
- 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
- 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
Every download carries the full terms as LICENSE.txt. The complete wording is on the terms page.
After you buy
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.
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
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
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?
Will this run on shared hosting?
Do I need my own API key?
What about PDFs?
What does it cost to use?
Can it export straight into my accounting software?
Is Extracta a subscription?
Document-extraction services charge per page. What does this change?
What exactly do I get for the money?
Can I get the extracted data out?
Covered in these guides
- What's new in Own It 3.3
- Self-hosted AI document extraction
- The AI Document Suite: your own key, five document jobs
- What's new in Own It 3.1
- The Minimum Spend — Why Small Teams Pay Far More Than the Advertised Per-User Price
- Document Extraction Pricing — Work Out Your Break-Even in Documents, Not Dollars
More about Extracta
Extract invoice & receipt data with your own AI key — self-hosted, human-reviewed.
The problem it solves
Every business processes invoices and receipts, and someone still retypes the vendor name, date, and line items into a spreadsheet by hand, because the numbers live in a PDF attachment or a phone photo, not in the accounting tool. Black-box SaaS extraction services solve the typing, but they own your documents, charge per-page subscriptions, and require trusting a third party with financial data.
- Manual re-entry of invoice and receipt data
- SaaS tools that store a copy of your financial documents
- Recurring per-page charges for something you could run yourself
Every feature
- QuickBooks & Xero export presets. Download the CSV their importer expects — columns, date format and signs already right, one row per line item. The default export stays byte-identical, so existing scripts keep working; the formula-injection guard covers every layout.
- Vision-LLM extraction, your key. Sends each invoice or receipt to the model you choose, on your own API key (e-invoices are read from their XML, with no model). With OpenAI or Anthropic the file goes to that provider under your account; with a local Ollama model it never leaves your server.
- Full field extraction. Pulls vendor, invoice number, invoice date, due date, currency, subtotal, tax, total, and full line items.
- Arithmetic cross-check. Flags when subtotal plus tax doesn't equal total, or line items don't add up, so you catch model errors before exporting.
- Human-in-the-loop review. Review and correct every extracted field on screen before it enters your records.
- CSV/JSON export. Export clean, spreadsheet-ready CSV, developer-friendly JSON, or QuickBooks and Xero import files with each invoice's account filled in.
- Switch providers anytime. Change between OpenAI, Anthropic, and Ollama in Settings in under a minute.
- 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.
- Upload fifty at once. Choose or drop up to 50 invoices and receipts in one go, then read the whole batch with one button, ten at a time.
- Forward invoices by email. Turn on the email inbox and the PDF and image attachments mailed to your own invoices mailbox arrive as documents, ready to review. Off until you switch it on; your mailbox, your server.
- Invoices that arrive coded. Set an account on a supplier's invoice once and their next invoices arrive with it filled in, ready for the QuickBooks Account or Xero AccountCode column. A rule never changes an account you set yourself.
- A pile of invoices in one PDF. Scan a stack into one file: each invoice or receipt becomes its own document, and each is marked as an invoice, a receipt or a credit note.
- It tells you what to check. Every field is scored from how it was printed, so a date that could be day-first or month-first, or a number found inside other words, is marked for a second look.
- Photograph receipts on your phone. Take a photo of each receipt in a row, then upload them together.
- An e-invoice you can read. An XRechnung has no picture, so Extracta lays its XML out as an invoice beside the fields you review: who it is from, the lines, the VAT per rate, the totals and the account to pay, read from the file itself.
- E-invoices read from their own XML. XRechnung, ZUGFeRD, Factur-X and Peppol UBL invoices are read from the XML they carry, as a file or inside the PDF: no AI model, no key, nothing to guess. The file is kept exactly as received. Extracta is not a Peppol or platform connection: you bring the files in by upload, email or the drop-box.
- VAT details in your exports. For an e-invoice, the seller's VAT ID, the buyer reference, the account to pay and the VAT per rate travel into the CSV and JSON exports and the API.
- Record what you reported. Where you report a received invoice's acceptance, rejection or payment on a platform, record the status, the date and the platform's reference beside the invoice; it travels into the exports and the API. Extracta keeps the record; the reporting itself stays with your platform.
- 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 Extracta, 4.0.1 fixes an installer and its invite page that had lost their 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 Extracta, 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 Extracta, 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 Extracta 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 Extracta, 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: e-invoices read from their own XML. 3.3 is for the invoices that arrive as data. XRechnung, ZUGFeRD, Factur-X and Peppol UBL invoices are read from their own XML, with no model and no key, laid out as an invoice you can read, and their VAT details travel into your exports. Where your country has you report a received invoice on a platform, you can record what you reported beside it: Extracta keeps the record, and the reporting itself stays with your platform.
- Own It 3.2: the pile comes in, already coded. 3.2 is about getting invoices in without the typing. Upload fifty at once, forward them by email to your own mailbox, photograph receipts on your phone or scan a whole pile into one PDF. A supplier's next invoice arrives coded to the account you set once, and every field shows how sure the reading is, so you check the doubtful ones first, on the model and key you choose.
- 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. Agents connect over MCP to list documents, read extracted fields, submit corrections and clear the review queue — and the field whitelist applies to them exactly as to people: send a field Extracta does not declare and it is dropped, not stored. Extraction templates apply a named subset of fields per document type and can only narrow, never invent.
- 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