Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions partner-built/openaccountants/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"name": "openaccountants",
"version": "1.0.0",
"description": "Verified tax & accounting skills for 190+ jurisdictions — every answer linked to a named licensed accountant. 11 tools including a real AI-to-verifier handoff that routes the user (with their working paper) to the lead accountant for their country with a Calendly booking link. Built on the OpenAccountants MCP server: 882 published skills, country-verified sign-offs (Michael Cutajar CPA for Malta, Werner Britz CA(SA) for South Africa, growing).",
"author": {
"name": "OpenAccountants",
"url": "https://openaccountants.com"
},
"repository": "https://github.com/openaccountants/marketplace",
"homepage": "https://openaccountants.com/connect",
"license": "MIT",
"keywords": [
"tax",
"accounting",
"vat",
"gst",
"payroll",
"crypto-tax",
"transfer-pricing",
"company-formation",
"small-business",
"finance",
"openaccountants",
"mcp"
]
}
8 changes: 8 additions & 0 deletions partner-built/openaccountants/.mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"mcpServers": {
"openaccountants": {
"type": "http",
"url": "https://www.openaccountants.com/api/mcp"
}
}
}
30 changes: 30 additions & 0 deletions partner-built/openaccountants/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
MIT License

Copyright (c) 2026 OpenAccountants

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

---

The skill content surfaced via this plugin (verified tax rules, rates, audit
flash points, and citations) is dual-licensed under the OpenAccountants
license. See https://github.com/openaccountants/openaccountants for details.

Outputs from this plugin are working papers, not filed tax returns, and do
not create a client-accountant relationship. See the README for the disclaimer.
103 changes: 103 additions & 0 deletions partner-built/openaccountants/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# OpenAccountants Plugin for Claude Code and Cowork

