openaccountants
Health Pass
- License — License: NOASSERTION
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 20 GitHub stars
Code Pass
- Code scan — Scanned 10 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
This project provides an open-source library of 371 AI-powered tax computation skills across 134 countries. It allows users to feed financial rules into an LLM via manual file uploads or an automated MCP server to help classify transactions and prepare tax working papers.
Security Assessment
The code scan reviewed 10 files and found no dangerous patterns, hardcoded secrets, or dangerous permission requests. As a tool designed to process financial data, it inherently handles highly sensitive information (bank statements, income details). While the local code appears clean and low-risk, users must trust the security practices of the external LLM (like Claude or ChatGPT) they connect the tool to, as that is where the data is processed. Overall risk: Low (for the MCP server code itself).
Quality Assessment
The repository is highly maintained and recently updated. It features a transparent, realistic README that explicitly warns users about LLM hallucinations, uneven country coverage, and the fact that many skills are lower quality tiers (AI-drafted but unverified). The project currently has 20 GitHub stars and lacks a formally declared software license (listed as NOASSERTION), which is a notable drawback for enterprise or commercial integration.
Verdict
Safe to use, provided you have a qualified tax professional review the output and you understand the limitations of its unverified, AI-generated tax advice.
Open-source tax skills for AI — 371 skills across 134 countries. Upload to any LLM or connect via MCP. Quality-tiered Q1–Q5.
OpenAccountants
Open-source tax computation skills for AI. 371 skills across 134 countries.
Upload to Claude, ChatGPT, or any LLM with your bank statement — or connect via MCP so your AI loads the right country's tax skills automatically. Get a working paper ready for your accountant and cut your accounting bill by 80%.
Your accountant charges by the hour. Most of that time is classifying transactions and filling forms. These skills do that work before the meeting. Your accountant reviews and signs off in 20 minutes instead of 3 hours.
Website: openaccountants.com
Two ways to use OpenAccountants
| Method | How it works | Best for |
|---|---|---|
| Manual upload | Download your country's folder, drag .md files into Claude / ChatGPT / any LLM |
Quick one-off use, any LLM |
| MCP server | Install once, add one line of config — your AI discovers and fetches skills automatically, every conversation | Developers, power users, Claude Desktop / Cursor |
Both methods use the same skill files. MCP just removes the manual step. See Quick start for uploads or MCP server for the automated path.
Known limitations
Read this before you trust any output.
- LLMs hallucinate and misread. These files steer the model; they do not guarantee correct numbers, classifications, or filings. Always have a qualified professional review before you act.
- Tax law changes. Rates, thresholds, and forms go out of date. The repo is a snapshot; openaccountants.com may be ahead of what you cloned.
- Verification is tiered, not binary. Most skills are not “battle-tested by a practitioner on real client data.” We publish Q1–Q5 tiers: Q1 is the bar for that; Q2 is research-verified to authority sites but not yet proven on real statements; Q3 is AI-drafted with citations but not independently verified. Many skills are Q3 or below — check the tier for the file you use.
- Coverage is uneven. Only eight countries ship the full guided stack (VAT + income tax + SSC + walkthrough) in this repo; dozens more have multiple skills without that guided path; many jurisdictions are VAT/GST-only or partial. See Coverage below and each country folder’s README.
Honesty is the point: if you know where the gaps are, you can use the project safely. Skeptics welcome.
Quick start (60 seconds)
1. Find your country
Most countries (130+): everything you need is in one place under packages/. Upload every file in that folder.
packages/
├── malta/ ← 9 files (VAT + income tax + SSC + guided intake)
├── uk/ ← 8 files
├── germany/ ← 7 files
├── australia/ ← 9 files
├── canada/ ← 12 files
├── india/ ← 7 files
├── spain/ ← 7 files
├── ... 126 more countries
United States: there is no packages/us/ folder. US tax work is split across modular skills under skills/ (federal forms, orchestrators that sequence them, and per-state sales tax). That matches how US compliance layers (federal vs 50 states) rather than a single “country bundle” like Malta.
| What you need | Where it lives |
|---|---|
| Federal workflow base (how the AI should work) | skills/foundation/us-tax-workflow-base.md |
| Federal content (Schedule C/SE, QBI, estimated tax, bookkeeping, etc.) | skills/federal/ — upload all .md files here |
| Orchestration (intake, return assembly, cross-form checks) | skills/orchestrator/ — include the us-*.md files that match your situation (e.g. us-federal-return-assembly.md; California freelancers also use us-ca-*.md) |
| State sales / use tax | skills/us-states/ — pick your state folder and add those .md files if sales tax applies |
| Selected states with extra local files | skills/florida/, skills/texas/, skills/newyork/, skills/washington/ when relevant |
For a typical US freelance federal return, start with us-tax-workflow-base.md, everything in skills/federal/, and the us-*.md files in skills/orchestrator/ your case needs; add state pieces only if they apply.
Contributors: international packages are generated from skills/international/ via scripts/build-packages.py. US skills are edited directly under skills/ until a single generated US package exists.
2. Upload to your LLM
International: open the folder for your country under packages/. Upload all .md files.
United States: collect the .md files from the paths in the table above (same workflow below).
Upload to:
- Claude.ai → Create a Project, add files as Project Knowledge
- ChatGPT → Attach files to a conversation or create a Custom GPT
- Any other LLM → Attach or paste the files
3. Attach your bank statement and go
Say:
Help me with my 2025 taxes. Here's my bank statement.
The AI will ask a few questions, classify every transaction, and produce a working paper for your accountant.
What's in each package
Every country folder contains:
| File | What it does | Same everywhere? |
|---|---|---|
foundation.md |
Tells the AI HOW to work — conservative defaults, output format, classification contract | Yes |
intake.md |
Onboarding questions, refusal checks, document inference | Yes (country name filled in) |
[country]-vat.md |
VAT/GST/sales tax rules, supplier pattern library, form mappings | No — country-specific |
[country]-income-tax.md |
Income tax brackets, deductions, transaction patterns | No — country-specific |
[country]-ssc.md |
Social security / pension contributions | No — country-specific |
[country]-guided-intake.md |
Full guided experience with detailed inference (if available) | No — 8 countries have this |
[country]-return-assembly.md |
Cross-checks between VAT, IT, and SSC (if available) | No — 8 countries have this |
Not every country has every file. Some have only VAT. Some have VAT + income tax + SSC. Eight countries have the full guided experience. Check the README inside each country folder.
Coverage
Full guided experience (8 countries)
Upload all files, say "help me with my taxes," and the AI walks you through everything:
| Country | What you get |
|---|---|
| Malta | VAT3 + TA24 income tax + Class 2 SSC + provisional tax |
| United Kingdom | VAT100 + SA103/SA100 + NIC + student loan |
| Germany | UStVA + Einkommensteuer + Sozialversicherung |
| Australia | BAS + ITR + super + Medicare levy |
| Canada | GST/HST + T1/T2125 + CPP/EI |
| India | GST + ITR-3/4 + advance tax |
| Spain | IVA + IRPF + RETA |
| United States (CA) | 1040 + Schedule C/SE + CA 540 |
Multi-skill countries (27 countries)
VAT + income tax + social contributions. No guided intake, but the AI uses the universal intake flow:
Austria, Belgium, Brazil, Chile, Colombia, Czech Republic, Denmark, France, Greece, Hungary, Ireland, Italy, Japan, Kenya, Mexico, Netherlands, New Zealand, Nigeria, Norway, Poland, Portugal, Romania, Singapore, South Africa, South Korea, Sweden, Switzerland
VAT/GST only (99 countries)
Consumption tax classification with country-specific supplier pattern libraries. From Albania to Zimbabwe.
How the skills work
The supplier pattern library
Every country skill contains a lookup table of local vendors. When the AI sees "BANK OF VALLETTA" or "DEUTSCHE TELEKOM" or "STRIPE PAYMENTS UK LTD" on your bank statement, it already knows the classification — no guessing.
Three outcomes per transaction
| Outcome | What it means | What happens |
|---|---|---|
| Classified | Documents carry enough info | Applied automatically, no flag |
| Assumed | Data missing, conservative default applied | Flagged for your reviewer with the assumption disclosed |
| Needs Input | Can't proceed without asking you | One targeted question |
Conservative defaults
When uncertain, the system always assumes MORE tax, never less. Your accountant can override a conservative position. They can't easily undo an aggressive one.
Quality tiers
Skills are partially verified at best unless you confirm the tier. Q1 means practitioner sign-off on real data; most files are not Q1. Full definitions (including Q4/Q5): docs/QUALITY-TIERS.md.
| Tier | What it means |
|---|---|
| Q1 — Battle-tested | Run against real bank statements. Multiple iterations. Practitioner signed off. |
| Q2 — Research-verified | Every rate verified against tax authority websites. Not yet tested on real data. |
| Q3 — AI-drafted | Full structure and citations. Not independently verified. |
MCP server
Instead of uploading files by hand, connect your AI client to OpenAccountants via the Model Context Protocol. Install once, configure once — every future conversation can pull the right country's skills automatically.
How it works
You: "Help me with my Malta taxes. Here's my bank statement."
↓
Claude: calls list_jurisdictions → sees "malta"
Claude: calls list_files("malta") → foundation.md, malta-vat.md, …
Claude: calls get_file("malta", "foundation.md") → full skill loaded
↓
Claude: processes your bank statement with the correct tax rules
Install
git clone https://github.com/openaccountants/openaccountants.git
cd openaccountants
pip install ./mcp # requires Python 3.10+
Connect
Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"openaccountants": {
"command": "openaccountants-mcp"
}
}
}
Cursor — add to .cursor/mcp.json or via Settings > MCP:
{
"mcpServers": {
"openaccountants": {
"command": "openaccountants-mcp"
}
}
}
Full setup details, uv instructions, and environment variables: mcp/README.md.
For developers
Clone the repo
git clone https://github.com/openaccountants/openaccountants.git
Repo structure
openaccountants/
├── packages/ ← Ready-to-use jurisdiction packages (START HERE for non-US)
│ ├── malta/
│ ├── uk/
│ ├── germany/
│ └── ... 130 more
├── skills/ ← Source files (for contributors); START HERE for United States
│ ├── foundation/ ← Universal workflow base + us-tax-workflow-base.md
│ ├── federal/ ← US federal income tax / Schedule C / SE / QBI / etc.
│ ├── international/ ← Country-specific content (feeds build-packages.py)
│ ├── orchestrator/ ← Intake + assembly (incl. us-federal-return-assembly, us-ca-*)
│ ├── us-states/ ← US state sales & use tax skills
│ ├── cross-border/ ← Reverse charge, WHT, PE risk
│ ├── intelligence/ ← Deadlines, thresholds, optimisation
│ └── patterns/ ← Global vendor patterns
├── scripts/ ← Build tools
│ └── build-packages.py ← Generates packages/ from skills/
└── docs/ ← Planning docs, architecture, roadmaps
Rebuild packages after editing skills
python3 scripts/build-packages.py
Contribute
Think your country's skill is wrong? Prove it.
Use Claude's deep research to verify rates against your tax authority's website. If you find an error — and you will — submit a PR. We've found errors in every single country we've verified. Yours probably has some too.
Prompt for deep research:
"Search [your country] tax authority website for the current VAT/GST rate,
registration threshold, and filing deadline. Compare against this skill file."
Build a skill for your country
Most countries have VAT but no income tax skill. Here's how to add one:
- Open any existing income tax skill (e.g.,
skills/international/malta/malta-income-tax.md) - Follow the same structure — quick reference, transaction pattern library, tier 1/tier 2 rules
- Add your country's local bank patterns (how do transactions appear on YOUR bank statement?)
- Submit a PR — your name goes on the skill as the author
- An accountant verifies it → it goes live on openaccountants.com
Improve the supplier pattern library
Know how your local bank formats statements? Know what "ENERGA SA" or "COUPANG" looks like on a bank CSV? That one line you add saves every user in your country from a misclassification.
Get credited
Every skill you write, verify, or improve — your name is on it publicly. Contributors build a profile at openaccountants.com.
See CONTRIBUTING.md for the full guide.
Pull requests: contributions are accepted under the Contributor License Agreement (CLA.md). You explicitly agree by ticking the CLA box in the pull request template when you open a PR.
Disclaimer
All skills and outputs are for informational and computational purposes only. Not tax advice. Not a replacement for professional judgment. All outputs must be reviewed by a qualified professional before filing.
The most up-to-date, verified version is maintained at openaccountants.com.
Contact
License
Dual-licensed: AGPL-3.0 for open-source use, commercial license for proprietary products.
Contributions are licensed to the project under the Contributor License Agreement; see CONTRIBUTING.md and the PR template for how you opt in.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found