↓ Skip to main content

ivly: Self-hosted e-invoicing

ivly now has its own website: ivly.de . It covers features, screenshots, an FAQ and installation. A lot has changed since the first release in May. The current version is 0.3.1.

ivly creates e-invoices as XRechnung (CII following EN 16931 and the German CIUS) and as ZUGFeRD/Factur-X (PDF/A-3 with the XML embedded). I built it for my own work as an IT freelancer, but it fits any sole trader invoicing in Germany. Internally, all business data is stored as GOBL documents, an open JSON format, so your data isn’t locked into ivly.

What’s included:

  • Validation before issuing: the invoice number is assigned only once validation passes, so rejected drafts leave no gaps in the sequence.
  • Frozen invoices: issued invoices are stored as XML and PDF and served exactly as issued. Cancellations go through a credit note.
  • Date of supply per line: a date or period on each line, and the VAT rate follows it.
  • Supporting documents: time sheets or delivery notes are embedded in the XML and PDF, and can optionally be appended as pages.
  • Your own letterhead as a PDF background, with ODT templates included.
  • DATEV export as CSV for any period.
  • Assistant (optional): create and query data in plain language, running locally via Ollama.

ivly runs as a container stack on Podman or Docker, for amd64 and arm64. For running it on a server such as a Raspberry Pi, there’s the Ansible role . ivly sends no telemetry; its components only talk to each other.

Two limitations to be aware of: ivly currently supports a single user and a single company, and it has no built-in login. If you want access from outside, protect it at the reverse proxy, for example with basic auth or mTLS.

All main components are licensed under AGPL-3.0. Bug reports, ideas and patches are welcome on Codeberg .

Installation and details ยท Source: codeberg.org/ivly


Found this helpful?
Consider supporting via: