Skip to main content New EU e-invoicing mandate from 2027 — Kontier issues XRechnung & ZUGFeRD natively
XRechnunge-invoicingpublic sector invoicingLeitweg-ID

How to Implement XRechnung for SaaS Invoices: Requirements, Data Model, Practice

8 August 2026 7 min read Kontier Team

Anyone selling SaaS to the public sector notices quickly: ordinary PDF invoices aren't enough. As soon as a German public-sector buyer demands XRechnung, a billing topic becomes an infrastructure topic. That's exactly why XRechnung SaaS invoices are no edge case for many finance and product teams but a critical part of go-to-market capability in the EU.

Why XRechnung is different for SaaS invoices

XRechnung is not a prettier invoice format. It's a structured standard for electronic invoices to public contracting authorities in Germany. What matters is not the visual rendering but the machine-readable semantics. Systems on the recipient side automatically check fields, references, mandatory data, and formal consistency.

With SaaS invoices, additional complexity joins in. Prices are often usage-based, services run periodically, contracts contain free allowances, tiered pricing, minimum commitments, or trailing corrections. What still looks like a simple outbound invoice in a classic ERP is, in SaaS billing, an event stream of contract data, usage records, tax rules, and invoice states.

This is exactly where many teams fail. They produce an invoice that's correct from the product's perspective, but not an XRechnung that is regulatorily and technically resilient. Or they build a special process just for individual public-sector customers and permanently raise their operational effort.

Where the real problems arise

The challenge doesn't start at the XML export but in the data model. An XRechnung demands structured content that must be supplied completely and correctly from the billing system: invoice issuer and recipient, Leitweg-ID (routing ID), purchase order reference, payment terms, tax rates, service period, and line-item logic.

For SaaS companies, three points are especially critical:

  1. The service period must be cleanly derivable at line-item or invoice level.
  2. The tax logic must match the actual supply model.
  3. Corrections, credit notes, and cancellations must not only be correct in financial accounting terms but also consistently represented in the e-invoicing format.

A typical example: a US SaaS provider invoices a German public-sector buyer monthly with base fee plus consumption. Usage is finalized at month-end, but individual events arrive late. If corrections then happen manually in Excel, are re-posted in the ERP, and an XML document is generated separately afterward, deviations between invoice, tax logic, and e-invoicing data arise almost inevitably.

Which data XRechnung really needs

Many teams underestimate how early XRechnung requirements reach into product and finance processes. The mandatory fields don't arise at dispatch time. They must already exist at contract signing, in the customer master record, and in the billing logic.

These data structures are decisive:

  • a resilient debtor master record with public identifiers
  • a cleanly versioned product and price object
  • traceable service periods
  • fiscally correct line-item types
  • a reference model for purchase order, call-off, or award

If any of these is missing, an automated invoice run quickly becomes a manual exception process.

For engineering, that concretely means: the billing system must do more than calculate prices. It has to generate structured invoice data, version events, and store state changes auditably. For finance it means: invoice logic, tax logic, and document logic must not be spread across three different tools if reliable scaling is the goal.

The difference between PDF invoice and XRechnung

A PDF can look formally correct and still be operationally worthless when the recipient only accepts XRechnung. XRechnung is not an attachment to an invoice; it is the invoice in structured form. That sounds trivial but changes the architecture.

In a PDF world, companies can paper over many sloppinesses. Free text rescues missing data, manual notes compensate for process gaps, individual exceptions are settled by email. In an XRechnung world, these buffers disappear. Fields must be present, assignments must be right, calculations must be reproducible.

That's not a disadvantage. It forces a better billing foundation. Anyone implementing XRechnung cleanly usually improves revenue recognition, audit trail, tax handling, and receivables management along the way.

What a resilient workflow looks like

The right workflow starts before the first invoice. Public-sector buyers often have specific requirements for routing ID, purchase order reference, submission channel, and contacts. This data must be captured in structured form and validated before a contract goes live.

Then comes the actual billing path. Contract parameters, subscriptions, and usage data flow into an invoice preview. Before finalization, the system checks tax rules, mandatory fields, and document capability. Only then is the invoice finalized, serialized as XRechnung, and handed into an audit-proof delivery or transfer process.

The handling of changes matters. SaaS billing is dynamic: upgrades, downgrades, late usage, price changes, and credits are normal. The workflow must support correction and follow-up documents in a way that preserves substantive and regulatory consistency. An XML generator alone doesn't solve this problem.

Tax logic: the blind spot of many implementations

Many vendors treat XRechnung as a format question. For EU business, that's short-sighted. With cross-border SaaS models especially, VAT rules, reverse-charge constellations, place-of-supply determinations, and differing invoicing obligations interlock.

When a company from the US or the UK invoices European customers, it's not enough to output a German e-invoicing format at the end. The entire transaction must be fiscally qualified correctly: tax rate, tax notice, place of supply, the customer's business status, and the question of which entity is invoicing at all.

Here's where the difference between generic billing tools and EU-native billing infrastructure shows. Anyone who thinks of tax logic, invoice logic, and e-invoicing separately creates interface risk. Anyone who models them in one system markedly reduces error rate and implementation time.

Build versus buy

Of course a team can build XRechnung internally. Technically feasible. Practically, it gets expensive fast – not because of the first XML document but because of the edge cases. Versions change, customer requirements diverge, data must be re-validated, credits need consistent references, and audit requirements don't stop at the file format.

For product-driven companies, the real question is therefore not whether XRechnung can be developed. It's whether billing engineering should spend its time on regulatory document logic while pricing, packaging, and revenue workflows grow at the same time. If the answer is no, an infrastructure is needed that models XRechnung as part of the billing core.

That's exactly where the operational lever lies. Teams go live faster when they don't have to build special logic around ERP, PDF generator, and manual tax checks. A platform like Kontorion, in this context, is not simply an invoicing tool but an abstraction layer for EU-compliant monetization.

Typical mistakes in practice

The most common mistake is a late start. Many companies react only when a public customer contractually demands XRechnung. Then master data must be supplemented, invoice logic adjusted, and exception workflows built under time pressure.

The second mistake is media discontinuity. Subscription data lives in the product, usage in the data warehouse, invoices in the ERP, tax rules in a separate engine, and the XRechnung XML in yet another tool. Chains like this work in the demo case, but not in day-to-day operation with corrections and month-end close.

The third mistake is missing auditability. When nobody can trace anymore which usage version led to which invoice, every correction becomes expensive. That affects not just finance but also support, collections, and external audits.

What decision-makers should check before introduction

CFOs and finance leads should look at process stability first. How many steps are manual, how many fields are maintained freely, how often must invoices be reworked before dispatch? If the answer is "too often," the system isn't resiliently XRechnung-capable.

Engineering and product teams should examine the data model. Are there versioned price objects, traceable usage aggregation, clear invoice states, and API-capable document generation? Without these foundations, every XRechnung implementation is fragile.

Revenue-ops owners should evaluate the end-to-end process. What matters is not only whether an XRechnung can be produced. What matters is whether it arises from the same primary data as tax calculation, dunning, reporting, and the accounting handoff.

Conclusion

Anyone setting up XRechnung for SaaS invoices cleanly doesn't just fulfill an obligation. They remove a whole cluster of manual risks that would otherwise slow growth in Europe. This is not a document topic; it's architecture. And good architecture proves its worth exactly when new markets, new customer classes, and new billing models arrive at the same time.

Book a demo

Book a technical demo. 15 minutes with an engineer on your specific pricing model and tax setup. No hard sell.

Prefer email? Reach us at contact@frontieralgorithmics.com