Invoice fields

GPT-6 Luna vs Claude Haiku 4.5
for pulling fields from invoices

This page compares two budget models on one job: pulling vendor, date, amount and line items from pasted invoices into a table. It tests them through their APIs, covers cost at volume, and ends with a fair way to try both on your own invoices.

Oct 14, 2026 · 9 min read

The bottom line
Luna on cost and a test on accuracy

For a new invoice pipeline, start a pilot with GPT-6 Luna. If a Claude Haiku 4.5 system already runs well, test Luna beside it before you move anything.

Luna lists $0.10 per million input tokens and $0.50 per million output tokens, against $1 and $5 for Haiku 4.51, 2. On a planning profile of 3,000 input and 500 output tokens per invoice, taken from a published extraction-cost analysis9, 100,000 invoices cost about $55 on Luna and $550 on Haiku 4.5 at standard list prices1, 2. Both vendors take half off for batch jobs, so the tenfold gap stays the same.

Haiku 4.5 is also an older model. As checked on October 13, 2026, Anthropic lists it as legacy, recommends Haiku 5.5 instead, and lists its retirement as not sooner than October 15, 2026. That is a minimum and not a scheduled shutdown, but it is a poor starting point for something new2. Anthropic's current Haiku 5.5 is listed from the same $0.10 and $0.50 per million tokens, so the tenfold gap is against the older model and not against Anthropic's current one2.

Accuracy is the open question. The best invoice evidence covers Haiku 4.5 alone, and it shows scrambled totals are hard. A small test with both models favors Luna a little, but it was not about invoices3, 4. A sensible setup uses Luna with reasoning off for extraction, code to check that quantities, prices and totals add up, and a person or a stronger model for the invoices that fail.

Who this is for
Which finance roles this fits

Pilot Luna01

Accounts-payable teams

You turn pasted invoices into rows for the ledger. Luna costs less and is a current model, and every total still gets checked before posting.

Schema first02

Finance-automation developers

You build the pipeline. Both models can return a fixed table layout, so spend your effort on a hard test set and exact arithmetic checks in code.

Cost at volume03

Invoice outsourcing teams

You handle many suppliers and many layouts. At 1,000,000 invoices the list-price gap is $550 against $5,500, and your own mix of layouts decides accuracy.

Shadow test04

Teams already on Haiku 4.5

You have a validated system. Run Luna beside it on the same invoices and move only if field and line-item accuracy hold up.

What we compared
The models through their API

This page compares the two models through their API in one neutral setup, with the same pasted invoice text going to both.

The job is the one an accounts-payable team repeats all day. Take a pasted invoice and return the vendor, the invoice date, the total, the currency and every line item with its description, quantity, unit price and amount. Some invoices are clean. Others lose their columns when copied, carry OCR errors (mistakes from text-reading software), show several totals, or wrap a line item over two rows. Our sources are the official model documentation, one invoice dataset and independent tests1, 2, 4.

We left tools out of the specs table on purpose. Spreadsheet add-ons, file upload and document readers belong to the app around the model, so the same model behaves differently in a chat product, in the API or inside a workspace. The fair test sends identical text to both models. No public benchmark does that for these two models on invoices, which the evidence section covers.

Specs at a glance
Price and limits for invoice text

The model facts that shape an extraction job. Tool and file features are left out, since those depend on the app around the model.

Spec
GPT-6 Luna
Claude Haiku 4.5
Why it matters
Context window and output limit
1,050,000 tokens in, up to 128,000 tokens out1
200,000 tokens in, up to 64,000 tokens out2
Both hold far more than a single pasted invoice needs. Size only matters if you send large combined batches in one request
Standard price
$0.10 / 1M in and $0.50 / 1M out. Above 272,000 input tokens the full request costs $0.20 / 1M in and $0.75 / 1M out1
$1 / 1M in and $5 / 1M out2
Extraction sends a long input and returns a short table, so the input rate does most of the work in the bill
Batch price
$0.05 / 1M in and $0.25 / 1M out at short context1
$0.50 / 1M in and $2.50 / 1M out2
Both halve the price for work that can wait, which suits a nightly invoice run
Structured output
Structured Outputs with JSON Schema1
Structured outputs7
Either can force the same table layout. A fixed layout does not make the values correct
Reasoning setting
Configurable from none upward1
Optional extended thinking2
Routine extraction can run with thinking off and avoid paying for extra steps
Inputs and caching
Text and image input, prompt caching1
Text and image input, prompt caching2, 7
Caching a long, repeated instruction can cut the cost of each invoice
Lifecycle status
Current model, listed in the OpenAI API model docs1
Active but legacy, with Haiku 5.5 recommended instead2
A model that is being replaced can force a migration in the middle of a project

