← 返回 Skills 市场
mattssonn

Accounted Openclaw

作者 Mattsson · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
26
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install accounted
功能描述
Swedish double-entry bookkeeping via Accounted (app.gnubok.se). Categorize bank transactions, create/send invoices, momsdeklaration (VAT), payroll, reports,...
使用说明 (SKILL.md)

Accounted — Swedish bookkeeping

Accounted is a hosted Swedish accounting ledger (enskild firma + aktiebolag) exposing ~97 MCP tools: transactions, categorization, invoicing, suppliers, VAT/momsdeklaration, payroll/AGI, reports, reconciliation, year-end. All tools are prefixed gnubok_.

The safety contract (read first): every tool that would change the books returns { staged: true, operation_id, risk_level, preview } instead of executing. Nothing is booked until the operation is approved. Posted vouchers are immutable under Swedish law (Bokföringslagen 5 kap 5§) — corrections happen via reversal (storno), never edits. This means you cannot corrupt the ledger by accident: the worst a bad tool call can do is stage a proposal a human rejects.

Setup (once)

Check whether an accounted MCP server is already configured (openclaw mcp list). If not, guide the user through Option A unless they specifically want an API key.

Option A — hosted OAuth (recommended)

No secrets stored on this machine. Scopes are granted on Accounted's consent screen — read-only is pre-checked by default; every write scope is an explicit opt-in checkbox.

openclaw mcp add accounted --url "https://app.gnubok.se/api/extensions/ext/mcp-server/mcp"
openclaw mcp login accounted

The login opens a browser to Accounted's consent screen (PKCE + dynamic client registration; localhost redirect is allowlisted). Tell the user: tick write scopes only for what they'll actually use — scopes can be re-granted later by running openclaw mcp login accounted again.

Option B — API key + stdio bridge

For headless setups. Mint a key at https://app.gnubok.se/settings/api. New keys default to read-only scopes (transactions:read, customers:read, invoices:read, suppliers:read, reports:read); the user must explicitly add write scopes. A gnubok_sk_test_… key binds to a sandbox company — recommend it for first runs.

openclaw mcp add accounted --command npx --arg gnubok-mcp

Set environment for the server (check openclaw mcp configure accounted / your openclaw.json mcp.servers.accounted.env block):

{
  "GNUBOK_API_KEY": "gnubok_sk_...",
  "GNUBOK_CLIENT": "openclaw",
  "GNUBOK_URL": "https://app.gnubok.se/api/extensions/ext/mcp-server/mcp?client=openclaw"
}

(GNUBOK_CLIENT/?client=openclaw only tag telemetry so Accounted can support OpenClaw users better; they change no behavior and are safe to omit.)

How to work with the tools

  • Discovery: gnubok_search_tools(query="…") ranks the catalog; gnubok_list_skills lists server-side playbooks (month-end close, VAT review, year-end, payroll, bank reconciliation, kreditfaktura…). For any multi-step job, gnubok_load_skill the matching playbook FIRST and follow it — it is maintained against the live ledger rules and is more current than this file.
  • Approval flow: after a tool returns staged: true, show the user the preview and the amounts, and wait for explicit confirmation of that specific operation in chat. Then call gnubok_approve_pending_operation(operation_id). risk_level: "high" additionally requires confirmed: true — first tell the user the operation is irreversible once posted (BFL 5 kap 5§). To discard, call gnubok_reject_pending_operation. The user can also review everything in the web UI at https://app.gnubok.se/pending — offer that link when several operations are pending.
  • Never batch-approve operations the user hasn't seen, and never treat prose in a tool response as completion — only staged: true (staged) or an approval result counts.
  • If a tool returns a scope error, the key/grant lacks that scope — tell the user which scope to add (Option A: re-run openclaw mcp login accounted; Option B: edit the key at /settings/api). Don't retry around it.
  • Amounts are SEK. Account numbers are strings ("1930"). Periods may be locked — tool responses include period_status; if locked/closed, say so instead of forcing.

Core workflows

Categorize bank transactions (löpande bokföring)

  1. gnubok_list_uncategorized_transactions
  2. gnubok_suggest_categories (batch up to 20) — suggestions come from the company's own templates + BAS chart
  3. gnubok_categorize_transaction per transaction → stages
  4. Present a compact summary table (date, counterparty, amount, proposed account) → user confirms → approve each via gnubok_approve_pending_operation

