Files
accounted/claude-plugin
Jakob Wennberg 4af7469523 feat(onboarding): minimal input: orgnr + moms period is the whole ask (#1952)
* feat(onboarding): minimal input: orgnr + moms period is the whole ask

Two fixes from the third E2E attempt (2026-08-26):

1. accounting_method is now optional in CompanySetupSchema and defaults by
   form in planCompanySetup: aktiebolag = accrual (the norm), enskild
   firma = cash (the common small-EF choice; legal under 3 MSEK, BFL 4
   kap 4 paragraf). The plan flags the default (resolved.accountingMethodDefaulted)
   and gnubok_create_company's preview carries accounting_method_defaulted
   so the readback names it and the user overrides in the same 'ja'.
   Never silent: the preview is the checkpoint. Applies to the MCP tool
   and POST /api/v1/companies (additive; response shows the resolved
   value). The lookup tool's still_to_ask no longer lists it.

2. The agent refused a real orgnr because the user said 'nytt bolag' and
   the registry showed an established company ('Stopp. Numret matchar
   inte ett nytt bolag'): lookup instructions now state that an
   established company with F-skatt/VAT is the NORMAL case (new = new to
   Accounted) and the orgnr is never second-guessed for looking
   established.

Skill + plugin (v1.2.1) updated; API skill regenerated; DECISIONS.md entry.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(onboarding): surface the kontantmetod 3-MSEK condition on the defaulted cash method

Compliance-review finding on #1952: the EF cash default carries a legal
eligibility condition (turnover normally under 3 MSEK, BFL 4 kap 4 §)
that a client not reading the onboarding skill would never see. The
create preview now carries accounting_method_note with the condition
whenever cash was defaulted, and the v1 pitfall states it for API
integrators. The registry cannot verify turnover, so the confirm-time
human check is the gate; the default itself stays (a brand-new EF has
zero turnover by definition).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Jakob Wennberg <311770904+jakobwennberg-oss@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-26 15:15:09 +02:00
..
2026-07-24 15:03:50 +02:00

Accounted plugin for Claude Code

The official plugin for Accounted, the open-source Swedish bookkeeping platform. Installing it gives Claude two things at once:

  1. The connection: the Accounted MCP server (150+ bookkeeping tools, resources, and loadable skills) via OAuth. No API key needed.
  2. The flows: seven short workflow skills that follow the Swedish bookkeeping rhythm. Each one grounds itself in your company's live data, loads the product's Swedish accounting knowledge when it needs it, and stages every write for your approval. Nothing is ever booked without you saying yes.

Install

/plugin marketplace add erp-mafia/accounted
/plugin install accounted@accounted

Then run /accounted:setup. It connects the Accounted connector (/mcp → authenticate; no account yet? create it on that sign-in screen, with BankID or e-mail), and for a brand-new account it sets up the company right here in the conversation (company form, organisationsnummer, VAT, fiscal year), then hands you the bank and Skatteverket connect links. After that, /accounted:start orients you in the books.

Skills

Command What it does
/accounted:setup First run: connect (create the account if needed) and set up the company from the conversation
/accounted:start Connect, orient, and surface what needs attention
/accounted:bookkeep Clear unbooked bank transactions and receipts (daily)
/accounted:check Read-only health check with a prioritized fix list
/accounted:month-close Close the month against the product's checklist
/accounted:vat Prepare and reconcile the momsdeklaration
/accounted:payroll Monthly salary run and AGI underlag
/accounted:year-end Bokslut, readiness-gated

The skills are deliberately thin: the deep procedural and regulatory content (month-end checklist, VAT rutor, payroll rules, bokslut law) lives server-side in Accounted and is loaded at need via accounted_load_skill, so it is always in sync with the product and tailored to your company. accounted_list_skills shows everything available.

How writes work

Every write tool in Accounted stages a pending operation with a preview instead of booking directly. Claude shows you the preview; only accounted_approve_pending_operation, after your explicit approval, books it. Period locks and Swedish accounting law (immutable vouchers, balanced entries, sequential voucher numbers) are enforced by the product itself.

Self-hosted

Point the MCP connection at your own instance instead: remove the bundled server and add your own with claude mcp add --transport http accounted "https://your-host/api/extensions/ext/mcp-server/mcp?tool_namespace=accounted", or use the accounted-mcp stdio bridge with your existing Accounted API key.

Disclaimer

This plugin is not legal, tax, or audit advice. Output is underlag for you and your accountant. Nothing is filed or sent anywhere automatically.

License

The plugin in this directory is MIT licensed; see LICENSE. The Accounted platform it connects to is a separate work, licensed AGPL-3.0 under the LICENSE at the repository root.