implementation5 min read

How to Implement E-Invoicing in Your German Business: Step-by-Step Guide

Practical step-by-step guide to implementing e-invoicing in your German business. From software selection to testing, get compliant before the 2025 deadline.

By EU E-Invoicing HubPublished: 12 February 2026Updated: 28 February 2026

How to Implement E-Invoicing: Step-by-Step Guide

Here's a practical walkthrough of getting your German business e-invoicing compliant. No fluff โ€” just the steps that actually matter.

Phase 1: Be Able to Receive E-Invoices (Deadline: January 2025 โ€” already passed)

If you haven't done this yet, you're technically behind. It's also the easier part, so let's get it sorted.

Step 1: Set Up an E-Invoice Inbox

You need to be able to receive XML files by email. Most businesses can already do this โ€” XML is just a file attachment. Check two things:

  • Your email system isn't blocking .xml attachments (some corporate mail servers do this)
  • You have a clear home for incoming invoices, like invoices@yourcompany.de โ€” don't let them get lost in a general inbox

Step 2: Get Software That Can Read E-Invoices

Receiving an XML file is one thing. Actually processing it is another. Your options:

  • Check your current accounting software first โ€” there's a decent chance it already handles XRechnung and ZUGFeRD imports. Look in the settings or import section.
  • Free validator tools โ€” useful for testing or occasional one-offs (the KoSIT Validator is the official one)
  • Dedicated e-invoicing software โ€” see our comparison if you need something new

Step 3: Update Your Internal Process

Tell your accounting team what's changing. Set up a clear flow for: receive โ†’ validate โ†’ process โ†’ archive. The "archive" step is important โ€” you can't just receive an XML, process it, and delete it. More on that below.


Phase 2: Send E-Invoices (Deadline: 2027 for large businesses, 2028 for everyone)

You've got some runway here, but it's worth starting early. E-invoicing rollouts always take longer than expected, especially when you need to coordinate with trading partners.

Step 4: Decide on a Format

The two main options are XRechnung (pure XML) and ZUGFeRD 2.x (PDF with XML embedded). The right choice depends on who you're invoicing and what your workflow looks like. Read our XRechnung vs ZUGFeRD breakdown if you're unsure โ€” it's not a long read.

Step 5: Pick (or Configure) Your Software

Your accounting software needs to generate EN 16931-compliant invoices. Key things to check:

  • Does it output XRechnung or ZUGFeRD 2.x with the correct profile?
  • Does it integrate with your existing workflow, or will it create parallel processes?
  • Can it export to DATEV format if you work with a Steuerberater?

Compare e-invoicing software โ†’

Step 6: Clean Up Your Master Data

This sounds boring, but it will cause you problems if you skip it. Before you start sending structured invoices, make sure:

  • Customer and vendor records have valid VAT IDs (USt-IdNr.) โ€” you can cross-check against the EU VIES system
  • Product and service descriptions are consistent and standardized
  • Tax rates are correctly configured for each product/service type
  • Your bank details are current

Structured formats expose data quality issues that PDFs quietly hide.

Step 7: Test Before Going Live

Seriously, test this properly. The sequence:

  1. Generate a test invoice in your software
  2. Run it through an online validator (KoSIT Validator works fine)
  3. Send it to a trading partner who's willing to be your guinea pig
  4. Have them confirm it processed correctly on their end
  5. Break things, fix things, repeat until it works cleanly

Don't skip the partner test. Validators catch format errors, but only a real recipient can tell you whether their system actually ingested it correctly.

Step 8: Go Live (Gradually)

Start sending e-invoices to the partners who are ready for them. During the transition period, you can keep a fallback process for the stragglers who haven't caught up yet. Monitor for errors, watch for rejected invoices, and fix issues as they come up.


Common Pitfalls (Learn From Others' Pain)

These are the things that actually go wrong in practice:

  1. Wrong ZUGFeRD profile โ€” "Basic" won't cut it. It needs to be "EN 16931" or "XRechnung". Check your software settings.
  2. Missing Leitweg-ID โ€” Required for government invoices. If you invoice public sector clients, make sure this is in your template.
  3. Invalid VAT IDs โ€” An invalid USt-IdNr. will cause rejections. Validate against VIES before you go live.
  4. Skipping archiving โ€” You are legally required to keep the XML for 10 years (GoBD). Printing a ZUGFeRD to PDF and archiving only that doesn't count. Keep the original file.
  5. Testing too late โ€” Don't start testing a week before a deadline. Integrations always have surprises.

Timeline Summary

When What to Do
Now (overdue) Set up receiving, validate your software
Q1 2025 Confirm you can receive from all B2B partners
2026 Implement sending capability, run partner tests
Jan 2027 Mandatory sending if revenue >โ‚ฌ800K
Jan 2028 Mandatory sending for all businesses

Where to Go From Here


Last updated December 2024. Regulations are still evolving โ€” I'll update this as things change.

implementationguidegermanystep-by-stephow-to