Blog · Published · Updated
Local AI table extraction: the review work that remains
Short answer
Local AI can read a table from a PDF when a tool such as Docling reads the layout and an employee checks the result next to the original. A local GPU server costs about €214 a month, more than a cloud model, and the documents never leave the company. With 400 tables a month at 12 minutes each, a €3,000 app pays back in 1.6 months locally and 1.4 through the API.
How we workDetails ↓
- 01Call30 minutes with an engineer, free
- 02PrototypeA working system on your process and data, free
- 03ImplementationTarget and fixed price in the contract; 50% at signing
- 04Acceptance50% once the agreed target is met
- model on your server or in the cloud in the EU
- quoted after the review
- same work in application with EU cloud model
- from €3,000
- task, data and equipment analysis
- €0
We belong to the OpenAI and Anthropic partner programmes and learn through their official courses. What this means ↓
Author: Syntalith · 3 min read
Statistics
Reading documents with AI: statistics 2026
1.6 mo.
payback of a €3,000 app at 400 tables a month with a local GPU server. Through the API the payback takes 1.4 months. Scenario.
−87%
According to Anthropic (2025), AI cuts the time of tasks on invoices, memos and other documents by an estimated 87%.
Source: Anthropic, Estimating AI productivity gains (2025) ↗
14–56%
According to Anthropic (2025), controlled studies found smaller time savings, from 14% to 56%.
Source: Anthropic, Estimating AI productivity gains (2025) ↗
20.0%
According to Eurostat (2025), 20.0% of EU companies with at least 10 employees used AI.
Source: Eurostat, 20% of EU enterprises use AI technologies (2025) ↗
48.8%
According to Eurostat (2025), 48.8% of EU companies that considered AI and did not use it named concerns about data protection and privacy.
Source: Eurostat, Use of artificial intelligence in enterprises (2025) ↗
Figures checked: 22 October 2026
One header shared by several columns
The catalogue team receives a PDF with product parameters. The table has one header over three variants, and one product name takes up two rows. After export to a spreadsheet, a value lands in the neighbouring variant. The spreadsheet looks complete, and the employee notices the mistake only after opening the document page, often after the price has already gone to the shop.
A useful view shows the extracted row next to its place in the original. The reviewer corrects the assignment and sees which items they have already checked. The system leaves a missing or illegible value for clarification.
- 01Layoutthe tool recognises pages, reading order and table structure
- 02Assignmentthe model links values to headers and variants
- 03Controlrules check totals, units and empty fields
- 04Correctionthe employee sees the row next to the original and approves it
- 05Recordchecked items go to the agreed spreadsheet
Reading the document and the model are separate stages
Docling analyses PDF layout, reading order and table structure, supports OCR for documents from photos and runs locally, including in environments cut off from the internet. The project is developed by the IBM Research Zurich team and hosted by LF AI & Data. When you compare solutions, check at which stage an error appears. If the tool merged columns before passing the text to the model, a change of model will leave the same problem.
A readable PDF with a text layer and a photo of a table need different work, so split the assessment by type of material. An average over the whole set hides the documents where the reviewer corrects almost every item.
What table extraction costs locally and through an API
- Today: 400 × 12 min
- 80 h × €34.90 = €2,792
- Checking the output, 25% of today's time
- €698
- Locally: Hetzner GEX45 server
- €214
- Through the API: Claude Sonnet 5.5, 400 tables
- €11
- Saving: €1,880 locally, €2,083 through the API a month
Payback of €3,000: 1.6 months locally, 1.4 months through the API
The volume, the time and the checking share are the scenario's assumptions. €34.90 an hour is the EU average hourly labour cost for 2025 according to Eurostat. Price of the GEX45 with 24 GB of GPU memory from Hetzner's website on 22 October 2026, without the one-off setup fee of €209. Model: 8,000 input tokens and 1,500 output tokens per table at Anthropic's rates, converted at the ECB rate of 1.1205 USD per euro on 22 October 2026.
The difference of about €203 a month is the price of keeping documents on your own infrastructure. At 100 tables a month a local server pays back in 9.7 months, and below about 90 tables it takes more than a year. Then the API or your current converter remains. The data requirement sets the options available, and the quality of extraction still has to be measured.
What to order after the comparison
- 30 to 50 tables from recent months, including the hardest layouts
- The same set for the current export, the local option and the API
- The employee's time from opening the document to an approved row
- The list of documents no option could read
The scope covers extraction for the chosen document type, a correction view and saving the checked items to the spreadsheet. The data owner explains the headers, and we agree with IT where the processing runs. We build local extraction as part of private LLMs, and the app as part of AI apps. For the free process review, bring one table your team regularly corrects after export.
Worked example · Scenario
How we count the payback: reading data from documents
We run the same count for your tables in the free process review.
€2,618
a month for copying 1,500 documents by hand
Payback: 1.4 mo.
3 minutes to copy the fields from a document and checking in 15% of the old time are our assumptions. €34.90 an hour is the EU average hourly labour cost for 2025 according to Eurostat, for companies with 10 or more employees. Model cost about €0.007 per document: OCR in our system cost €1.17 for 181 files, and a separate read about €0.0008, converted at the NBP rate of 21 October 2026 and the ECB rate of 1.1205 USD per euro on 22 October 2026.
See the full calculation →