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.

  • MIT licensed
  • Runs on your computer
  • Made in Switzerland by Nomadik GmbH
  • Nomadik keeps its own books on TILL
  • Latest release 1.0.0-beta.4, 9 November 2026
  • No tracking without your consent
An issued invoice in TILL: the VAT summary per rate and the Swiss QR-bill payment part with the scannable code, reference, amount and due date.

Features

What a Swiss SME runs on, compared

Search for a feature or pick an area. TILL's own gaps are in the table too, and every cell has its source and date on the full comparison.

FeatureTILLbexioBanana Accounting PlusCashCtrlAbaNinjaKlaraInfinityOdooCommunityOdooEnterpriseERPNextwith erpnextswiss
Sales and invoicing
Invoices with the QR-bill

YesWith structured addresses

Yes

Yes

YesAlso on FREE

YesAlso on Starter

Yes

YesWith structured addresses

Yes

Yes

YesIn erpnextswiss

Quotes and sales orders

Yes

Yes

PartlyEstimates and invoices

Yes

PRO

Yes

Yes

PartlyQuotes

Yes

Yes

Yes

Payment reminders (dunning)

YesAs PDFs

YesDunning runs

Yes

Yes

PRO

Yes

Yes

NoNo dunning system

NoNot in Community 20.0

YesFollow-ups

Yes

MWST
MWST return as an eCH-0217 file

YesEffective and Saldo

Not confirmed

YesEffective and Saldo

Advanced

Not confirmed

Not confirmed

Not confirmed

Not confirmed

Not confirmed

Not confirmed

YesEffective and Saldo

Saldosteuersatz method

Yes

Not confirmed

Yes

Yes

Yes

Basic

Yes

Yes

Not confirmed

Not confirmed

YesIn erpnextswiss

Bank and payments
Bank statement import (camt)

Partlycamt.053

Yescamt.053 upload, and through bank interfaces

Yescamt.052, .053, .054

Yescamt.052, .053, .054

PRO

Not confirmed

Yescamt.053 upload

Yescamt.053 upload

NoNot in Community 20.0

Yescamt.053

Yescamt.053 and camt.054, in erpnextswiss

Payment files (pain.001)

Yes

YesAs a file or through a bank interface

PartlyBeta extension

Advanced

PartlyFor salaries

PRO

Not confirmed

Not confirmed

Not confirmed

NoNot in Community 20.0

YesSwiss ISO 20022

YesIn erpnextswiss

Matching bank lines to invoices

YesA proposal per line

Yes

PartlyRules for imported lines

Advanced

Not confirmed

Not confirmed

Not confirmed

Not confirmed

Not confirmed

Yes

YesIn erpnextswiss

Purchasing, stock and projects
Purchase orders and goods receipts

YesWith a three-way match

PartlyPurchase orders

Not confirmed

Not confirmed

Not confirmed

Not confirmed

Not confirmed

Yes

Yes

Yes

Stock with lots and serial numbers

Yes

PartlyStock, from Optima

PartlyInventory app

PartlyStock items

PartlyStock levels

PartlyInventory

Not confirmed

Yes

Yes

Yes

Projects and time tracking

Yes

YesFrom Optima

PartlyTime sheet

Not confirmed

PartlyTime tracking

Yes

Yes

Yes

Yes

Yes

CRM sales pipeline

Yes

Not confirmed

Not confirmed

Not confirmed

Not confirmed

PartlyCRM

Not confirmed

Yes

Yes

Yes

Fixed assets and depreciation

Yes

PartlyThrough a partner app

Yes

Yes

Not confirmed

Not confirmed

Not confirmed

NoNot in Community 20.0

Yes

Yes

Foreign currencies

Yes

Yes

Yes

Professional

Yes

PRO

PartlyDocuments in foreign currency

Not confirmed

Yes

Yes

Yes

Yes

Payroll and Treuhänder
Swissdec payroll

NoA hand-off

YesELM 5.3

Not confirmed

Not confirmed

Yes21.AbaSalary, ELM 5.0

YesELM 5.3

PartlyThrough a certified partner

NoNot in Community 20.0

YesELM 5.3

Not confirmed

Moving your data over from bexio

Yes

Does not apply

PartlyImports bexio transactions from Excel (beta extension)

Advanced

Not confirmed

