Local LLM vs OpenAI: the real cost crossover for document processing
TL;DR
On a typical invoice page, GPT-4.1 sticker cost is about €0.007 and Claude Sonnet 5 is about €0.012. A rented EU A100-class GPU is about €0.0015 per page of compute.
A reserved GPU (≈€600/month) crosses those frontier APIs at roughly 50,000–90,000 pages/month. Cheap mini models stay cheaper much longer — if their accuracy holds.
Sticker token price is not the bill. Retries, high-resolution scans, and “send every page to the best model” routinely 2–3× the rate card.
GDPR and the EU AI Act can force the local path before cost does. Data residency is a constraint, not a nice-to-have.
Ækora’s published page rates are a managed pipeline (schema, QA, delivery), not raw inference. Compare those to building the stack yourself.
Questions people ask
At what volume does a local LLM beat OpenAI for document processing?
Against GPT-4.1 or Claude Sonnet 5 on invoice-style pages, a reserved EU GPU typically breaks even around 50,000–90,000 pages per month. Against GPT-4.1 Mini, the crossover is much higher — often hundreds of thousands of pages — unless quality, retries, or residency change the math.
Is a local model always cheaper than OpenAI or Anthropic?
No. At a few thousand pages a month, a cloud API is usually cheaper once you count idle hardware and the time to run the stack. Local wins when volume is steady, pages are similar, and you stop sending routine work to a frontier model.
What does one invoice page cost on GPT-4.1?
Using September 2026 list prices ($2 / $8 per million tokens) and 2,200 input + 400 output tokens per page, about $0.0076, or €0.007 at $1 = €0.92. A harder page (8,000 + 800 tokens) is about €0.021.
Does GDPR require on-premise document AI?
GDPR does not name a vendor or demand on-prem by default. It does require a lawful basis, purpose limitation, and a transfer story if pages leave the EEA. US cloud APIs are a transfer. Many European finance and health teams choose local models to keep that transfer off the table.
Should every document go to a local model?
No. The usual pattern is local models for the high-volume 95%, and OpenAI or Anthropic for the hard exceptions — unusual layouts, high-stakes clauses, or a language the local stack has not seen.
Want this worked out on your documents?
We will price a real sample against OpenAI or Anthropic and tell you whether Bulk document processing or a local model on your hardware is the cheaper first step.
If you send every invoice, claim, or contract page to OpenAI or Anthropic, the bill looks small at the start and then tracks volume. A local model reverses that: you pay for hardware and the time to run it, and the cost per page falls as the pile grows. The crossover — the monthly volume where a reserved EU GPU undercuts GPT-4.1 and Claude Sonnet 5 on invoice-style extraction — sits around 50,000 to 90,000 pages. Below that, a cloud API is usually the cheaper way to start. Above it, or when pages must stay in the EU, local is the default.
This is a cost model, not a claim that Ækora processed a million pages on a secret cluster. The inputs are public list prices (September 2026), a stated token budget per page, and EU GPU rental rates you can check. Recalculate it on your own samples; that is the point.
What one page actually costs on a frontier API
Document processing is not a chat. A page is an image (or a few tiles of one), a schema prompt, and a JSON reply. Token count — not “number of documents” — is what OpenAI and Anthropic invoice.
We use two page profiles:
Routine invoice. 2,200 input tokens (high-detail scan + field list) and 400 output tokens (vendor, dates, VAT, totals, line items).
Hard page. 8,000 input and 800 output — a dense multi-column form, a stamped scan, or a contract excerpt with a longer schema.
List prices used here, converted at $1 = €0.92: OpenAI GPT-4.1 at $2 / $8 per million tokens; GPT-4.1 Mini at $0.40 / $1.60; Anthropic Claude Sonnet 5 at $3 / $15 (standard rate from 1 September 2026). Vision tiles and tokenizer differences will move any given file. Treat these as planning numbers, then measure.
Sticker cost per page from published API rates, September 2026. No retries, no caching, no batch discount.
Model
Routine invoice
Hard page
GPT-4.1 Mini
€0.0014
€0.0041
GPT-4.1
€0.0070
€0.0206
Claude Sonnet 5
€0.0116
€0.0331
Sticker cost per page from published API rates, September 2026. No retries, no caching, no batch discount.
Mini models look almost free. They also drop fields, invent VAT, and fail on stamps. Teams that start on Mini and then “just upgrade the failures” often discover that 15–30% of pages went to the expensive model — and that those pages were the large ones.
What one page costs on a local GPU
A compact document VLM such as PaddleOCR-VL or a small Qwen3-VL, running structured extraction, will do about 20 pages a minute on a single A100-class card once the pipeline is warm. That is 1,200 pages per hour. EU on-demand rental for that class of GPU sits around €1.50–€2.20 per hour (RunPod, Vast, Scaleway, and similar). We use €1.80.
Compute only: €1.80 ÷ 1,200 = €0.0015 per page. One hundred thousand pages is about 83 GPU-hours, or €150 of rental. An owned RTX 4090 amortized over three years plus electricity is lower still at high utilization, and higher if the box sits idle.
On-demand local compute is already cheaper than GPT-4.1 or Sonnet on a per-page basis. The reason companies still pay the API is not inference. It is that the API arrives with no rack, no driver, no queue, and no on-call. The crossover that matters is reserved capacity plus the people who keep it up, versus an invoice that grows with every file.
The crossover: reserved GPU vs the monthly API bill
Reserve a capable EU GPU at €600 per month (a realistic mid-range for a rented A100-class or a small owned box with power and a slice of ops). Ignore engineering for a moment. The month the API sticker exceeds €600 is the month the hardware has paid for itself on inference alone.
Monthly API sticker vs a €600 reserved GPU. Routine invoice profile. Break-even is reserved cost ÷ per-page API rate.
Volume / month
GPT-4.1 Mini
GPT-4.1
Claude Sonnet 5
Reserved GPU
10,000 pages
€14
€70
€116
€600
25,000 pages
€35
€175
€290
€600
50,000 pages
€70
€350
€580
€600
75,000 pages
€105
€525
€870
€600
100,000 pages
€140
€700
€1,160
€600
250,000 pages
€350
€1,750
€2,900
€600
Monthly API sticker vs a €600 reserved GPU. Routine invoice profile. Break-even is reserved cost ÷ per-page API rate.
Read the table as ranges, not a cliff:
Versus Claude Sonnet 5: crossover near 50,000 routine pages a month (€580 vs €600).
Versus GPT-4.1: crossover near 85,000 pages (€600 ÷ €0.007).
Versus GPT-4.1 Mini: you may never cross on price if Mini is accurate enough. You cross on quality, retries, or residency instead.
Shift the mix toward hard pages and the GPU wins earlier. A book of contracts at the hard-page GPT-4.1 rate (€0.021) crosses €600 at about 29,000 pages. A team that already “just uses Sonnet for everything” is past the line sooner than a team that routes clean invoices to Mini.
Why the rate card understates the cloud bill
Three habits blow up a token invoice without anyone changing vendor:
1. High-detail images
A 300-dpi A4 scan tiled for a vision API can add thousands of input tokens before the model reads a single field. The “2,200 token” routine page assumes a reasonably sized image. Finance teams that upload native phone photos of receipts often sit on the hard-page row without noticing.
2. Retries and second passes
A 90% field-accuracy run that you re-send on the misses is not a 10% surcharge. Failures cluster on the longest, messiest pages. Plan for a 1.3–2.0× multiplier on the sticker if you have not measured your own retry rate.
3. One model for every task
Email triage, invoice extraction, and a 200-page data room do not need the same model. Sending all three to Sonnet or GPT-4.1 is how a “cheap experiment” becomes a five-figure line item. The local pattern is the inverse: a cheap specialist on volume, a frontier API on the exception pile.
When GDPR decides before the spreadsheet does
Cost is the wrong first question for a lot of European work. If supplier invoices, prescriptions, or employee documents leave the EEA for a US API, you need a transfer story — standard contractual clauses, a vendor DPA, and an answer when a customer or works council asks where the files went. Schrems II did not ban US tools. It did make “we’ll just send the PDFs to OpenAI” an incomplete sentence.
The EU AI Act adds a second filter for systems that classify or extract from documents in regulated processes. You do not need a legal memo in this article. You do need to know that data residency can force local models at volumes where the API is still cheaper. That is common in DACH finance, Nordics public sector, and anything that touches health data.
If the constraint is residency, the crossover table is a bonus, not the decision. See local document models for the on-prem stack we actually deploy.
The pattern that usually wins: local for volume, API for the last 5%
The useful design is not “rip out OpenAI.” It is a split:
Local OCR / document VLM on the families you see every day — invoices, receipts, claims, standard forms.
A confidence threshold. Below it, a human or a frontier API sees the page.
Long-context local models for contracts and data rooms that should not leave the building.
OpenAI or Anthropic reserved for the weird 5%: a new layout, a language you have not sampled, a clause that has to be right.
That split is the consulting engagement in one paragraph. We map which workflows have the volume and the sensitivity to justify hardware, and which ones should stay on a metered API. The cost model above is the conversation starter; your token export and a 200-page sample are the evidence.
How to run this model on your own stack
Four measurements replace every hypothetical in this piece:
Tokens per page, by document family. Log input and output tokens for 200 real files. Split “routine” from “hard.” Do not average them into one comforting number.
Retry rate and human-touch rate. A cheap model with a 25% rework queue is not cheap.
Steady monthly volume, not last Tuesday’s backlog. Hardware wants a floor. APIs want a spike.
Where the file is allowed to go. If it cannot leave the EU, local is in the design before the crossover.
If you already pay OpenAI or Anthropic, export a month of usage and price it against a €600 GPU line. If you do not have that export, send us a sample batch — we will tell you which side of the line you are on, and whether the first win is bulk processing on our side or a model on yours.