3 min.

Invoicing with WHMCS in Germany

Invoicing with WHMCS in Germany
Image: stevepb / Pixabay

My name is Martin Becker, owner of Becker Software – and if you're like me, a B2B hosting provider, you're all too familiar with the chaos of invoices, reminders, formatting issues, tax consultants, and frustration. Often, invoicing is the most vexing part of daily operations in the hosting business.

In this post, I want to show you how we managed to develop a professional and legally compliant accounting system using WHMCS, despite its quirks. Perhaps you'll find some useful insights here too.

Why Choose WHMCS?

Admittedly, WHMCS is not perfect. It has become expensive, especially when compared to alternatives like Blesta. However, no other system offers as many extensions, integrations, and a large community. If you wish to automate cPanel, Plesk, domains, DNS, SSL, and more, WHMCS is usually the go-to – particularly if you aim to sell your services widely.

Our Customizations

1. The Troublesome WHMCS PDF Format

WHMCS comes with an American-style invoice template. No proper item numbers, no space for tax rates, no DATEV-compatible layout. Reminders? Laughable – only via email, no proper PDF for postal delivery.

Our Solution:

  • For a long time, we used the PDF-Template Module from Plambee.de – making invoices usable in WHMCS according to German standards.
  • Yet, we occasionally had to manually transfer each invoice into Lexware Office so our accountant had access.

Eventually, this became too cumbersome – so we developed our own module that directly connects WHMCS and Lexware Office.

Results:

  • Invoices are automatically generated in Lexoffice
  • We send professional PDFs created by Lexoffice.
  • Reminders? No problem – directly from Lexoffice via email or postal service.

👉 WHMCS handles creation, while Lexware Office manages the flow. It doesn’t get better than this.

2. The Era of E-Invoicing

The urgency of e-invoicing has caught up with us all – but with the Lexoffice module, we managed to tackle two issues at once. Lexoffice already supports e-invoices, including XRechnung & ZUGFeRD.

If you're eager to learn more about the e-invoicing mandate, I recommend this article: 👉 E-Invoice Alert for WHMCS Hosts

3. Terminations – But With a System

WHMCS by default allows immediate cancellations by customers – this was somewhat problematic for us in the B2B sector. We wanted a controlled cancellation process that included:

  • A legally compliant cancellation button under §312k BGB
  • A confirmation process
  • Cancellation at the end of the contract's term
  • A final invoice

Our Solution:

  • A dedicated cancellation button on our website: 👉 https://www.becker-software.de/de/cancel-contract
  • We modified WHMCS's cancellation process – no immediate deactivation, only a request.
  • Cancellation is manually confirmed, then WHMCS automatically generates a final invoice and properly terminates the service at the contract's end.

Find more details in this post: 👉 Cancellation Buttons for Hosting Providers – Requirements, Penalties, and Our Approach

4. The Start of the Month = Invoicing Day

A classic scenario: a customer orders on 02/01, but by 02/18, they've already received the next invoice. WHMCS typically calculates based on the order date. This led to considerable confusion among our clients.

Our Solution: We adjusted our cron jobs and billing cycles so that on the 1st of each month, a comprehensive invoice for all due services is created.

This provides clarity and uniformity – and honestly: I prefer when the accounting is neatly laid out on the table.

👉 Technical details including cron job adjustments are found in this post:

WHMCS Invoices at the Start of the Month

Conclusion

WHMCS is far from perfect – but it is customizable. If you're willing to invest some effort (or hire development), you can transform WHMCS into a legally compliant, professional, and fully integrated platform that can handle Lexoffice, e-invoices, and German termination logic.

If you have any questions or need assistance – feel free to reach out. I’m happy to share what we've created.