Skip to content

quints

Plain-text accounting for Swiss micro-companies — GmbH, AG, or Einzelfirma — on top of beancount and Fava.

Swiss VAT (MWST) returns, Bezugsteuer, QR-bill invoicing, statutory KMU statements, official BAZG FX rates. The things a Swiss micro-company actually has to do, on a ledger you own as text.

quints is deterministic and machine-readable by design, so an AI coding agent (Claude Code, Codex, …) can drive it: the agent proposes bookings, quints checks and reports. It never calls a model itself. See Working with AI agents.

Install

uv tool install quints        # or: pipx install quints / pip install quints
quints --help

Python 3.10+ (uv installs it if missing). Typst — for the PDFs — comes bundled. Nothing else to install.

Sixty seconds

quints init my-books --samples --yes    # drop --yes to answer the questionnaire
cd my-books
quints check
quints mwst -q 2026-Q3

That's a runnable project with a sample quarter booked and a Form-310 VAT report on screen. Getting started walks through a real setup — including the legal-form choice.

quints init scaffolds sample books, quints check validates them, and quints mwst prints the Form-310 VAT return

By the job

You need to Run Guide
File quarterly VAT quints mwst -q 2026-Q3 Quarterly VAT
See who owes you quints receivables Invoicing
Send a QR-bill invoice quints invoice <invoice.yaml> Invoicing
Book bank/PSP activity quints import ubs <statement.mt940> Import statements
Year-end statements quints report statements --year 2026 Statutory reports
Keep FX rates right quints prices sync FX rates

Every command in these docs is executed by the test suite against the shipped example project. If a documented command breaks, CI fails before you see it.

The building blocks

quints is assembled from five standalone PyPI distributions — quints, beangulp-mt940, beangulp-wise, beangulp-stripe, beanprice-bazg — each usable on its own in any beancount setup. Installing quints pulls them all in. Source: github.com/sealambda/quints.