Reading receipts automatically: how receipt OCR works
Receipt OCR turns a photo of a receipt into text and extracts the amount, date, merchant and category in seconds. Here is how it works and where its limits are.
In short: Receipt OCR (optical character recognition) converts a photo of a receipt into text and then pulls out the fields you care about: amount, date, merchant and usually a category. It takes a few seconds and replaces typing everything up by hand. A good app only fills in what it has read with confidence and leaves uncertain fields empty, so no wrong numbers end up in your records.
Anyone who has copied receipts into a spreadsheet or accounting tool by hand knows how tedious it is: find the date, find the total, abbreviate the shop name, fix the typo. With 30 receipts a month, that quickly adds up to an hour or two. Automatic receipt reading takes exactly this work off your plate.
This article explains what happens technically when a receipt is read, which fields are recognised reliably, why guessing is a problem, and what you can do yourself to get good results.
What does "reading receipts automatically" actually mean?
Automatic reading is a combination of text recognition and interpretation. The first step, OCR, turns the pixels of a photo into readable characters: "Total CHF 47.90" changes from an image into a line of text. The second step, often called extraction, searches that text for the parts that matter to you: which number is the final total? Which date is the purchase date? Which name belongs to the merchant?
Both steps have to be good. Perfect OCR is of little use if the app then picks the subtotal instead of the final amount. And the best extraction fails if the OCR has turned an 8 into a 3. How accurate is receipt OCR? looks at the typical error sources in detail.
How does receipt OCR work step by step?
The process is similar in most apps and runs in five steps:
- Capture: you photograph the receipt with your phone camera. The app detects the edges of the paper, crops the image and straightens it so the lines run horizontally.
- Preparation: contrast and brightness are adjusted, shadows are reduced, and the image is converted to greyscale or black and white. For thermal paper this step is critical, because the print is often faint.
- Character recognition: the OCR engine splits the image into lines, words and characters, and assigns each character the most likely letter or digit.
- Structuring: fields are built from the raw text. The software looks for patterns: a date in a format like 14.03.2026, a line containing "Total", "Sum" or "Amount", a merchant name in the header, a currency.
- Output: the fields appear in the app's form, where you check them and adjust them if needed.
With Belego it works like this: you photograph the receipt, the app crops and straightens it and saves the scan automatically as a PDF. It then reads the amount, date, merchant and category. Capturing, searching and exporting work fully offline; only the automatic reading needs a brief internet connection.
Which fields can be extracted reliably?
The final total and the date are recognised most reliably on a clean receipt, the merchant usually, and individual line items only with limitations. This overview shows what to expect:
| Field | Recognition on a clean receipt | Typical difficulty |
|---|---|---|
| Final total | Very reliable | Several totals (subtotal, cash given, change) |
| Date | Very reliable | Date format, date next to time or receipt number |
| Merchant | Mostly reliable | Logo instead of text, legal name differs from shop name |
| Category | Derived, not read | Needs mapping by merchant or keyword |
| Currency | Reliable when printed | Missing entirely on some receipts |
| Line items | Limited | Abbreviations, discount lines, quantities |
The category is a special case: it appears nowhere on the receipt. The app derives it, for example because the merchant is a petrol station or because "restaurant" appears in the name. That is a suggestion you should check. Receipt categories that make sense explains which categories are worth having at all.
Why a good app does not guess
A good app only fills in what it has read with confidence and leaves everything else empty. That sounds like a drawback, but it is the most important quality difference in automatic receipt reading. The reason: an empty field catches your eye immediately and takes five seconds to fill in. A wrongly guessed amount catches nobody's eye until your accountant reconciles the figures with the bank statement or the annual overview does not add up.
An example: on a crumpled receipt the amount "CHF 128.50" is only half legible. Software that guesses might turn that into "CHF 28.50" and enter it with full confidence. Cautious software leaves the amount empty, you glance at the scan and type 128.50. Second version: five seconds of work. First version: an error of 100 francs that runs through your monthly bars, annual overview and tax return.
Belego works on this principle: whatever cannot be read with certainty stays empty and is added by hand in a moment. Everything the app has recognised can be overridden at any time. AI receipt recognition: what it can do, what it cannot explains why guessing is a particular concern with AI-based recognition.
What you can do yourself for good results
The quality of the photo determines the quality of the extraction more than any software does. These points get the most out of it:
- Photograph in daylight or under an even lamp, not in the shadow of your own hand.
- Lay the receipt flat and smooth it out. Creases across the total line are the most common error source.
- Hold the phone parallel to the receipt, not at an angle. The app straightens the image, but heavy distortion costs accuracy.
- The whole receipt must be in the frame, including the header with the merchant name and the footer with total and date.
- Scan thermal paper receipts within days. Once the print has faded, no OCR can read it.
How to photograph receipts so they stay readable has a detailed guide with examples.
Where do the extracted data go?
Extracted receipts only become useful when you can use them further: in a spreadsheet, in your accounting software or at your accountant's. Reading provides the structured data, exporting takes it where it is needed.
In Belego you pick a period (month, year or a custom range) and export a ZIP. It contains the original PDFs, named by date, merchant and amount, plus a CSV list with category and note. The PDFs suit bexio and similar tools, the CSV suits Banana, CashCtrl or Excel. Getting receipts into Excel without typing them up shows how to work with that list in a spreadsheet.
One thing worth knowing: reading is not bookkeeping. The app captures and organises, the actual accounting is done by accounting software or your Treuhänder (the Swiss term for a trustee or accountant). This separation keeps both sides simple: you do not have to learn a chart of accounts, and your accountant receives clean data instead of a shoebox.
Frequently asked questions
Does receipt reading work offline?
It depends on the app. In Belego, photographing, saving as PDF, searching, categorising and exporting all work without internet. Only the automatic reading of amount, date and merchant needs a brief connection. If you have no signal at that moment, the receipt is still saved, and you can fill in the fields by hand or have them read later.
Can OCR read handwritten receipts?
Only to a limited extent. OCR recognises printed characters reliably, but handwriting varies a lot from person to person and is often misread or not read at all. For a handwritten receipt, say from a flea market or a tradesperson, enter the amount and date yourself and keep the scan as evidence. The scan is just as valid as a receipt as a scan of a printed slip.
How many receipts can I have read automatically for free?
Belego's free version includes 10 automatic readings per month, along with unlimited scanning and organising, export and backup. If you have more receipts, Pro offers unlimited automatic readings for CHF 10 per month or CHF 50 per year. Receipts you do not have read automatically can still be saved and completed by hand.
Are my receipts uploaded to a cloud when they are read?
With Belego, all receipts stay on your device: there is no account, no login and no cloud run by Belego. Only the automatic reading needs a brief internet connection; afterwards the scan and its data live only on your phone, and there is no tracking. With other apps it is worth reading the privacy policy: some store receipts permanently on their servers.