Give Claude **verified tax & accounting skills for 190+ jurisdictions** — every answer linked to a **named licensed accountant**. Powered by the [OpenAccountants MCP Server](https://www.openaccountants.com/api/mcp) with **one-click integration**.

---

## 🔌 One-Click MCP Server Integration

This plugin **automatically configures the OpenAccountants MCP server** when installed. No API keys, no setup, no config files — just install and start asking real tax questions for any country, US state, or industry.

---

## ✅ What you get

**882 verified skills** across **190+ jurisdictions** (every country + US state + Canadian province). **11 MCP tools.** Country-verified sign-offs from named licensed accountants — Michael Cutajar CPA (Malta), Werner Britz CA(SA) (South Africa), and a growing global network.

The skill content is kept current with annual rate refreshes, post-legislative updates, and IRS Revenue Procedure releases — so Claude isn't relying on training-data tax rates that drifted two years ago.

---

## 🧰 Slash commands

| Command | What it does |
|---|---|
| `/openaccountants:start` | Front door — give Claude an intent ("VAT return", "tax filing", "formation") and a jurisdiction, get a scoped plan with the right skills loaded |
| `/openaccountants:return` | Walk through a full tax return for any jurisdiction — intake → classification → working paper → reviewer handoff |
| `/openaccountants:vat` | VAT / GST / sales tax return — classifies transactions, computes return-form box totals, flags audit-risk items |
| `/openaccountants:formation` | Entity choice + incorporation across jurisdictions — LLC vs S-corp vs LTD, ongoing compliance, tax election windows |
| `/openaccountants:compare` | Side-by-side compare 2-5 jurisdictions — entity choice, effective rates, residency planning, cross-border decisions |
| `/openaccountants:rates` | Current-year US federal indexed rates — brackets, 401(k) limits, SS wage base, FEIE, gift/estate, mileage, 1099-K |
| `/openaccountants:review` | **The handoff.** Routes the user to the named lead verifier for their jurisdiction with their working paper attached and a Calendly booking link |

### The differentiator: `/openaccountants:review`

Every honest AI tax workflow ends with *"have a professional review before filing"*. This command turns that closing line into an actual booking.

When you call `/openaccountants:review`, Claude captures your working paper (classified transactions, computations, draft return lines), routes it to the named lead verifier for your jurisdiction, logs the scenario server-side so the accountant sees real context, and returns their Calendly URL. No client-accountant relationship until both sides sign an engagement letter — the first call is just a review conversation.

---

## 🧠 How it works (the 11 MCP tools)

**Discovery**
- `start` — scopes intent + jurisdiction, returns a ready plan
- `list_jurisdictions` — every country/state covered with skill counts + lead verifier
- `list_skills` — full catalogue, filterable by jurisdiction
- `list_verifiers` — every named accountant in the network

**Skill access**
- `get_skill` — fetch the verified markdown for a skill (rates, rules, audit flash points, citations)
- `get_skill_sections` — parsed sections for step-by-step rule application
- `search_skills` — keyword search ("home office deduction", "reverse charge", "§1202 QSBS")

**Tax intelligence**
- `get_rates` — machine-readable US federal annual rates for 2025/2026
- `compare_jurisdictions` — load 2-5 jurisdictions side-by-side

**Handoff & feedback**
- `request_accountant_review` — the AI-to-verified-human handoff
- `submit_feedback` — pre-filled GitHub Issue when you spot an error or outdated rate

---

## 🌍 Per-jurisdiction & per-topic plugins

Want a plugin pre-scoped to one country or one topic? OpenAccountants publishes a **separate marketplace** with **83 specialised plugins**:

```bash
claude plugin marketplace add openaccountants/marketplace
```

Then install any of:

- **Per country**: `openaccountants-mt` (Malta, verified by Michael Cutajar CPA) · `openaccountants-za` (South Africa, Werner Britz CA(SA)) · `openaccountants-us-ca` · `openaccountants-gb` · `openaccountants-de` · `openaccountants-jp` · `openaccountants-in` · `openaccountants-br` · *…60 more*
- **Per topic**: `openaccountants-crypto-tax` · `openaccountants-transfer-pricing` · `openaccountants-company-formation` · `openaccountants-payroll` · `openaccountants-vat-gst` · `openaccountants-tax-optimization` · `openaccountants-bookkeeping` · `openaccountants-cross-border`
- **Per vertical**: `openaccountants-vertical-saas-digital-products` · `openaccountants-vertical-ecommerce-seller` · `openaccountants-vertical-freelance-developer` · `openaccountants-vertical-property-investor` · *…10 more*

All 83 route to the same hosted MCP backend — install only what you need.

---

## 🏛️ Trust model

- **Open source.** All 882 skills are public markdown at [github.com/openaccountants/openaccountants](https://github.com/openaccountants/openaccountants).
- **Country-verified.** Each jurisdiction is signed off by a named licensed accountant whose credential and Calendly link are published. Tier 1 = signed; Tier 2 = research-verified (flagged honestly to the user).
- **Cite-able.** Every skill output includes a provenance footer with the named verifier, the skill slug, and a working-paper attribution line.
- **Working papers, not advice.** Outputs always carry the *not-tax-advice* disclaimer. The handoff to a real accountant is built into the tool surface.

---

## 📚 Resources

- **Website**: [openaccountants.com](https://openaccountants.com)
- **Install (any AI client)**: [openaccountants.com/connect](https://openaccountants.com/connect)
- **Source code**: [github.com/openaccountants/openaccountants](https://github.com/openaccountants/openaccountants)
- **Plugin marketplace**: [github.com/openaccountants/marketplace](https://github.com/openaccountants/marketplace)
- **Talk to a verifier**: [calendly.com/openaccountants-info/30min](https://calendly.com/openaccountants-info/30min)

---

## ⚠️ Disclaimer

Outputs are **working papers, not filed returns**. No client-accountant relationship is created until both parties sign an engagement letter. Use `/openaccountants:review` to route to a credentialed accountant before acting on anything.
33 changes: 33 additions & 0 deletions partner-built/openaccountants/commands/compare.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: compare
description: Side-by-side comparison of 2-5 jurisdictions for cross-border decisions (entity choice, residency, multi-state RSU, etc.).
---

The user wants to compare tax treatment across jurisdictions — entity choice, residency planning, multi-state, cross-border structuring.

Ask them:
- **Which jurisdictions** to compare (2-5, e.g. MT vs IE, US-CA vs US-TX vs US-FL)
- **Entity type** (individual, self-employed, company, trust)
- **Income figure** (optional, helps with effective rate comparison)

Then:

1. Call `compare_jurisdictions` on the `openaccountants` MCP server:

```json
{ "jurisdictions": ["MT", "IE"], "entity_type": "company", "income": "EUR 250000" }
```

2. For each returned jurisdiction's skill list, call `get_skill` to load the relevant content.

3. Produce a side-by-side comparison table covering:
- Effective income tax rate at the given income
- VAT/GST standard rate
- Social security contribution rate and caps
- Key deductions / credits available
- Filing frequency and deadlines
- Formation / ongoing compliance costs (if entity choice)

4. Highlight differences that materially affect the decision.

5. Always end with a treaty / PE / tie-breaker caveat — cross-border planning carries treaty and substance considerations beyond this comparison's scope. Route to `request_accountant_review` for any decision with real money on the line.
25 changes: 25 additions & 0 deletions partner-built/openaccountants/commands/formation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
name: formation
description: Entity choice and incorporation across jurisdictions — LLC vs S-corp vs LTD, formation cost, ongoing compliance, election windows.
---

The user is considering forming a company or choosing an entity type.

Ask them:
- **Where** are they incorporating (country / US state)
- **What do they do** (consultant, ecommerce, SaaS, holding company, etc.)
- **Projected revenue**
- **Whether they want pass-through or corporate taxation**

Then:

1. Call `start({ intent: "company formation", jurisdiction: <code> })` on the `openaccountants` MCP server.
2. Load the formation skill(s) via `get_skill`.
3. Walk through entity options (sole prop / LLC / S-corp / C-corp / LTD / GmbH / Ltd / Pty Ltd / etc.) with:
- Liability profile
- Tax treatment (pass-through vs corporate, with rate citations from the skill)
- Formation cost + ongoing compliance burden
- Election windows (e.g. S-corp election deadline, S-corp revocation window)
- State / country-specific quirks (e.g. CA franchise tax minimum, DE chancery court advantages)
4. Surface AUDIT FLASH POINT markers around entity classification (reasonable comp for S-corps, accumulated earnings tax for C-corps, treaty shopping risks for international holdings).
5. End by offering `request_accountant_review` — formation decisions usually deserve a real accountant's sign-off before filing.
18 changes: 18 additions & 0 deletions partner-built/openaccountants/commands/rates.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
name: rates
description: Current-year US federal indexed rates — brackets, 401(k), SS wage base, HSA, FEIE, gift/estate, mileage, 1099-K thresholds.
---

The user wants a specific dollar amount that changes yearly (e.g. 2025 401(k) limit, Social Security wage base, mileage rate, FEIE cap).

Call the `openaccountants` MCP server's `get_rates` tool:

```json
{ "jurisdiction": "US", "tax_year": <year> }
```

Currently supports US federal for 2025 and 2026. Return the figures with a citation to the IRS Revenue Procedure source.

For non-US jurisdictions or specialized rates not in the table, fall back to `get_skill` — the markdown content holds rate tables for every covered jurisdiction.

**Do not** quote rates from your training data. Indexed rates change yearly and your training data is stale.
27 changes: 27 additions & 0 deletions partner-built/openaccountants/commands/return.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: return
description: Walk through a full tax return for any jurisdiction — intake, transaction classification, working paper, reviewer handoff.
---

The user wants help preparing a tax return.

Ask them (if not already clear):
- **Jurisdiction**: country, US state, or province
- **Tax year**: e.g. 2025
- **Entity type**: sole proprietor, self-employed, single-member LLC, S-corp, C-corp, partnership, individual (W-2 only), or other

Then:

1. Call `start({ intent: "tax return", jurisdiction: <code> })` on the `openaccountants` MCP server.
2. For each skill in the returned plan, call `get_skill({ slug })`.
3. Run the intake from the loaded intake skill — ask the user only the questions the documents don't answer.
4. When the user provides bank statements, invoices, or transaction lists, classify every transaction using the rules in the loaded skills. Use the three-outcome system: **Classified** (clear), **Assumed** (conservative default, flag for reviewer), **Needs Input** (ask the user).
5. Produce a working paper:
- Classified transactions grouped by tax category
- Computed totals for each return-line item
- All assumptions disclosed
- Items flagged for accountant review
- Filing deadlines and payment dates
6. End by asking the user if they want a licensed accountant to review before filing. If yes, call `request_accountant_review` with the working paper attached.

**Conservative defaults**: when uncertain, assume **more** tax, never less. Never compute amounts from your training data — use only the rates and thresholds from the loaded skills.
24 changes: 24 additions & 0 deletions partner-built/openaccountants/commands/review.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: review
description: THE handoff. Routes the user (with their working paper) to the named lead verifier for their jurisdiction with a Calendly booking link.
---

The user wants a licensed accountant to review their tax situation.

Call the `openaccountants` MCP server's `request_accountant_review` tool with:

- **jurisdiction**: the country code (or US state code) the user is in
- **scenario**: a 1-2 sentence summary of what they need reviewed
- **working_paper**: if you have produced a worksheet, classified transactions, draft return lines, or any structured tax output in this conversation, **paste it in full as markdown**. The verifier needs to see the actual numbers before the call, not just a text brief. Without the working paper, they walk in blind and have to rebuild the case from scratch.
- **contact_name** and **contact_email**: ask the user (encourage them to share, but not strictly required)
- **tax_year**: if known
- **urgency**: `urgent` (filing in <2 weeks), `standard` (current filing season), or `planning` (future-year strategy)

Present the returned response to the user:

- The **named accountant** routed (e.g. "Werner Britz, CA(SA)", "Michael Cutajar, CPA")
- The **Calendly URL** for booking
- Confirmation the working paper was captured
- The standing disclaimer: no client-accountant relationship until both sides sign an engagement letter; the initial call is a review conversation

End with a clear call-to-action: click the Calendly link to book.
16 changes: 16 additions & 0 deletions partner-built/openaccountants/commands/start.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
name: start
description: Front door for any tax question. Scope your intent and jurisdiction, get a ready plan with the right skills loaded.
---

The user wants to start a tax / accounting workflow.

If they haven't told you the **intent** (what they're trying to do — tax return, VAT return, formation, find deductions, classify transactions, payroll, comparison, etc.) or the **jurisdiction** (country, US state, Canadian province), ask them first.

Then call the `openaccountants` MCP server's `start` tool:

```json
{ "intent": "<their intent>", "jurisdiction": "<ISO code or country/state name>" }
```

You'll get back a `skills_to_load` list. Call `get_skill` for each slug, in order. Apply the rules. Cite the skill slugs. Surface every AUDIT FLASH POINT marker. When the user is ready to file or make a real decision, hand off via `request_accountant_review`.
24 changes: 24 additions & 0 deletions partner-built/openaccountants/commands/vat.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: vat
description: VAT / GST / sales tax return — classify transactions, compute return-form box totals, flag audit-risk items.
---

The user wants help with VAT, GST, or sales tax.

Ask them (if not already clear):
- **Jurisdiction**: country (or US state for sales tax)
- **Period**: e.g. "Q1 2025", "January 2025", "2025"

Then:

1. Call `start({ intent: "VAT return", jurisdiction: <code> })` on the `openaccountants` MCP server.
2. Load the returned VAT/GST skill(s) via `get_skill`.
3. When the user provides transactions, classify each using the skill's rate categories and supplier pattern library. Determine for each: taxable supply (standard / reduced / zero-rated), exempt supply, out of scope, reverse charge, or input VAT recoverable.
4. Produce a return working paper:
- Output VAT by rate
- Input VAT recoverable
- Net VAT payable/refundable
- Items flagged as Assumed or Needs Input
5. Map the totals to the country's return-form boxes (e.g. UK VAT100 Box 1-9, Malta VAT Article 11 simplified form, Germany UStVA Kennzahlen, Italy LIPE).
6. Surface any AUDIT FLASH POINT markers the skill flags — these are the line items most likely to trigger a tax authority query.
7. End by offering to route to a licensed accountant for a pre-filing review via `request_accountant_review`.
Loading