Record transactions, categorize them, reconcile accounts, generate monthly reports. Wave Accounting without Wave having access to your business financial data.
When regulators or clients ask where your accounts data is stored, the best answer is a specific server you own in a specific jurisdiction you chose. Books makes that answer straightforward because the data never leaves your infrastructure.
Deploy Books as a systemd service, a Docker container, or a bare process behind tmux. It reads two environment variables: PORT and DATA_DIR. Everything else is self-contained. The /api/health endpoint returns the service status and accounts count, which you can wire into your existing monitoring stack.
A regulated company runs Books inside their air-gapped network. No data leaves the building. Compliance auditors can inspect the SQLite file directly. When the team needs a report, they query the API and format the output however the auditor expects.
GET /api/accounts — List all accounts. Supports ?q=keyword for search and ?status=value for filteringPOST /api/accounts — Create a new account. Send JSON with at least nameGET /api/accounts/{id} — Fetch one account by IDPUT /api/accounts/{id} — Update fields on an existing accountDELETE /api/accounts/{id} — Remove a accountGET /api/stats — Returns total count and breakdown by statusGET /api/health — Returns {"status":"ok"} for uptime monitoringSelf-hosted business bookkeeping. Self-hosted on your infrastructure. Your data never leaves your server.
curl -fsSL https://stockyard.dev/install.sh | sh -s -- --tool books
PORT=9200 ./books
http://localhost:9200
Single binary. Embedded SQLite. No Docker. No database. No dependencies.
Your license key arrives by email within 5 minutes of checkout. Set it as an environment variable and restart the binary.
export BOOKS_LICENSE_KEY=stockyard_xxxxxxxxxxxxxxxxxxxx ./books
No cloud connectivity required. The binary validates the key offline with Ed25519 signatures.