Recognition is not the end of the job
A supplier sends a PDF invoice. The business needs more than letters extracted from a file: it needs a verified invoice number, date, supplier, amount, tax and a link to the purchase order. The document must then reach the accounting system without duplication and with a clear exception route. That is the process to compare when choosing between a cloud API and local OCR.
For a public price reference, consider Amazon Textract Analyze Expense. AWS's pricing page gives an example for the US West (Oregon) region at $0.01 per page within the first million pages per month. The service is intended for invoices and receipts. This is not an offer to a Russian company or a claim that every Russian buyer can use the service: region, contract, payment, data transfer and the current tariff all need separate verification. The price is used here only as a checkable comparison point.
A local alternative could be a pipeline based on PaddleOCR. The project publishes documentation for PP-StructureV3 and examples of running it locally; the repository code is distributed under Apache 2.0. Yet OCR and document-layout parsing do not automatically produce a valid accounting entry. Fields still need normalization, matching against orders, suppliers and tax rules, and a human route for disputed cases. Check the applicable terms for the particular model weights, dependencies and commercial use separately.
An illustrative calculation, not a vendor quote
Assume a firm processes 3,000 single-page invoices a month. The cloud price is $0.01 per page. For the local option, assume $240 of fixed monthly cost for implementation amortization, server capacity, maintenance and monitoring, plus $0.002 of variable cost per page. These figures are invented assumptions for the formula, not a hardware quotation or a measured deployment result. For now, assume equal staff-review effort and leave it outside the calculation.
- API: 3,000 × $0.01 = $30 per month.
- Local pipeline: $240 + 3,000 × $0.002 = $246 per month.
- Break-even volume: $240 / ($0.01 − $0.002) = 30,000 pages per month.
On these assumptions, buying dedicated infrastructure to save money on 3,000 pages makes little sense. If suitable hardware is already available and its incremental fixed cost is lower, the threshold falls. If a dedicated machine, redundancy or ongoing support is needed, it rises. Access to an external service and permission to transfer documents may render the price comparison secondary altogether.
The decisive variable is correction time
Suppose the local pipeline sends five percentage points more documents to manual review than the API, and each such review takes two minutes. At 3,000 pages that is 150 extra reviews, or five staff hours a month. At 30,000 pages it is 50 hours. Multiply that time by the fully loaded internal hourly cost: it can easily reverse the result of the formula even if local inference is cheap. The reverse is possible too if a local template works better on your particular suppliers; this cannot be known in advance.
Research on invoice information extraction recommends looking beyond aggregate accuracy to field-level precision, consistency-check failures and exact-match records. For a business, an incorrect amount or bank detail matters more than an attractive average OCR score. Comparing two options on a polished demo batch is therefore of little use: both must be tested on the same labeled sample of real invoices.
Count manual review separately for invoice number, date, amount, supplier and line items. Add the cost of reprocessing, incidents and manual entry when a file cannot be read. Do not call the percentage of documents processed without a human 'accuracy': a document may pass automatically and still contain a wrong field.
A pilot without a large purchase
Select 100–200 anonymized invoices, or invoices you are authorized to process, from different channels and suppliers. Include scans, poor photographs and multi-page PDFs. Save reference values for each page and label critical errors. Do not send real documents to an external service until the contract, processing regime and access rights have been checked. If external transfer is prohibited, compare only permitted local options.
Run the documents through two pipelines: an accessible API and a local prototype. In the local version, first extract text and structure; then use rules or a constrained AI component to map fields into a schema. Follow with deterministic checks: amount and tax arithmetic, valid dates, known suppliers, purchase-order matching and duplicate detection. Disputed records go to a staff member, not directly into the ledger.
For each option, record per-page processing fees, labeling and review time, exception rate, correction time, storage and operations cost, hardware requirements and integration hours for the accounting system. If you add a local language model to resolve ambiguous fields, include its compute cost, logging, updates and wrong-answer controls. Do not credit it with savings before measuring them. The pilot's outcome is cost per correctly accepted document, not merely cost per model call.
Where local processing can win, and where it may not
A local option may be justified when documents cannot be sent outside, volume is stable, suitable compute and an administrator are already available, and document forms are limited. But it creates obligations: update models and dependencies, control access to originals, retain a correction log, recover the queue after failure and test new supplier templates. The word 'local' does not make processing safe by itself.
An API can help when the flow is small or irregular and there is no operations team. Yet its per-page price excludes integration, queues, retries, manual exceptions, legal review of data transfer and potential provider dependence. For Russian firms, access to a particular foreign service is a filter to apply before the economic calculation, not a footnote after it.
The next practical step is not to pick a winner from a price list. Build a single table using your own documents: page volume, per-call cost, fixed local cost, critical error rate, minutes of review and data constraints. If the options are close on real numbers, data control and support capability decide the result. If the gap is large, the pilot will reveal it before a server is purchased.