Figures from OpenAI and Anthropic documentation, checked October 13, 2026. A token is the small chunk of text a model reads and bills by, and 1M means one million of them. The two vendors count tokens differently, so treat any cross-model cost comparison as a close estimate.

Head to head
Luna on cost and no accuracy winner

Cost and lifecycle have clear answers. Accuracy does not, so some rows below say a test is required.

Job
Better choice
Why the edge exists
Best evidence
Accuracy on messy pasted layouts
No evidence-based winner
The only invoice dataset we found tested Claude Haiku 4.5 and left out GPT-6 Luna, so it cannot decide the pair.
Haiku 4.5 scored 81.2% of invoices fully correct and 97.3% of fields. It reached 100% on clean and column-collapsed text, 75% with labels removed and 50% with scrambled totals4
Line items and key fields
Test required, slight Luna lean
OpenAI's model guide positions Luna for repeated extraction work, which is product guidance and not a benchmark. Haiku's strongest document result is on key fields, and it covers document images and not pasted text.
Haiku 4.5 scored 85.6 on key-information extraction and 59.2 on visual question answering on the IDP Leaderboard5. OpenAI's guide positioning Luna for extraction is vendor guidance6
Table format consistency
Tie
Both support schema-constrained output. That prevents missing keys and wrong types and cannot guarantee that a value is correct.
Both vendors document structured output1, 7
Consistency across varied tasks
GPT-6 Luna, directional
The test used one run per prompt and was not about invoices. Both models passed every document-answering prompt, and Luna passed more of the data-analysis prompts.
Luna passed 47 of 50 shared prompts against 43 for Haiku 4.5, and 5 of 5 data-analysis prompts against 33
Arithmetic and reconciliation
Neither without code checks
Both models made arithmetic mistakes in the same test, so structured JSON does not make sums trustworthy.
Luna made a bundle-price error and Haiku 4.5 made average-order-value and correlation errors3
Cost at volume
GPT-6 Luna
Both are published prices for the two named models, and each vendor halves the price for batch jobs.
Luna lists $0.10 in and $0.50 out per 1M tokens and Haiku 4.5 lists $1 in and $5 out1, 2
Lifecycle for a new system
GPT-6 Luna
A new project should not start on a model its vendor is already steering customers away from.
Anthropic lists Haiku 4.5 as legacy and recommends Haiku 5.5, with retirement listed as not sooner than October 15, 20262, 11

Luna looks stronger as the operating choice because of its lower price, current status and encouraging but limited tests. Haiku 4.5 has a narrower case, an existing system that is already validated where changing models adds more risk than it saves. Better-choice calls map to dimensions the sources evaluated, and rows on indirect tests say so.

How to test
A fair test on your own invoices

Generic benchmarks do not cover your suppliers. Build a small set from your own invoices, give both models the same input, and score line items apart from header fields.

Sample01

Build a set of hard invoices

Pick three to five groups: clean invoices, text with collapsed columns, text damaged by scanning, invoices with several totals, and line items that wrap or run over several pages. Add credit notes, discounts and invoices where the printed total does not match the visible items.

Prompt02

Give both the same prompt

Use one prompt and one output schema for both models, with identical text. Neither model gets a richer version, and you do not repair an output before it is scored. Run the important examples more than once to catch drift between runs.

Setup03

Match the setup

Start with reasoning off or at its lowest setting for both, and run them through the API settings production will use. Chat products add their own prompts and tools, so API and chat results can differ.

Scoring04

Score before any editing

Count exact matches on vendor, date, currency and grand total. Measure how many fields and line items are found and how many are correct, including description, quantity, unit price and amount. Also track valid schema rate, arithmetic checks that pass, invented line items and minutes of human correction per invoice. For a commercial decision, hide model names from the reviewer.

What the evidence shows
Mixed Haiku results and thin Luna data

No public benchmark scores these two exact models on the same invoices. Here is what each related source helps judge.

Source
What it measures
What it suggests
How to weigh it
Invoice dataset for Claude Haiku 4.5
Invoice extraction on clean, column-collapsed, scrambled-total and label-removed text
Fields are mostly right, and picking the correct total from scrambled text is the hard part
The closest invoice evidence. It leaves out GPT-6 Luna, so it cannot rank the pair4
IDP Leaderboard
Document tasks on Haiku 4.5 including key-information extraction and visual question answering
Haiku does better once field relationships are clear and worse when layout carries the meaning
It covers document images and not pasted text5
Shared-prompt test of both models
50 prompts run once each, including data analysis and document answering
Luna passed 47 and Haiku 4.5 passed 43, and both passed every document-answering prompt
Directional only, since it is a small test and not about invoices3
Receipt and document research
ICDAR 2019 receipt extraction and the DocVQA document-question dataset
Matching values across tables and layouts is a known weak point for document systems
Explains why the job is hard and says nothing about these two models12, 13

