ReleaseResearch Paper · For R&DHabr AI→ original

ABBYY Hot Folder Recognizes Receipts Locally While Using Just 25 MB of Memory

To enable a local agent to read receipts without a cloud-based multimodal model, the author built an OCR pipeline using docTR, docuwarp, and bbox-align, then tested Xiaomi-OCR through llama.cpp. The solution runs on a laptop with 24 GB of RAM and 0.5 GB of VRAM, but requires manual handling of skew, line ordering, and recognition errors. Against this backdrop, ABBYY Hot Folder remains a straightforward benchmark: it watches a folder, prepares images, and extracts text almost instantly.

AI-processed from Habr AI; edited by Hamidun News
ABBYY Hot Folder Recognizes Receipts Locally While Using Just 25 MB of Memory
Source: Habr AI. Collage: Hamidun News.
Listen to article
Article Fact Sheet & Key Figures
ParameterDetails
Primary sourceHabr AI ↗
Editor-in-Chief
Key metric #1Xiaomi-OCR processes the test receipt in about 30 seconds.
Key metric #2ABBYY Hot Folder uses around 25 MB of memory while idle.
Key metric #3OCR alone is not enough for nonstandard receipts: a separate parsing layer is required.

Reading receipts seems like an ideal task for an AI agent: take a photo, recognize the lines, extract the store, date, items, and total—and you are done. In practice, a small zoo of skewed images, crumpled paper, unusual fonts, multiple languages, and point-of-sale formats stands between the photo and structured expenses. The article's author tested this workflow on 1,500 receipts and reached an unpleasant but useful conclusion: a new model does not automatically make a finished product.

The clearest contrast emerged between the custom-built pipeline and ABBYY Hot Folder, a FineReader component the author has known since 2008. While modern tools require several models and libraries to be wired together, Hot Folder simply watches a folder, prepares the images, runs OCR, and saves the result. According to the author's observations, the application uses around 25 MB of memory while idle.

Why Recognizing Text Is Not Enough

The first version of the agent skill used docTR. Two models operate inside it: one finds regions containing text, while the other recognizes the characters. But the output still has to be converted into lines and arranged in the correct order. The author added bbox-align for this purpose and docuwarp to straighten deformed documents.

This exposed an important engineering boundary. OCR may correctly identify individual words while getting the document structure wrong. Bounding-box coordinates sometimes arrive in an unexpected order, lines are assembled incorrectly, and individual words may be mirrored or upside down. Hebrew makes the task more difficult: the main text is read from right to left, while numbers within it run from left to right. Recognition therefore needs a separate normalization layer that understands writing direction and document geometry.

And even that is only half the job. Receipts from the same retail chain may differ in the placement of the date, branch number, discounts, and taxes. The store name may be an image, a product may appear as an unlabeled line, and one SKU may correspond to several items. A universal schema therefore breaks down quickly. An LLM simplifies field extraction from heterogeneous text, but it does not eliminate the need to verify totals, dates, and product lines.

What Xiaomi-OCR Revealed

The next attempt used Xiaomi-OCR-0, running locally through llama.cpp on a laptop with 24 GB of RAM and approximately 0.5 GB of VRAM. The model was loaded on demand and unloaded after processing so that it would not occupy memory continuously. A test receipt with ten items took about 30 seconds to recognize.

The results were good on sharp, straight images. On blurry receipts, the model lost fragments, occasionally switched to Chinese characters, and struggled with the Sütterlin script. Russian text was also unstable in the author's configuration. This does not make the model useless, but it illustrates the cost of running locally: you need a test dataset, a reproducible model version, and an explicit fallback scenario.

What to Use in a Production System

For a Windows machine where a paid license is acceptable, Hot Folder remains a strong baseline. It handles image preparation and OCR quickly, leaving the agent to parse fields, categorize expenses, and perform validation. If open source, portability, and complete control over data are priorities, docTR or Xiaomi-OCR paired with custom post-processing offers more freedom but requires substantially more engineering work.

The practical conclusion is simple: start not by choosing a fashionable model, but by assembling a set of real receipts and defining metrics. Measure line recall, total accuracy, processing time, and the share of documents sent for manual review. And always keep a simple, ready-made tool as a control benchmark. Sometimes the best agent is the one that has quietly watched a folder for fifteen years and performed a single task without surprises.

Story

Key Questions Answered

Why Recognizing Text Is Not Enough?

The first version of the agent skill used docTR. Two models operate inside it: one finds regions containing text, while the other recognizes the characters. But the output still has to be converted into lines and arranged in the correct order. The author added bbox-align for this purpose and docuwarp to straighten deformed documents. This exposed an important engineering boundary. OCR may correctly identify individual words while getting the document structure wrong.

What Xiaomi-OCR Revealed?

The next attempt used Xiaomi-OCR-0, running locally through llama.cpp on a laptop with 24 GB of RAM and approximately 0.5 GB of VRAM. The model was loaded on demand and unloaded after processing so that it would not occupy memory continuously. A test receipt with ten items took about 30 seconds to recognize. The results were good on sharp, straight images. On blurry receipts, the model lost fragments, occasionally switched to Chinese characters, and struggled with the Sütterlin script.

What to Use in a Production System?

For a Windows machine where a paid license is acceptable, Hot Folder remains a strong baseline. It handles image preparation and OCR quickly, leaving the agent to parse fields, categorize expenses, and perform validation. If open source, portability, and complete control over data are priorities, docTR or Xiaomi-OCR paired with custom post-processing offers more freedom but requires substantially more engineering work.

ZK
Zhemal Khamidun — CPO at Alpina Digital, product manager of AlpinaGPT. Building AI products since 2019. Hamidun News is a pet project that grew into a production aggregator with 6,000+ readers.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
What do you think?
Loading comments…