# Haddon > Haddon is an open-source double-entry ledger for AI agents. An agent loads bank statements, books invoices and accruals, files the documents behind them, reconciles each account and closes each period over an HTTP API. It comes with a web interface where people can review the books, correct entries and close periods. If you know Xero, think of its ledger, reconciliation and close, with an agent doing the data entry. An agent should read https://haddon.dev/agent-context.md first: what Haddon is, how to authenticate, what to ask the service before writing, and the rules for writes and refusals. Every page below is plain markdown. The same pages as HTML are at the path without `.md`. The full text of all of them in one file is at https://haddon.dev/llms-full.txt. ## Start here - [Haddon: context for an agent](https://haddon.dev/agent-context.md): a short block to paste into an agent's instructions: authentication, discovery, idempotency, corrections and locked periods. - [Documentation](https://haddon.dev/docs/index.md): Every Haddon document, and when to read each one. - [Overview](https://haddon.dev/docs/overview.md): Haddon is an open-source double-entry ledger for AI agents. An agent loads bank statements, books invoices and accruals, files the documents behind them, reconciles each account and closes each... - [Quickstart](https://haddon.dev/docs/quickstart.md): This walks from an empty directory to a closed month using only the HTTP API. - [Concepts and the accounting model](https://haddon.dev/docs/concepts.md): What Haddon stores, which rules it enforces, and what its accounting terms mean. You don't need a bookkeeping background to follow it. - [Haddon and other open-source accounting tools](https://haddon.dev/docs/comparison.md): How Haddon compares with hledger, Beancount and Fava, Ledger and GnuCash, and when to pick each. ## Agents - [Using Haddon from an agent](https://haddon.dev/docs/using-from-an-agent.md): The short version of the contract an agent works under: how to find out what it can do, how to write safely, how mistakes get fixed, and how to read a refusal. - [Connecting an LLM agent](https://haddon.dev/docs/agent-guide.md): This guide is for people wiring a language-model agent to Haddon. ## API - [API conventions](https://haddon.dev/docs/api.md): Authentication, idempotency, amounts, dates, pagination and errors, and a list of every route. - [OpenAPI document](https://haddon.dev/openapi.json): the full schema of every route, request and response, as the service publishes it ## Running Haddon - [The web interface](https://haddon.dev/docs/reviewer-ui.md): Haddon comes with a web interface where you can browse the books, review and correct entries and close periods, if you want to. Nothing requires it: an agent can do all of the same over the API. - [hledger import, export and the oracle](https://haddon.dev/docs/hledger.md): Haddon reads and writes hledger journals, the plain-text double-entry format. - [Operating a Haddon deployment](https://haddon.dev/docs/operations.md): What to run, when, and how to read the result. Every command here exits non-zero when something is wrong, so all of it works from cron or a release gate. ## Changing Haddon - [Architecture](https://haddon.dev/docs/architecture.md): Haddon is a small journal core with optional extensions around it, served over HTTP by one process per deployment.