Luna was released in September 2026, so its task-specific evidence is thin. Vendor figures are not independent, and the tests use different prompts and ways of damaging text. The verdict rests on cost, lifecycle and related tests, and it stays short of conclusive on accuracy.

How to prompt each one
Both must define the final total

Use one shared prompt first and tune per model only after the controlled test. The two patterns below differ in how they lay out the rules.

For GPT-6 Luna, start with reasoning set to none, a strict schema and short field definitions. Say exactly what to do when a value is missing, and define the total as the amount payable. Reasoning set to none is the lowest-cost place to start, and the schema fixes the table shape1, 8.

For Claude Haiku 4.5, separate the rules, the examples and the invoice text with XML-style tags, and still use structured output at the API level. Anthropic recommends clear steps and several varied examples when consistency matters, and extended thinking can stay off until a test shows it helps10.

A GPT-6 Luna prompt: a strict schema and an explicit rule for the total

Extract one invoice. Return only the supplied schema.
Never infer a missing value. Use null when it is absent.
Preserve line-item order.

"total" means the final amount payable, not the subtotal,
tax or a prior balance. For each line item return
description, quantity, unit price and line amount.

Set needs_review to true if the totals do not reconcile.

A Claude Haiku 4.5 prompt: tagged sections for rules and invoice text

<rules>
Extract only visible values. Use null for missing fields.
Do not combine separate line items.
Select the final payable total.
</rules>

<invoice>
...pasted invoice text...
</invoice>

Weak spots
Wrong totals and joined line items

Neither model is safe to post accounting data on its own. The useful question is where each adds cleanup work and what to change in the prompt or the workflow.

Model
Weak spot
What it looks like
How to fix it
GPT-6 Luna
Thin public invoice evidence
A schema-valid answer can hold the wrong total or two line items joined into one. Public invoice results for Luna are still sparse.
Require null instead of a guess. Ask for the source text behind each field. Reconcile totals in code and send exceptions to review. Try reasoning set to none before raising it.
Claude Haiku 4.5
Scrambled totals and legacy status
In the invoice dataset it fell to 50% on scrambled totals and 75% with labels removed. It also costs ten times Luna's list price and is marked legacy2, 4.
Add examples with a subtotal, tax, a previous payment and a balance due. Define amount precisely and check sums outside the model. Avoid starting a long-lived system on this version.
Both models
Correct shape and wrong facts
Structured output guarantees the table layout and not the contents. Flattened pasted text can also lose the column links needed to rebuild line items.
Keep spacing where you can, mark page breaks, include column headers and keep a pointer back to the source text. If the original is an image, test image input and do not assume OCR text is equivalent.

Which one to choose
Start from new build or old system

One question first: which kind of invoice job do you have. Then follow the branch that matches it.

Which kind of invoice job do you have? A new build from scratch An existing system on Haiku 4.5 Very clean and repetitive invoices Messy totals or wrapped line items Photos or scans as the input GPT-6 Luna as the pilot Shadow-test Luna then migrate if equal GPT-6 Luna reasoning off Run your own test and pick the winner A separate image comparison Add checks and review

Use this as a starting point and test on your own invoices before you commit

Recommendations
Pick by invoice type and stakes

For a new deployment, pilot GPT-6 Luna. Its lower price and current status win unless your own test shows a clear accuracy gap1, 2. For a very clean, repetitive set of invoices, use Luna with reasoning off and batch processing.

If Haiku 4.5 already runs in production, run Luna beside it on the same invoices. If field and line-item accuracy match, move to Luna. If Haiku wins on important supplier layouts, keep it for now and plan a move to a current Anthropic model2.

For messy totals or wrapped line items there is no automatic winner, so pick the model that wins your supplier-specific test and add reconciliation and review. For strict table output either model works, and Luna has the cost edge unless measured accuracy says otherwise. For high-stakes accounting, require arithmetic checks in code and a human review whichever model you choose.

If you process a handful of invoices a month by hand, Playgram is not the right buy for this job. It earns its place when a team compares models, shares context and checks extraction samples together.

Bottom line
Luna is the practical choice here

GPT-6 Luna is the practical winner for this budget extraction job, with cost and lifecycle on its side and accuracy still to be confirmed on your own invoices.

The evidence is incomplete. No public test runs both models on the same invoices. Haiku 4.5 has useful but mixed invoice results, and Luna has newer and mostly directional ones. Benchmarks use different prompts and harnesses, vendor figures are not independent, and prices and availability can change quickly2, 3, 4.

