A clean, self-hosted finance tool for one person.
Track what you spend (with receipts), know exactly when your money lands, manage your customers, and bill them with proper Swiss invoices and a QR-Rechnung. Your data, your server, no subscription.
chohle (Swiss-German slang for money) is a single-user finance app for a Swiss freelancer or one-person GmbH. It handles the boring money admin of running a solo business, from "I bought something" to "I sent the invoice and got paid", without a SaaS subscription and without your financial data living on someone else's server.
It is deliberately single-user and Swiss-first: CHF, MWST (8.1 %), 5-Rappen rounding, cantonal public holidays, and the QR-bill are first-class, not afterthoughts.
Expenses with receipts, Swiss-correct income and invoicing (MWST, 5-Rappen rounding, QR-bill), quotes, customers, a sales/procurement pipeline, per-project email, bank reconciliation, year-end tax export, and an optional AI assistant. Everything is single-user and self-hosted.
See the full list (one page per feature) in the features documentation or, nicely rendered, at chohle.ch/features.
Want to put it online or run a public playground? See Hosting and Demo mode. Both are optional; chohle runs fine entirely on your own machine.
A Nuxt 4 (Vue 3) app backed by a single SQLite file, self-hosted with Docker. The tech stack page explains every piece and why it's there.
chohle runs in Docker, so you don't need Node or Yarn on your host. The
quick start guide walks through every step: prerequisites, the
.env secrets, generating the session key, first launch, and login.
| Doc | What's inside |
|---|---|
| Features | One page per feature: invoices, quotes, reminders, tax, etc. |
| Quick start | Step-by-step: run chohle locally from scratch |
| Tech stack | What chohle is built from, and why |
| Development | Local setup, environment, database, project structure |
| Mail sync | Connecting an inbox (IMAP / Gmail / Outlook) |
| Sending email | SMTP setup for outbound (invoices, quotes, replies) |
| Hosting | Optional: putting it online (VPS + Docker + Caddy) |
| Demo mode | Optional: public per-visitor sandbox (CHOHLE_DEMO) |
| Commit convention | Commit message format |
Contributions are welcome. Please read the contributing guide and open an issue to discuss your idea before sending a pull request.
MIT © zeaiso