billingcat is a lightweight CRM and invoicing tool, made for freelancers and small businesses. It helps you manage contacts, companies and notes – but its main focus is on invoicing in a b2b environment. You can even generate ZUGFeRD-compliant invoices (both XML and PDF).
Check out billingcat.de – you can sign up for the newsletter there to get notified once the public alpha SaaS goes live!
- Create and download ZUGFeRD invoices (XML + PDF)
- Simple but complete CRM for contacts, companies and notes
- Focused on invoice management
- Designed for freelancers and small businesses
- Open Source and SaaS
Note: billingcat is currently available only in German (source code and user interface). "billingcat" is a registered trademark of Patrick Gundlach.
- Go + Echo for the backend
- GORM as ORM
- Tailwind CSS + Alpine.js for the frontend
- SQLite as the default database (built-in, file-based, zero-config)
- PostgreSQL as an alternative database
- speedata Publisher for PDF generation
billingcat can be self-hosted or used as a hosted SaaS on billingcat.de.
The recommended and up-to-date installation instructions are documented in the billingcat manual (currently German only):
- 👉 Installation chapter in the documentation (German): https://docs.billingcat.de/de/docs/install/
The manual covers:
- local development setup (SQLite)
- configuration via
config.toml - running migrations
- production deployment (e.g. with PostgreSQL)
- PDF generation via speedata Publisher
- e-mail setup
If you just want to experiment locally, the very short version is:
git clone https://github.com/billingcat/crm.git
cd crm
cp config.toml.example config.toml
go run -tags sqlite .Then open:
The first registered user becomes the admin user.
For all details and edge cases, please refer to the documentation.
If you:
- want to self-host billingcat → read the [installation section in the installation guide]
- want to just try it as SaaS → keep an eye on https://billingcat.de and subscribe to the newsletter.
For local hacking, a minimal workflow looks like this:
git clone https://github.com/billingcat/crm.git
cd crm
cp config.toml.example config.toml
go run -tags sqlite .More complete setup instructions (production, databases, mail, PDF, …) live in the manual.
billingcat is dual-licensed:
-
Open Source: released under the GNU Affero General Public License v3.0 (AGPL-3.0). That means if you modify and use billingcat as a service, you need to publish your changes. See the LICENSE file for details.
-
Commercial License: if you want to use billingcat without the AGPL requirements (e.g. inside proprietary products or SaaS offerings), get in touch.
Contact: [hallo@billingcat.de]
The billingcat name is a registered trademark of Patrick Gundlach. The name and the billingcat logo are not part of the open-source license. Forks or self-hosted instances should replace them with their own branding.
Pull requests, bug reports and ideas are always welcome! Just open an issue or a PR here on GitHub.
This project makes use of third-party libraries like Alpine.js, Tailwind CSS and Font Awesome (see Notice.md).
Made with ❤️ by a small business, for small businesses.
