ESoR Headless documentation
ESoR Headless is an Enterprise System of Record (ESoR): double-entry books, receivables and payables, banking, VAT and sales tax, the month-end close, consolidation, a 13-week cash forecast and a rolling 12-month forecast, sales, subscriptions, purchasing, expenses from a receipt's photo, stock, a hotel's front desk and a support desk, in one system for companies in Switzerland, Liechtenstein, the EU, Norway, the UK, the US and Canada. It is headless: everything the web app does is an operation of a public API, so people, integrations and AI assistants work on the same records under the same rules.
There are four ways to run it, and this documentation covers each:
| Way | For | Start with |
|---|---|---|
| The web app | the people of the company: accountants, sales, purchasing, support | Everything ESoR does, then the web app |
| AI assistants (MCP) | Claude, ChatGPT or any MCP client, signed in as a person | Connect an AI assistant and every MCP tool |
| Autopilot | outcomes the system keeps true by itself, such as customers invoiced or the bank matched | Autopilot and routines |
| The REST API and webhooks | developers integrating other systems | Getting started, the API reference and webhooks |
Rules that hold everywhere
- Controlled steps. What the approval policy says needs approval is decided by the AI reviewer in the default controls mode: it clears a step whose fixed checks pass (a new customer or vendor, a period-end run's entry, an expense) and holds the rest for another person, or for the owner who runs the company alone, who releases it with a passkey touch. In four-eyes mode a second person decides (who approves). Nobody approves their own request, and an AI agent never approves anything.
- Nothing is deleted from the books. A posted entry, invoice or bill is never changed; it is reversed or credited, and every change is in the audit trail. The ledger is a tamper-evident chain, checked every night.
- The same rules for every way in. The app, the API, the MCP tools and Autopilot call the same operations, with the same permissions, approvals and audit trail.
- Each organization's data is its own. The database itself keeps organizations apart.
- Built from modules. Functions beyond the core (CRM and sales, purchasing, inventory, revenue contracts and subscriptions, the support desk, auditors, capacity, the hotel front desk, roles, company sign-in, branding, fixed assets and leases, saved reports, consolidation and intercompany, cash and rolling forecasts, analytics, expenses, banking, Autopilot, tax, the close and the integrations) are modules, each with its own version, tests and release notes, on the same books and under the same rules.
Where to go next
| I want to | Read |
|---|---|
| see every feature in plain language | Features |
| set up a new company | Setting up a new customer |
| put my industry's screens first | Industries |
| know which functions are modules and how each one ships | Modules |
| try things without touching the real books | Test copies |
| understand the books and their controls | The ledger |
| follow a business process through the API, step by step | Workflows |
| know how every API call behaves | Conventions |
| see what changed recently | Release notes |
The API reference and the list of MCP tools are generated from the code on every change, so they always describe the system that is running.