The safest final step is to test the shape of your own invoices, starting with your worst suppliers and scoring line items apart from header fields. A fair test needs the same setup for both models: the same invoice text, the same prompt and the same place to run them, so the result reflects the models and not the tool around them. In practice that is harder than it sounds, since most teams end up running one model in one app and the other in a different one, on two separate subscriptions, which tilts the comparison before the first answer comes back. The cleaner the setup, the more the difference you see is really GPT-6 Luna vs Claude Haiku 4.5, and which one happened to be easier to reach that day matters less.

Test both in one workspace
Right here inside Playgram

That's the practical case for the setup just described, and it also makes day-to-day work easier. When the models sit in one workspace, you can send a batch of invoices to each, compare the two tables side by side, and hand a follow-up question from one model to the other without pasting the invoices again.

Playgram lets you run that exact test. Paste a set of real invoices once and ask for a table of vendor, date, amount and line items from the latest GPT and Claude models. Then keep going with either one to check a total or a wrapped line item, without starting over for a second opinion.

The same memory carries across the team too, not just this one test, over the latest GPT, Claude, Gemini and Grok models and many more, all in one place14. The line-up is curated, so retired models are turned off and new ones are added as they ship.

Team memory

Shared across everyone and every model.

Project memory

Scoped to a campaign or document set.

Personal memory

Your own working style, kept private.

Fair pricing
Pay per usage, not per seat

Upgrade as needed, and only pay for what you actually use

Save ~17% with the annual plan

Pro

$50/ month

Perfect for small and medium teams

Unlimited users & infinite memory

Multi-LLM chats

Granular access control to models

EU data residency

Get started

Ultra

$200/ month

Best for large, growing teams

Unlimited users & infinite memory

Multi-LLM chats

Unlimited use of DeepSeek V4 Flash

Granular access control to models

Choose US or EU data residency

Get started

Enterprise

Get in touch

Unlimited Credits

For organizations with advanced needs

Unlimited users & SSO

Priority Support

Unlimited use of DeepSeek V4 Flash

Granular access control to models

Choose US or EU data residency

Book a call

30-days money back guarantee

Frequently asked
questions

No public test can name a winner on accuracy. The one invoice dataset we found scored Claude Haiku 4.5 at 81.2% of invoices fully correct and 97.3% of individual fields, and it did not include GPT-6 Luna. On cost and lifecycle Luna is clearly ahead. OpenAI's model guide also positions Luna for repeated extraction work, which is guidance and not a benchmark. Test both on your own suppliers before you commit.

Using a planning profile of 3,000 input tokens and 500 output tokens per invoice, 100,000 invoices cost about $55 on GPT-6 Luna and about $550 on Claude Haiku 4.5 at standard list prices. At 1,000,000 invoices that becomes $550 against $5,500, or $275 against $2,750 with each vendor's half-price batch option. Real bills shift with how long your invoices and answers are.

It works today, but it is a weak choice for something new. As checked on October 13, 2026, Anthropic lists it as a legacy model, recommends moving to Haiku 5.5, and lists its retirement as not sooner than October 15, 2026. That is a minimum and not a scheduled shutdown, so an existing system can keep running while you plan the move.

No. Both models can be forced to return a fixed table layout, which prevents missing columns, wrong data types and chatty commentary. It does not check that the value in the Total column is the amount actually due. A schema-valid answer can still pick a subtotal or a prior balance, so compare the result with the invoice text.

Your own code. In one shared-prompt test, GPT-6 Luna made a bundle-price error and Claude Haiku 4.5 made average-order-value and correlation errors, so neither is safe with arithmetic alone. Ask the model for quantity, unit price and line amount, then have code add them with exact decimal math and compare the result with the subtotal, tax and grand total.

Start with it off for both. GPT-6 Luna lets you set reasoning to none, and Claude Haiku 4.5 makes extended thinking optional. Extraction from clear text is a narrow job, and extra thinking adds cost and delay. Turn it up only if a test on your hardest invoices shows it fixes errors by enough to pay for itself.

Not directly. Both models accept image input, but this page covers invoices that arrive as pasted text, including text damaged by copying or scanning software. Reading an image straight from a photo is a separate visual-document comparison, and the text-only verdict should not be carried over to it.

No. Run the same prompt on both and compare the answers, or switch between them mid-conversation. You choose after reading both answers instead of guessing up front.

Related comparisons

Kimi K3 vs DeepSeek V4 Pro for data extractionGPT-5.6 Sol vs Gemini 3.1 Pro for PDF table extractionDeepSeek V4.1 Flash vs GPT-6 Luna for cleaning survey dataGemini 3.8 Flash vs GPT-6 Luna for reading chart screenshots

Same invoices for every model
Kept in the same memory

Send the same invoices to each model you want to test, keep the context in one place, and see which one returns the cleaner table. Set it up in a minute.

Get startedSee the pricing