Free, open-source ERP and accounting for Swiss SMEs.
Accounting and MWST, invoices with QR-bill, purchasing, bank, stock, projects, CRM and fixed assets in one app. Your books stay in one file on your own computer, and an AI agent can do the legwork while you decide what gets booked.
No payroll of its own. TILL exports your employee data for your payroll provider and books the wage journal you bring back.
No MWST filing from TILL. It writes the eCH-0217 file, and you upload it in the ESTV ePortal.
No MWST on received consideration (vereinnahmte Entgelte): TILL computes the return on agreed consideration only.
No email sending yet. TILL makes the PDF of an invoice, quote or reminder, and you send it from your own mail program.
German (de-CH) and English only. No French or Italian yet.
Runs on macOS and Linux; Windows is not supported (we do not test on it), and there is no mobile app.
No direct bank connection in the beta. You import camt.053 statements from your eBanking.
On your own computer, backups run when you start them, not on a schedule.
Several people in one book only on a server you host yourself. The local app is for one computer.
No eBill sending, no e-signature and no online customer portal.
How it is built
Why TILL is built this way
Your books are a file you own
TILL keeps your books in one SQLite file on your computer. Back it up, hand it to your Treuhänder, take it with you. You need no subscription to open it.
An agent works the way you do
TILL is an agent-first ERP: your agent connects over MCP and uses the same operations as the Studio. There is no second, poorer path for machines, and the same call sent twice does not post twice.
Nothing is overwritten
A posted entry stays as it was booked. A correction is a reversing entry beside the original, and both stay visible, whether you or your agent made it.
Your agent, connected over MCP
You, to your agent
Record yesterday's invoice from Weber Handel, CHF 216.20.
Your agentvia MCP: post_entry
Drafted as one balanced entry. It waits for your OK in the Studio.
In the Studio, the draftYou approve it
Journal entry, invoice Weber Handel
Konto
Soll
Haben
4200 Einkauf Handelswaren
200.00
1170 Vorsteuer MWST
16.20
2000 Kreditoren
216.20
216.20 = 216.20Approved, posted
The same call, sent againAlready there, nothing changed
One sentence, one balanced entry, booked once you approve it. The same call twice does not post twice.
For agent users
Using Claude Code or Cursor? One prompt sets TILL up.
Paste it into an agent that can run commands on your computer: Claude Code (terminal or desktop app), Cursor or Windsurf. It installs TILL, starts the Studio and asks you to open the demo company.
Copying did not work in this browser. The text is selected: press Cmd+C or Ctrl+C.
You are helping me set up TILL, a local-first Swiss accounting app that runs on my own computer. Do it end to end and explain each step in plain language.
1. TILL runs on macOS and Linux. Check that Node.js is version 22 or newer with `node --version`. If it is missing or older, install or upgrade it for my operating system, then confirm the version.
2. Install TILL with `npm install -g tillbooks@beta`.
3. Start it with `till up` and leave it running. The Studio opens at http://127.0.0.1:8788.
4. Ask me to choose "Try the demo" on the Studio's first screen ("Demo ausprobieren" if it is in German), so we work on a demo company with sample data, not on real books.
5. Connect yourself to the running TILL over MCP at http://127.0.0.1:8788/mcp. If your client only supports stdio, use: {"mcpServers":{"tillbooks":{"command":"npx","args":["-y","tillbooks@beta","mcp"]}}} If you need a restart to load it, tell me.
6. Read https://github.com/tillbooks/tillbooks/blob/HEAD/AGENTS.md for the rules you work under, then show me three things you can do in the demo company.
These rules hold from the first step, even before you read AGENTS.md:
- Work only in the demo company until I say otherwise. Never create, restore or open real books on your own.
- Never read, type or store any password, bank login or EBICS key. I enter those myself.
- By default, wait for my OK before you book anything, move money, grant access or delete data for good. Never try to get around that.
Prefer the terminal?
$ npm install -g tillbooks@beta
Copying did not work in this browser. The text is selected: press Cmd+C or Ctrl+C.
$ till up
Copying did not work in this browser. The text is selected: press Cmd+C or Ctrl+C.