How OpenAccountants Works: From Question to Verified Answer
Most explanations of AI tax tools stop at "it's powered by AI." That's not an explanation — it's a way of avoiding one. So here's exactly what happens, technically and practically, when you connect OpenAccountants to your AI agent and ask a tax question.
Step 1: Install the MCP connector (one command)
Go to openaccountants.com/connect. You'll see a single install command for your agent — something like:
npx openaccountants-mcp install
That registers the OpenAccountants MCP server with your agent. MCP (Model Context Protocol) is an open standard for connecting AI agents to external tools and knowledge sources. After install, your agent can discover and call OpenAccountants tools natively — no API keys to wire up, no custom code.
Works with Claude, ChatGPT, Cursor, Windsurf, and any other MCP-compatible agent.
Step 2: Ask your question
You don't change how you talk to your agent. Ask it normally:
"What's the VAT rate for SaaS sold to a German business customer?"
That's it. The agent recognises this as a tax question for a specific jurisdiction and, because the MCP server is connected, routes it through OpenAccountants instead of guessing from training data.
Step 3: The MCP server routes to the right skill
The server receives the query and identifies the relevant skills — in this case, the German VAT rules and the cross-border OSS/reverse-charge guidance. It passes those to the agent's context.
This routing step matters. VAT alone has dozens of sub-rules: standard rate vs. reduced rate, B2B vs. B2C, place-of-supply rules, registration thresholds, OSS implications. The MCP server doesn't hand the agent a single number. It loads the right rulebook for the specific question.
Step 4: The skill loads into context
A skill is a structured markdown file. Not a knowledge base chunk. Not a database lookup. A document written and verified by a qualified accountant that covers:
- Current rates and thresholds — with the year they apply
- Computation steps — the exact logic the agent should follow
- Worked examples — so the agent can pattern-match against a solved case
- Source citations — specific legislation, official guidance, BMF letters, HMRC pages
- A refusal catalogue — a list of things the skill explicitly won't do
That last item is worth expanding. Every skill ships with a list of things it won't advise on without flagging the need for a human. The German VAT skill won't tell you whether you should register for OSS — that depends on your individual revenue profile and business structure. It won't recommend aggressive planning strategies without saying they're aggressive. It won't give legal advice dressed up as tax advice. When you're at the boundary, the skill says so.
Step 5: The agent answers — with sources
With the skill loaded, the agent answers differently to how it would without it.
Here's what the difference looks like concretely.
Without a skill (Claude guessing from training data):
"The VAT rate in Germany is 19% for most goods and services, though a reduced rate of 7% applies to certain categories. For SaaS, you'd typically apply the standard 19% rate."
That's technically not wrong for a domestic German sale. But for a B2B cross-border sale to a German business? It misses the entire reverse-charge mechanism. The correct answer is 0% charged, with the German business self-accounting for VAT under §13b UStG. Filing 19% on that invoice would be wrong — and it would cost someone money.
With the skill loaded:
"For SaaS sold B2B to a German business customer from outside Germany: the supply is subject to reverse charge under §13b UStG. You charge 0% VAT on your invoice, provided the customer supplies a valid German VAT ID (Umsatzsteuer-Identifikationsnummer). The customer accounts for the VAT in their own return. You should include this supply in your EC Sales List (ZM). Source: § 3a UStG (place of supply — B2B services), § 13b UStG (reverse charge), BMF-Schreiben 2023."
That's not a guess. It's the correct answer, with the law cited, showing the computation logic and the compliance step (EC Sales List). Your agent didn't recall this — it read it from a document a qualified accountant wrote and signed off.
Step 6: When the question needs a human
Some questions shouldn't be answered by software alone. "Should I register for OSS?" is a business decision that depends on your revenue mix, customer countries, and growth projections. A skill can explain the OSS rules and the registration thresholds. It cannot tell you what's right for your situation.
When the agent hits one of those questions, it calls request_accountant_review. That tool bundles the user's situation — what they've told the agent, what the relevant rules are, what the open questions are — into a structured worksheet and routes it to a verified accountant in that jurisdiction.
The user gets a response from a qualified professional who has read the context. Not a referral form. Not a lead-gen wall. An accountant who has the worksheet in front of them.
What "CPA/EA verified" actually means
The skills in the library have two verification tiers.
Research-verified (Q3): The rates and citations have been cross-checked against primary legislation and official guidance by an OpenAccountants researcher. These are free and open-source on GitHub. Good for understanding a jurisdiction; not suitable for high-stakes filing without a further check.
Accountant-verified (Q1/Q2): A named, licensed CPA or EA — or equivalent in non-US jurisdictions — has reviewed the skill section by section. They checked the rates against current law, confirmed the computation logic, and put their professional name on it. Every answer that draws on a verified skill shows who verified it.
That last part matters. "A licensed accountant reviewed this" is easy to say. "Jane Smith EA, license number TX-XXXX, reviewed the 2025 §199A deduction logic on 14 March 2025" is a different thing. We publish the verifier name on every verified section.
The full picture
| Step | What happens |
|---|---|
| Install | One command registers the MCP server with your agent |
| Question | User asks naturally; agent detects tax jurisdiction |
| Routing | MCP server identifies the relevant skills |
| Load | Skills load into agent context: rates, logic, examples, citations, refusals |
| Answer | Agent answers from verified rules, cites the source |
| Escalate | If needed, request_accountant_review routes to a human professional |
The goal isn't to replace accountants. It's to stop AI from inventing rules when correct rules exist and are available — and to make the handoff to a human professional smooth when the question genuinely needs one.
If you're building something that touches tax, connect your agent here. If you want to understand the skill coverage first, browse the library. And if you're working on a situation where a wrong answer has real consequences, the accountant network is the right next step.
The rules are open. The verification is real. The sources are cited. That's the whole thing.