The landscape

Agent-native

Books (dispatchlabs-ai)

A local-first, noninteractive command-line general ledger in SQLite, built for humans and software agents, with immutable postings and a hash-chained audit log.

pkg.go.dev/github.com/dispatchlabs-ai/books · founded 2026 (first public release v0.1.0-alpha.2 on 2026-08-19) · Not stated · researched 2026-10-10

Scope
Exact double-entry books for one or many legal entities in a SQLite file per company: manual chart, transaction entry, statement imports, bank, card, loan and investment reconciliation, GL, trial balance, P&L, balance sheet, period and fiscal-year close, consolidation, a one-time QuickBooks import, audit verification and verified backup. It does not do invoicing, AR/AP workflow, bill pay, payroll, inventory, tax, automatic bank feeds, non-USD currencies or a web interface, and runs on macOS and Linux only.
Backing
Published by Dispatch Labs, a GitHub organisation created 2026-05-09 with four other public repos (agent-wiki and related tools). No funding, company site or people found.
Serves
developers, smb, freelancer
Covers
ledger, bank, close, reporting
To ownpurse
Kin. The closest project to ownpurse found: local, SQLite, exact money, immutable postings, a hash-chained audit log, a noninteractive CLI with a JSON envelope for agents. It differs in being the ledger of record you post into, while ownpurse rebuilds the books from what each source reports and checks them against it.

What it is

Books describes itself as “a local-first, command-line general ledger for humans and software agents” (pkg.go.dev). It keeps exact double-entry books in SQLite and makes posted accounting immutable. The first public release, v0.1.0-alpha.2, came out on 19 August 2026 under the MIT licence from Dispatch Labs, a GitHub organisation created in May 2026 whose other public work is an agent wiki and related agent tools. It is experimental, USD only, and runs on macOS and Linux.

It covers company setup, a manual chart, transaction entry, statement imports, reconciliation of bank, card, loan and investment accounts, the four core reports, period and fiscal-year close, multi-entity consolidation, a one-time QuickBooks import, audit verification and verified backup. It leaves out invoicing, AR and AP, payroll, tax, automatic bank feeds and any web interface.

How it works

Each company is a SQLite file under ~/.books/companies/<name>/ with folders for attachments, imports, plans and backups. Money is stored as integer cents and never touches floating point. Journals start as drafts; posting checks balance, open period and account activation, and after that a journal cannot change. A mistake is fixed with a linked reversal (reverse, undo, correct). Closed periods keep a balance digest.

The architecture notes are the interesting part. Every provider observation becomes a new immutable source_record revision that points to the one it supersedes, and each has a disposition: POSTED, PENDING, NEEDS_REVIEW or SOURCE_ONLY. Only posted evidence enters reconciliation; moving an item out of review needs a reason and JSON evidence. Reconciliation, close and import all follow plan then apply, and apply rejects a plan whose state has changed. Every open checks the SQLite application id, a checksummed migration ledger and the live schema against an embedded copy. The audit log is hash-chained, and the docs say plainly that the chain “detects uncoordinated changes but does not resist a privileged party that can rewrite and replace the entire SQLite file”.

Data and access

You hold the file. There is no service, no account and no limits. The interface is the CLI: table, JSON (books.cli/v1 envelope), JSONL or CSV output, decimal strings for money, stable error codes, one failure envelope per failed command. Statement data comes in as JSON against a published schema; ownership is never guessed from labels or amounts.

Agents

Books is written for agents to drive. No command prompts, stdin is read only with --input -, ambiguity exits nonzero, and agents must pass --company and a stable --key so retries are idempotent. --draft and --dry-run let an agent prepare without posting. There is no MCP and no approval gate: an agent with shell access can post. The project’s AI policy holds a named human accountable for every AI-assisted change to the code.

Customers

No usage figures, reviews or discussion were found. The Go proxy lists two tagged versions, both from 19 August 2026, and a later commit from 20 September 2026.

History

The changelog says the release came “from a fresh root commit” with “all deployment-specific accounting mappings and private integration bridges” removed. That suggests it was extracted from a private deployment that had live feeds. On 10 October 2026 the GitHub repository returned 404, while pkg.go.dev and the Go proxy still served the source.

For ownpurse

