Bookkeeping CLI
A terminal CLI that unifies Danish accounting providers — Billy, Dinero, and e-conomic — under one interface. Four binary aliases (bookkeeping, billy, dinero, economic) let you manage contacts, invoices, bills, products, accounts, bank data, VAT returns, and transactions without leaving the terminal. Includes a built-in Danish law search engine for looking up bookkeeping regulations by paragraph.
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).