precise tax preparer
Language models are probabilistic. Tax law is not. OpenTax is a deterministic computation engine: the same facts produce the same return, every time, with every line traced to the statute that produced it. It is the only open-source tax engine on the market, and the highest-scoring engine ever measured against one.
Same facts, same return, every single time. Rules and exact arithmetic, not sampling. Nothing an LLM can drift on.
There is no other open-source tax engine on the market. AGPL-3.0, every rule and every test in public.
96% exact returns on TaxCalcBench. No model, no engine, open or closed, has ever scored higher.
The model isn't the ceiling. #
The engine is.
TaxCalcBench, the industry benchmark for AI tax work, asks a model to prepare 50 complete US tax returns. A return only counts if every line is exact. Claude Sonnet on its own gets 6% of returns right. The same Sonnet, using OpenTax, gets 96%. The highest score ever recorded, above every top model, with or without web search. The engine amplifies whatever model you point at it.
We traced both to reference returns whose worksheets are inconsistent with their own inputs — no published model run has matched those two cases either. We filed the bug upstream. An engine precise enough to audit the exam it's taking.
methodology: TaxCalcBench TY25 by column-tax, 50 returns, strict scoring (every line exact) · scored with the benchmark's own evaluator against its reference returns · leaderboard rows from its published July 2026 results · agent runs cold, pass@1
Cited, verbatim
Every rule in the corpus carries its statute: 26 U.S.C. section, effective window, and a verbatim source excerpt. No number enters the engine on model recall.
Provable
Every computation returns a Merkle-rooted proof: the facts, the rules, the arithmetic. Re-verify any answer offline, byte for byte.
Documents in, facts out
A deterministic compiler turns W-2 and 1099 boxes plus birth dates into engine facts. Ages, dependent classifications, penalties, excess withholding, all with zero judgment calls.
Refuses loudly
Anything outside the corpus refuses with a named reason instead of guessing. A wrong answer that looks right is the one failure mode we do not ship.
Federal + state
Individual, corporate, and fiduciary: Forms 1040, 1120, and 1041, complete line sets in one call. State coverage across 29 states and growing, every line under the same citation discipline.
What your agent does with it #
OpenTax is the computation layer under whatever AI you already use — Claude, ChatGPT, Cursor, or your own agent. The model does the reading and the writing; the engine does the math. In practice:
Review every return with a second engine
Connect OpenTax to Claude and drop in the client file: W-2 and 1099 boxes compile deterministically into facts, the full 1040 line set recomputes to the cent, and every line your software disagrees with gets flagged — with the statute attached.
“Here's the Hendersons' W-2 and the draft 1040 from our software. Recompute every line and flag anything that doesn't match — citation for each flag.”
Quarterly estimates that survive lumpy income
Safe-harbor prongs (100% / 110% of prior year) and the § 6654 annualized-installment worksheets are encoded rules, not vibes. Windfall in Q3? The engine computes the installment that actually avoids the penalty.
“Client draws a $60k salary and just booked a $180k Q3 licensing windfall. Compute the annualized Q3 estimate and show the safe-harbor comparison.”
Entity elections, modeled to the cent
S-corp election letters stop being hand-waves: run sole-prop vs S-corp at a reasonable salary — SE tax versus payroll taxes, the QBI wage limit doing its thing, entity and personal pass in one call.
“Sole prop, $220k net. Model an S-corp election at a $110k salary: SE vs payroll tax, QBI under the wage limit, total federal delta — cited.”
Find the cliffs before your client does
The solver sweeps any input across a range and reports every cliff and kink on the way: Social Security taxability ramps, the senior-deduction phase-out, the 2026 premium-credit cliff, EITC's investment-income kill switch.
“Sweep an IRA withdrawal from $0 to $80k for this 67-year-old couple. Chart the true marginal rate, flag every cliff, then find the sweet spot.”
The OBBBA answer, ready before they ask
The corpus is dated law: the same facts derive under 2025 or 2026 rules — tips and overtime deductions, the senior deduction, car-loan interest, charity for non-itemizers, the SALT phase-down — so the “what changes for me” letter writes itself.
“Run the Alvarez file under 2025 law, then 2026 law. Draft the client letter: what changes, by how much, and which OBBBA section did it.”
Numbers you can staple to the workpapers
Every computation ships a Merkle-rooted proof — facts, rules, arithmetic, citations — verifiable offline months later, byte for byte. And outside the corpus the engine refuses loudly instead of guessing: the failure mode that matters in this profession.
“Recompute Schedule 8812 for the review file and attach the proof artifact — I want every step re-derivable at audit time.”
research is built in too: search_tax_rules
finds the encoded law by keyword, lookup_tax_parameter
returns the dollar amounts with citations, and verify_fact
answers verified / refuted — zero hits means “outside the corpus”, never a guess · same engine as a CLI (opentax check --expect
for CI) and a TypeScript library that runs entirely in a browser tab
One URL. Any agent. #
Hosted, stateless, free to try. Paste the connector into anything that speaks MCP.
https://opentax.invaro.ai/mcp
Copy the connector URL
One hosted URL. Nothing to install, no auth, free to try.
https://opentax.invaro.ai/mcp
Add it in Claude
Settings → Connectors → Add custom connector. Name it opentax and paste the URL.
Ask a tax question
Enable opentax in the chat's tools menu, then try:
MFJ, $120,000 wages, two kids — what's the federal refund?
`claude mcp add opentax -- npx -y @invaro/opentax`
`npx -y @invaro/opentax eval --status mfj --wages 120000 --kids 2`
Give your model the engine #
One MCP server. Grouped facts in, the full scored line set out: cited, rounded the way the forms round, and provable.
or get new features and other things worth knowing in your inbox · double opt-in · privacy