Bookkeeping CLI
CLI terminal qui unifie les services comptables danois — Billy, Dinero et e-conomic — derrière une seule interface. Quatre alias binaires (bookkeeping, billy, dinero, economic) permettent de gérer contacts, factures, achats, produits, comptes, données bancaires, déclarations de TVA et transactions sans quitter le terminal. Il comprend aussi un moteur intégré de recherche dans la législation comptable danoise par paragraphe.
The Problem
Danish companies juggle multiple accounting platforms — Billy for small businesses, Dinero for freelancers, e-conomic for larger operations. Each has its own web UI, its own API conventions, and its own mental model. Switching between them or automating across them means learning three different systems.
The Solution
Bookkeeping CLI wraps all three providers behind a single, consistent command-line interface. One set of commands works everywhere:
bookkeeping contacts list
billy invoices unpaid
dinero products list
economic customers get 1
Key Features
- Unified SDK layer — Every provider exposes the same
resources,methods, andrunpattern. Discover what is available withbookkeeping resourcesandbookkeeping methods <resource>. - Billy shortcuts — Dedicated friendly commands for contacts, invoices, bills, accounts, bank reconciliation, tax/VAT, transactions, and file attachments.
- Danish law search — Built-in legal database: search bookkeeping laws, browse documents by slug, read specific paragraphs, and filter by topic or keyword.
- Non-interactive mode — Every command exits after printing output, making it ideal for AI agents and automation scripts. Add
--jsonfor machine-readable output. - Flexible argument passing — Positional args, JSON objects, JSON arrays, file references (
@./file.json), and base64 encoding (@base64:./invoice.pdf). - Cross-platform auth — Browser-based OAuth login with local credential storage on macOS, Linux, and Windows.
Architecture
The CLI is built as an agent skill — installed for Claude Code, OpenAI Codex, and Gemini CLI. The bookkeeping update command keeps it current. Resource names accept camelCase, kebab-case, or snake_case interchangeably, so accountGroups, account-groups, and account_groups all resolve to the same resource.
Tech Stack
Go, Cobra, OAuth 2.0, Billy API, Dinero API, e-conomic REST API, Retool (retool.dk for the law database).