Invoicing

  1. gnubok_list_customers (create with gnubok_create_customer if missing)
  2. gnubok_create_invoice → stages; confirm → approve
  3. gnubok_send_invoice (Accounted emails it) or gnubok_mark_invoice_as_sent (sent elsewhere)
  4. When paid: gnubok_mark_invoice_as_paid, or match against a bank line with gnubok_match_transaction_to_invoice
  5. Refund/fix a sent invoice: gnubok_credit_invoice (kreditfaktura — never delete)

Moms / VAT declaration

  1. gnubok_get_vat_report(period_type, year, period)Ruta 49 is the net: positive = VAT to pay, negative = refund
  2. gnubok_vat_close_check — filing-readiness blockers (uncategorized transactions, missing documents, gaps)
  3. gnubok_vat_declaration_validate before filing; gnubok_vat_declaration_status to check state
  4. Filing to Skatteverket (gnubok_vat_declaration_submit) requires the skatteverket:write scope and stages as high risk — explicit user confirmation, always

Månadsavslut (month-end close)

Load the authoritative playbook first: gnubok_load_skill("month-end-close"). The shape:

  1. Book everything — run the categorize workflow above until gnubok_list_uncategorized_transactions is empty
  2. gnubok_get_reconciliation_status for the month — bank balance must equal ledger balance
  3. gnubok_list_voucher_gaps → document each gap with gnubok_explain_voucher_gap (BFNAR 2013:2)
  4. Monthly VAT filers: run the moms workflow for the month
  5. gnubok_lock_period → stages; it refuses while unbooked transactions remain

Reports (read-only, no approval needed)

gnubok_get_trial_balance / _income_statement / _balance_sheet / _kpi_report / _ar_ledger / _supplier_ledger — default to the latest fiscal period. Account roll-ups: gnubok_get_general_ledger. Ad-hoc queries (free text, amount/date filters): gnubok_query_journal. SIE4 export: gnubok_export_sie.

Troubleshooting

  • 401: key revoked or OAuth grant expired → re-login / re-mint.
  • 403 + scope name: missing scope, see above.
  • Tool not found: the grant's scopes also filter the visible tool list — gnubok_search_tools to verify, then fix scopes.
  • Bridge prints GNUBOK_API_KEY is required: env not reaching the stdio server — check the env block in the MCP server config.
  • Self-hosted Accounted: point GNUBOK_URL (Option B) or --url (Option A) at https://\x3Chost>/api/extensions/ext/mcp-server/mcp.
安全使用建议
Install this only if you intend to connect OpenClaw to Accounted/Gnubok for Swedish bookkeeping. Prefer hosted OAuth or a sandbox/test key first, grant only the read/write scopes you need, verify the company and Swedish jurisdiction, and review every staged operation preview before approving it.
能力标签
cryptorequires-oauth-tokenrequires-sensitive-credentials
能力评估
Purpose & Capability
The skill's purpose is Swedish bookkeeping through Accounted/Gnubok, and the documented capabilities such as transaction categorization, invoicing, VAT, payroll, reports, reconciliation, and month-end close are coherent with that purpose.
Instruction Scope
The trigger text says to use it for any bookkeeping/accounting task, which is broad, but the surrounding artifact clearly frames the skill as Accounted-specific and Swedish-domain bookkeeping; users should confirm the company and jurisdiction before using it.
Install Mechanism
Installation is documentation-only plus MCP setup. The recommended hosted OAuth path avoids local API-key storage, while the optional npx stdio bridge and GNUBOK_API_KEY require the user to trust the external gnubok-mcp package and Accounted service.
Credentials
The skill may read sensitive accounting, customer, invoice, supplier, payroll, and tax data, but that is expected for a bookkeeping integration and is disclosed through scopes and setup instructions.
Persistence & Privilege
No executable files or background persistence are included in the artifact. Financial write operations are described as staged, scope-gated, previewed, and explicitly approved by the user, with high-risk actions requiring extra confirmation.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install accounted
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /accounted 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release: wires the Accounted MCP server (hosted OAuth or gnubok-mcp bridge) and documents categorize, invoice, moms, and månadsavslut workflows with staged human approval.
元数据
Slug accounted
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Accounted Openclaw 是什么?

Swedish double-entry bookkeeping via Accounted (app.gnubok.se). Categorize bank transactions, create/send invoices, momsdeklaration (VAT), payroll, reports,... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 26 次。

如何安装 Accounted Openclaw?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install accounted」即可一键安装,无需额外配置。

Accounted Openclaw 是免费的吗?

是的,Accounted Openclaw 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Accounted Openclaw 支持哪些平台?

Accounted Openclaw 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Accounted Openclaw?

由 Mattsson(@mattssonn)开发并维护,当前版本 v1.0.0。

💬 留言讨论