This is kin, and the nearest we have found. Both are local, SQLite, exact to the cent, append-only, hash-chained and built for agents through a noninteractive CLI. The difference is the job. Books is the ledger of record: you post into it, and sources are evidence for reconciliation. ownpurse leaves the books in Xero or QuickBooks, rebuilds them from what each source reports, and writes back only through approved packages. Worth borrowing: the disposition states on source revisions, plan and apply with stale-plan rejection, closed-period digests, a doctor on every open, and the honest limit of a hash chain. The gap Books leaves open is the one ownpurse aims at: live connectors to the systems people already use, and a person’s approval before anything is written.

Data and access

Public API
Yes. CLI with a books.cli/v1 JSON envelope (also JSONL, CSV, table); JSON import schema banking-import-v1
Auth
None; local file permissions. Direct SQLite writes are unsupported; the CLI is the only write interface.
Limits
None beyond the local machine.
What access costs
Free.
Export
The whole SQLite file, verified backup and restore, and every report in JSON, JSONL or CSV.
Notes
Each open checks the SQLite application id, a checksummed migration ledger and the live schema against a pristine embedded copy.

Price

Model
Free, open-source (MIT).
Entry
Free
Top
Free
Notes
No paid tier, support or service level; the project says it is experimental and not accounting, tax or legal advice.

Agents

MCP
none
AI features
None built in. It is a tool for agents to drive, not an agent.
Agent writes
Yes, through the CLI. Agents must pass --company and a stable --key on mutating commands; every agent-operated transaction must carry company, date and actor.
Approval
No approval gate. Safety comes from --draft (save without posting), --dry-run, plan/apply workflows that bind state and reject stale plans, and corrections only by linked reversal.
Notes
The project's AI policy requires a named human accountable for every AI-assisted change to the code, and AGENTS.md tells agents to work only in a disposable BOOKS_HOME.

Integration and customers

Connects to
QuickBooks initial import (GeneralLedger JSON report, QBO object exports or a reviewed XLSX); JSON statement imports for bank, card, loan and investment accounts. No live connectors.
Notes
The changelog says deployment-specific accounting mappings and private integration bridges were removed before release, so live feeds probably exist privately.
Scale
No public usage figures. Two tagged releases on 2026-08-19; the Go proxy shows a later commit on 2026-09-20.
Ratings
None found.
What customers say
No public reviews or discussion found.

Timeline

  1. 2026-05-09

    Dispatch Labs GitHub organisation created

  2. 2026-08-19

    v0.1.0-alpha.1 and v0.1.0-alpha.2 published as the first public source release from a fresh root commit, MIT

  3. 2026-09-20

    Latest commit visible on the Go module proxy

  4. 2026-10-10

    github.com/dispatchlabs-ai/books returns 404; source still served by the Go proxy and pkg.go.dev

Borrow and avoid

Borrow
Source observations as immutable revisions with an explicit disposition (posted, pending, needs review, source only), close to ownpurse's uncollapsed facts; plan then apply, with apply binding the plan's state and rejecting stale plans; one failure envelope with stable codes; idempotency keys required of agents; a doctor that checks schema, migrations and invariants on every open; closed-period balance digests; an honest note that a hash chain detects uncoordinated edits but cannot stop someone who rewrites the whole file.
Avoid
A narrow alpha surface (USD only, no live sources, CGO build) that limits who can try it; agent writes with no approval step; a repository that disappears from GitHub without notice, which undercuts trust in a tool meant to hold the books.

Sources

  1. pkg.go.dev: github.com/dispatchlabs-ai/books
  2. Go module proxy: version list
  3. Go module proxy: latest version info
  4. Dispatch Labs on GitHub

Not confirmed against a primary source

  • Who is behind Dispatch Labs, where it is based and whether it is funded
  • Why the GitHub repository returns 404 as of 2026-10-10 (made private, moved or deleted)
  • Whether the private integration bridges named in the changelog include live bank feeds
  • Any user count or adoption

ownpurse is not affiliated with Books (dispatchlabs-ai) or any company named here. Names are their owners' trademarks. Figures come from the company's own pages and the press, as linked, as of 2026-10-10; scores are our reading of them against the definitions in the landscape. This is not legal or financial advice.