Receipt Extractor

Read your clients' receipts on your own Mac.

Lisez les reçus de vos clients sur votre propre Mac.

Receipt Extractor turns receipts and invoices into spreadsheet rows and QuickBooks bills. It checks every total, tax rate and registration number, and the documents never leave the computer.

curl -fsSL https://receipt-extractor-ca.pages.dev/install.sh | sh

Paste it in Terminal and press Return. How to install

  • English and French documents, Quebec and every other province
  • GST/HST, QST and PST, with the right rate for the province and date
  • Excel, CSV and QuickBooks Online exports
  • No account, no cloud, no subscription to an AI service

Read on this Mac

  • VendorQuincaillerie Beaubien
  • Date2026-10-07
  • Registration 123456782 RT 0001
    1234567890 TQ 0001 ✓ check digit valid
  • Subtotal46.47
  • GST 2.32 ✓ 5% of the subtotal
  • QST 4.64 ✓ 9.975% in Quebec
  • Total53.43
  • Category Repairs and maintenance

46.47 + 2.32 + 4.64 = 53.43 Adds up to the printed total

A sample receipt. Point at a value to see the line it was read from.

How it works

  1. Add documents

    Drag receipts onto the window, or drop them in a client's folder on your Mac. PDF (typed or scanned), JPG, PNG, HEIC and WebP.

  2. It reads them on this Mac

    Two reading models run on the computer itself: one transcribes the page, the other fills in the fields. About 10 to 20 seconds per document.

  3. Check what's flagged

    Each document opens beside the values read from it. Anything that doesn't add up, or that the page doesn't support, is flagged with a plain explanation.

  4. Export

    Send reviewed documents to Excel, CSV or a QuickBooks Online bills import, for one client and one reporting period.

The review screen: a list of receipts to check, the Lakeshore Auto Parts receipt, and the values read from it, with a red flag explaining that the printed total is $1.00 more than the subtotal plus HST.
A receipt whose own arithmetic is wrong: the printed total is $1.00 more than the subtotal plus HST. Receipt Extractor reports it instead of guessing which number is right.

What it checks

Reading models make mistakes, especially on faded or crumpled paper. Every value is checked against the document and Canadian tax rules, so mistakes are flagged instead of exported. These are the messages you see.

Totals add up

Subtotal, each tax and the tip against the printed total.

Subtotal $72.98 + HST/TVH $9.49 = $82.47, but total is $83.47 (difference $1.00).

Tax rates match the province and date

Rates come from a CRA-verified table, including past rates.

QST/TVQ is $3.10, expected $4.64 (9.975% of $46.47). Some items may be exempt or zero-rated.

Registration numbers are valid

GST/HST and QST numbers, printed with or without RT/TQ.

Business number 123456789 fails its check digit. A digit may have been misread.

Values really appear on the page

Amounts and numbers the model may have computed or made up.

Total $100.00 does not appear on the document as read. It may have been computed or misread. Check it against the image.

Dates are unambiguous

03/04/26 could be March or April: you confirm which.

Date '03/04/26' is ambiguous: 2026-03-04 or 2026-04-03. Confirm day and month.

Input tax credits can be claimed

Purchases of $30 or more need the supplier's GST/HST number.

No GST/HST number found. It is required to claim input tax credits on purchases of $30.00 or more.

Clients and tax filings

Each client has its own documents, inbox folder and tax profile: corporation or sole proprietor, GST/HST filing frequency, QST registration and fiscal year.

From that profile, Receipt Extractor lays out the client's returns year by year, following CRA and Revenu Québec reporting periods, with each due date.

  • GST/HST (GST34), monthly, quarterly or annual
  • QST (FPZ-500) for Quebec clients
  • Income tax: T2 for corporations, T1 with T2125 for sole proprietors
  • Mark a return filed with its confirmation number; documents from a filed period carry a warning
A Quebec client's 2026 GST/HST and QST returns by month, January to August filed, September to file, and a receipt from March showing it is already part of a filed return.
A Quebec client filing monthly. The March receipt is already part of a filed return, so changing it would need an adjustment on a later one.

Exports

  • QuickBooks Online: a bills import file, with each category mapped to the account you choose and the taxes set so QuickBooks reproduces the printed total.
  • Excel and CSV: one row per document, with GST/HST, QST, PST, foreign tax and the category.
  • Export one client and one reporting period, or everything you've reviewed.

Categories are yours: rename them, add your own, set the QuickBooks account for each.

Privacy

Receipts carry names, addresses, card digits and sometimes health information. Receipt Extractor keeps all of it in one folder on your Mac. We never receive it, and using the app doesn't send your clients' information outside your firm, or outside Quebec.

  • No account, no cloud copy, no usage statistics, no crash reports.
  • The app connects only to the reading engine on the same computer. Code in the app blocks every other connection, and an automated test fails if anything tries.
  • It refuses cloud reading models, which would send documents to someone else's servers.
  • Deleted documents stay in Recently deleted for 30 days, then are erased for good. Erase now when a client asks you to destroy their documents.

You can check this yourself with a network monitor such as LuLu or Little Snitch: the app's only connections go to your own computer.

How accurate is it?

Measured in October 2026 with the Standard reading setup, on test sets we built. They are small, so read the numbers as a guide. Testing on real client receipts is under way.

DocumentsCountValues read correctlyWrong amounts, dates or numbers
Canadian receipts and invoices, EN and FR, typed and scanned1798.8%None
The same receipts as poor phone photos: faded, tilted, blurred1787.6%All 5 documents flagged
European receipts, VAT included995.9%Both documents flagged
Small, low-quality receipt photos found online1181.1%All 5 documents flagged

In every set, each document with a wrong value was flagged for review. Handwriting and badly faded paper are the hardest; that's what the checks are for.

Install

You need a Mac with an Apple chip (M1 or later), macOS 14 Sonoma or later, 16 GB of memory (32 GB reads faster) and 10 to 25 GB of free disk space for the reading models.

  1. Open Terminal (Applications ▸ Utilities ▸ Terminal).
  2. Paste this line and press Return:
curl -fsSL https://receipt-extractor-ca.pages.dev/install.sh | sh

It takes a minute or two and needs no administrator password. Receipt Extractor then opens and helps you install Ollama, the free reading engine, and download the reading models.

Update

Run the same line again. Your documents are kept.

Uninstall

curl -fsSL https://receipt-extractor-ca.pages.dev/install.sh | sh -s -- --uninstall

This keeps your documents. Add --delete-data at the end to delete them too.

Questions

Why install from Terminal?

It lets us deliver the app without a store or a separate installer. The command downloads Receipt Extractor and its own copy of Python into one folder in your Library, and adds the app to your Applications. It changes nothing else on the Mac. You can read the installer before running it.

Is anything sent to an AI company?

No. Ollama runs the reading models on your Mac. It goes online to download the models and to check for its own updates. Your documents are never part of that.

Which documents can it read?

Receipts and invoices in PDF (typed or scanned), JPG, PNG, HEIC and WebP, in English or French. It also handles US receipts and European receipts with VAT, and flags amounts in foreign currencies.

What if a photo is poor?

The checks flag values that don't add up or don't appear on the page. For faded photos you can also read the document again with image enhancement, or retake the photo.

Does it work on Windows or an Intel Mac?

Not yet. It needs a Mac with an Apple chip, which runs the reading models fast enough.

Can I use it in French?

Yes. The whole app is in Quebec French or English, and you can switch at any time.