Not confirmed

PartlyOpening balance taken over as a paid service

PartlyContacts, chart of accounts, opening balances

Not confirmed

Not confirmed

Not confirmed

Access for your Treuhänder

PartlyOn a server you host, or by handing over the book file

YesFree accountant access

PartlyBy sending the accounting file

Yes

PRO

YesInvited as a user

Yes

YesFree invitation

PartlyAs a user with access rights

YesFree on Odoo Online

PartlyAs a user with accounting roles

Data, agents and licence
An AI agent through MCP

YesRead and write

None found

None found

None found

None found

YesRead and write

YesIn every plan

NoNot in Community 20.0

YesRead, and write if enabled

YesRead and write

Your books stay on your own computer

YesOne SQLite file

NoVendor cloud

YesFiles on your device

NoVendor cloud

NoVendor cloud

NoVendor cloud

NoVendor cloud

PartlyA server you run

PartlyOwn server on Custom

PartlyA server you run

Open-source licence

YesMIT

NoProprietary

NoProprietary

NoProprietary

NoProprietary

NoProprietary

NoProprietary

YesLGPL-3.0

NoProprietary

YesGPL-3.0

YesPartlyNoNone foundNot confirmed

As of 28 October 2026. Sources and dates for every cell are on the full comparison. See the full comparison

Switching from bexio?

See where TILL is an alternative, where bexio is the better choice today, and how your books come over.

In the Studio

Real screens from the beta

The Studio is TILL's screen in your browser. These are screenshots of a sample company, not mock-ups.

Invoices with the Swiss QR-bill

Quote, order, invoice and credit note on one path, in francs or a foreign currency.

Every invoice carries the QR-bill payment part and comes out as a PDF. Payments find their invoice by the QR reference.

For now you send the PDF from your own mail program.

Sales and invoicing
The Swiss QR-bill payment part of an issued invoice in TILL: the scannable code, reference, amount and due date.

A bank inbox that goes line by line

Import the camt.053 statement from your eBanking.

TILL proposes a booking for each line it can place. You confirm it, and a wrong one is undone with a reversing entry.

There is no direct bank connection in the beta.

Bank
The TILL bank inbox: imported bank lines waiting to be booked, with likely duplicates flagged.

The MWST return, ready for the ePortal

Tax codes on every line, with input and output tax worked out and a trace of how.

TILL prepares the return per ESTV Ziffer and writes the eCH-0217 file. You upload it in the ESTV ePortal yourself.

The beta computes on agreed consideration (vereinbarte Entgelte).

MWST
The TILL VAT return for Q3 2026: the amount payable and the turnover per ESTV form line, ready to export as an eCH-0217 file.

Your agent drafts, you approve

Connect Claude or another AI agent. It prepares bookings, invoices and matches in the same books you work in.

By default, your agent waits for your OK before it books anything, moves your money, grants access or deletes your data for good.

Every call it makes is recorded, with its proposals and the trust you gave it.

Agent oversight
Bookings an AI agent proposed in TILL over MCP, each waiting for a person to approve or reject it.

Moving from bexio

TILL reads bexio exports, Excel files and zip bundles, and you confirm how columns, accounts and tax codes map.

Load it all into a trial company, check the control totals, then go live or throw it away.

Unpaid customer and supplier invoices come along, so you settle them in TILL.

Migration
The TILL migration workspace for moving books over from another accounting system, step by step.

Books that stay as they were booked

Start from the Swiss KMU chart of accounts and post balanced entries.

A correction is a reversing entry, and both stay visible. Closed months and years are locked.

Trial balance, balance sheet and income statement come straight from the journal.

Ledger and closing
The TILL journal: posted bookings with date, voucher number, reference, amount and the document they came from.

And the rest of the ERP

Not in the beta yet

  • 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.

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.

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
till up

Node.js 22 or newer, on macOS or Linux.

All the ways to install

Try it on the demo company first

TILL is free and MIT licensed. Start with the sample company, and move your own books in when you are ready.

Want someone to set it up?

Nomadik GmbH sets TILL up for you and moves your books over from bexio, for a fee.

Pricing and help

Rather not install anything?

Join the waitlist for hosted TILL
Latest release
1.0.0-beta.4, on npm since 9 November 2026
Latest build log entry
The third beta is on npm