erp-mafia/accounted/accounted-cli
Claude Code and agent skill by erp-mafia/accounted
- community
Checking that the SKILL.md file is still in the repository.
Work in a person's Accounted books (Swedish double-entry bookkeeping) from a shell with the `accounted` command. Use when an agent that can run commands (Claude Code, Codex, Cursor, a script) should read or change Accounted data such as invoices, bank transactions, receipts, reports, VAT, payroll or year-end. Covers the sign-in check, finding tools, JSON arguments, staged writes and approvals, companies, and exit codes.
Install
npx vskill@latest install erp-mafia/accounted/accounted-cliSKILL.md
Accounted from the command line
accounted is a command-line client for the Accounted MCP server: the same tools, the same permissions and the same approval rules as the Claude and ChatGPT connectors. Every write is staged; nothing is booked until the person approves it. Docs: https://app.accounted.se/docs/api/cli
Before the first call
accounted --version. If the command is missing, ask the person to runnpm install -g accounted(Node.js 20 or later). Avoidnpx accounted: it starts slowly on every call.accounted status. It prints the server, the sign-in and the companies it reaches.
- Exit 3 means not signed in, or a sign-in this environment cannot save or renew. Ask the person to sign in themselves: they run
accounted loginin their own terminal (in Claude Code,! accounted loginworks when the browser runs on the same computer). Then runaccounted statusagain. - Never run
accounted loginyourself from a sandbox and never try to sign in on the person's behalf. If a message says the sign-in needs renewing, ask the person to runaccounted statusonce in their own terminal.
accounted guide, once per session. It is the guidance an MCP client gets on connect: workflows, approval rules, companies. Follow it.
Finding the right tool
accounted toolslists the common tools;accounted tools <words>searches all of them, for exampleaccounted tools supplier invoice. Signed out, search covers only the tools that work without an account.accounted describe <tool>prints the definition and input schema. Read it before the first call to a tool; never guess argument names.- Names work with or without the
accounted_prefix and with-or_. accounted callreaches every tool directly, including search-only ones. Ignorecallable_via,call_toolandstage_toolin search results and in the guide: those bridges exist for chat clients, not for the CLI.
Calling a tool
Arguments are one JSON object. Short ones can go inline in single quotes; for anything with quotes, å/ä/ö or more than a few fields, use a heredoc on stdin with -, or a file with '@file.json':
- Account numbers are strings:
"1930", never1930. - Amounts are in kronor (SEK) unless the tool takes a currency. Dates are
YYYY-MM-DD. - The result is JSON on stdout (one line when piped); notes go to stderr. When the sign-in reaches several companies, a stderr note names the company that answered: check it before you act on the data.
- Never invent account numbers, VAT treatments or amounts. Read them from the books or the documents, or ask.
Writes: stage, show, ask, approve
A tool that changes the books stages a pending operation instead of booking. The result has staged: true, an operation_id, a risk_level, a preview of what would be booked, and a message that may carry a WARNING. On stderr the CLI prints the exact approve command and the /pending link.
- Show the person the preview in plain words: what will be booked, on which accounts, the amounts and dates, and every warning.
- Ask. Run the printed
accounted call approve_pending_operation '{...}'only after the person has said yes to that operation in this conversation. - High risk (
risk_level: "high", for example manual vouchers, corrections, period locks, year-end): the posting is irreversible once approved (BFL 5 kap 5 §). The printed command leaves out"confirmed": trueon purpose, and the CLI says so. Tell the person it cannot be undone, get an explicit acknowledgment, and only then add"confirmed": trueto the approve arguments. - Never approve in a loop, in bulk, or "the rest too" without the person's explicit go for exactly that set. A yes covers what you showed, nothing more.
- If approving fails because the sign-in lacks the permission to approve, tell the person to approve under
/pendingin the app.
accounted call list_pending_operations shows what is waiting. To drop one the person does not want: accounted call reject_pending_operation '{"operation_id": "..."}'.
Companies
accounted statuslists the companies with their ids. A call withoutcompany_idruns against the default company.- To keep a session in one company, add
--company <id>to each command or setACCOUNTED_COMPANY=<id>. The value must be a company id (a UUID); a name is refused. While pinned, a call naming another company is refused. - When you work across companies, say which company each answer came from.
Long-running calls
Some tools (for example audit_package) run as a task on the server. The CLI prints the task id and waits. If your shell call times out, run accounted task <id> to keep waiting; tasks are kept for one hour. Do not call the tool again: that starts a second run.
Exit codes
0: ok.1: the tool returned an error, printed as{"error": {...}}on stderr. Read it and change the arguments or the approach; do not repeat the same call unchanged.2: usage: unknown command or tool, or arguments that are not a JSON object. Checkaccounted describe <tool>.3: not signed in, or the sign-in has ended. Ask the person to sign in (see above); do not retry.4: server or network. When stderr saysRate limited by the server: retry after N s, wait N seconds before the next call.
A key allows 100 calls a minute by default, shared by everything that uses the same sign-in. Prefer one list call with a higher limit over many single reads, and never hammer the server after a 4.
Do not
- Read, edit or delete the credentials file, or print a key.
- Set
ACCOUNTED_API_KEYunless the person gave you a key for that purpose. - Approve, reject or book anything the person has not seen and agreed to.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/accounted-cli/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/erp-mafia/accounted/accounted-cli)