Das E-Rechnung-Modul für WHMCS ermöglicht es Ihnen in WHMCS Rechnungen zu erstellen. Hierbei wird das ZUGFeRD Format verwendet, welches die für den Menschen lesbare PDF Datei mit der maschinenlesbaren XML-Datei kombiniert.
Systemvoraussetzung
- Lauffähige WHMCS Installation in der Version 8.9 – 8.11
- PHP 7.4, 8.1 oder 8.2
- IonCube Loader 13
- FTP Zugang für den Dateiupload der Moduldateien und Anpassung der Templatedateien
Installation
- Laden Sie die Moduldateien, welche Sie vom Plambee.de Kundenbereich heruntergeladen haben, auf den Webspace Ihrer WHMCS Installation hoch.
- Gehen Sie in WHMCS auf Configuration > System Settings -> Addon Modules und aktivieren das E-Invoice Modul
- Nehmen Sie die Einstellungen vor und speichern diese. Eine Erklärung der einzelnen Einstellungen finden Sie im nächsten Abschnitt dieses Wiki Beitrages
- Öffnen Sie die invoicepdf.tpl Datei Ihres genutzten WHMCS Client Templates und fügen in der ersten Zeile (nach <?php ) folgenden Code ein:
require(ROOTDIR.'/modules/addons/e_invoice/invoice.php');
Erläuterung der Moduleinstellungen
Das Modul bietet aktuell folgende Einstellungsmöglichkeiten bzw. Eingabeoptionen.
- Licensekey: Hier geben Sie bitte den Lizenzschlüssel für Ihre Lizenz ein. Den Lizenzschlüssel finden Sie im Kundenbereich von Plambee.de
- Cache PDF Invoice on the Webspace: Das Modul bietet die Möglichkeit, einmal erstellte PDF Rechnungen auf Ihrem Webspace zu speichern. Hierdurch werden die Rechnungen nicht mehr On-the-Fly durch WHMCS generiert, sondern es wird bei jedem Aufruf der PDF-Rechnung die bereits gespeicherte Version ausgeliefert. Somit erhält der Kunde eine unveränderte PDF-Rechnung, auch wenn Sie zum Beispiel das Layout oder Produktnamen ändern oder Sie oder der Kunde umziehen.
- Cache After Payment: Mit dieser Option können Sie einstellen, dass PDF Rechnungen erst gecached werden, wenn diese bezahlt wurden. Vorher wird die Rechnung bei jedem Aufruf on-the-Fly durch WHMCS generiert.
- Cache Path: Wenn Sie die Cachefunktion des Moduls aktivieren, müssen Sie hier den absoluten Pfad zum Verzeichnis angeben, in welchem das Modul die Dateien ablegen soll. Innerhalb dieses Verzeichnisses wird das Modul die Rechnungen in Unterordnern für Jahr und Monate ablegen. Das Verzeichnis sollte sich außerhalb Ihres Webverzeichnisses befinden, damit die Rechnungen nicht von außerhalb aufrufbar sind. Das Verzeichnis muss les- und beschreibbar sein.
- Customfield for buyer reference: Wenn Sie dem Kunden die Möglichkeit geben möchten, eine Buyer Reference für seinen Account, zum Beispiel für die Leit-ID, hinterlegen zu können, erstellen Sie bitte wie unten beschrieben ein Client Customfield und wählen dieses dann hier über die Drop-Down Option aus. Diese Referenc wird dann bei allen E-Rechnungen für diesen Account verwendet
- Seller Contact Name: Tragen Sie hier bitte den Namen des Ansprechpartners für Rechnungsfragen ein
- Seller Contact Adress: Tragen Sie hier bitte die Adresse des Ansprechpartners für Rechnungsfragen ein
- Seller Contact Postcode: Tragen Sie hier bitte die Postleitzahl des Ansprechpartners für Rechnungsfragen ein
- Seller Contact City: Tragen Sie hier bitte die Stadt des Ansprechpartners für Rechnungsfragen ein
- Seller Contact Country: Tragen Sie hier bitte das Land im 2 Zeichen Format (also zum Beispiel DE für Deutschland oder AT für Österreich) des Ansprechpartners für Rechnungsfragen ein
- Seller Contact E-Mail: Tragen Sie hier bitte die E-Mail-Adresse des Ansprechpartners für Rechnungsfragen ein
- Seller Contact phone number: Tragen Sie hier bitte die Telefonnummer des Ansprechpartners für Rechnungsfragen ein
Die Hinterlegung der Kontaktdaten ist erforderlich, anderenfalls kann keine valide E-Rechnung erstellt werden.
Erstellung von Client Custom Fields
Wenn Sie dem Kunden die sogenannte Buyer Reference zum Beispiel in Form der Leit-ID hinterlegen lassen möchten, können Sie dies über Client Custom Fields machen. Gehen Sie hierzu bitte wie folgt vor:
- Loggen Sie sich in Ihrem WHMCS Adminbereich ein
- Klicken Sie im Adminbereich auf Configuration > System Settings > Custom Field
- Scrollen Sie nun nach unten, bis Sie zur Erstellung eines neuen Custom field kommen
- In der Zeile Field Name können Sie einen Namen nach Wunsch eintragen
- Wenn Sie ein Custom Field für die Buye Reference anlegen möchten, wählen Sie hier bitte Text Box aus, wenn Sie ein Custom Field für das Rechnungsformat erstellen möchten, wählen Sie bitte Drop-Down aus
- Im Feld Description tragen Sie bitte eine Beschreibung des Feldes ein, damit der Kunde weiß, um was für eine Einstellung es sich handelt
- Bei Select Options tragen Sie nichts ein.
- Wenn Sie alle Eingaben getätigt haben, können Sie das Feld speichern und in die Moduleinstellungen zurückkehren und das soeben erstellte Client Custom Field der jeweiligen Funktion zuweisen.
Hinweise
Template Updates
Anpassungen an den TPL Dateien werden bei einem Template-Update ggf. überschrieben, denken Sie bei einem Update Ihres Templates unbedingt daran, die Anpassungen erneut durchzuführen, ansonsten können keine E-Rechnungen erstellt werden.
Zahlung per Banküberweisung
Bei Zahlung per Banküberweisung und Nutzung des WHMCS Banktransfer Gateways muss die Formatierung der Zahlungsinformation in folgendem Format erfolgen (jeweils in einer neuen Zeile), damit das Modul die Bankverbindung korrekt auslesen und in der E-Rechnung hinterlegen kann.
Zahlungsempfänger: Max Mustermann
Name der Bank: Musterbank
IBAN: DE1234567890
BIC: XXXXXXX
Die Trennung zwischen Zeilenname wie zum Beispiel Zahlungsempfänger und dem Namen erfolgt durch einen : (Doppelpunkt)
Zahlung per SEPA Lastschrift
Bei Verwendung der Zahlungsart SEPA Lastschrift in Kombination mit dem SEPA Lastschrift Modul von Plambee.de muss der Kunde bereits bei Rechnungsstellung über ein gültiges Mandat verfügen, ansonsten kann keine valide E-Rechnung erstellt werden.
PDF Batch Export
Wird die PDF Batch Funktion in WHMCS verwendet, werden keine Dateien gecached und auch keine XML-Daten in die PDF-Rechnung geschrieben, da es sich bei der erstellten PDF Datei um eine große Sammeldatei handelt und nicht um Einzeldateien.