Skip to Content

How can freelancers create ZUGFeRD e-invoices locally (without cloud tools) in 2026?

What’s the simplest way to open, check, and validate ZUGFeRD or XRechnung invoices on Windows and Linux?

In Germany, businesses must be able to receive electronic invoices in structured formats such as XRechnung or ZUGFeRD, and the rollout for mandatory issuing is phased toward 2028.

That reality hits freelancers and small businesses first: you may only send a few invoices per year, but you still need a reliable way to open, verify, and store what you receive.

What to ignore (for January 2026 decisions)

The EU’s ViDA package was adopted on 11 March 2025 and introduces digital reporting requirements for cross-border B2B transactions starting 1 July 2030, with further rollout into 2035.

That is important strategically, but it should not block practical e-invoice readiness work like viewing, validating, and issuing compliant invoices today.

Receive, view, and validate (fast path)

A ZUGFeRD invoice is a hybrid: a human-readable PDF plus embedded structured XML, and the XML is what systems use for automated processing and compliance checks.

For offline viewing and manual comparison, Quba-Viewer is a free, open-source, cross-platform e-invoice viewer designed for formats including XRechnung and Factur-X/ZUGFeRD.

For validation (to reduce rejection risk and catch schema/business-rule errors), use a validator workflow before sending—especially when you generate XRechnung XML or ZUGFeRD XML from templates or invoicing tools.

Create e-invoices without cloud dependence

If invoices contain sensitive client data, an on-premises approach reduces exposure and avoids the operational risk of losing access when subscriptions end or vendors change terms.

In practice, on-prem setups usually fall into two workable patterns: (1) office-template-based generation (PDF/A-3 + embedded XML) and (2) invoicing software that generates EN 16931-aligned ZUGFeRD/XRechnung outputs directly.

Advisor-style recommendation (simple, defensible workflow)

Use a three-step routine: generate the invoice in ZUGFeRD or XRechnung → open it in an offline viewer for a quick human check → validate it before sending (and archive the original file).

This keeps the process understandable, repeatable, and proportionate for low invoice volume, while still aligning with structured e-invoice expectations in Germany.