WHMCS Rechnung-Fälligkeitsdatum Hook
Version: 1.0
Stand: 22.05.2025
Zweck der Erweiterung
Dieses WHMCS-Hook-Skript setzt das Fälligkeitsdatum (Due Date) von Rechnungen beim Erstellen automatisch auf einen gewünschten Wert.
Sie können damit:
- Ein festes Zahlungsziel (z. B. 14 Tage ab Rechnungsdatum) setzen
- Oder das Fälligkeitsdatum auf einen bestimmten Kalendertag im Monat legen (z. B. jeden Monat auf den 1.)
Das ist besonders nützlich, wenn Sie Rechnungen gesammelt zu bestimmten Zeitpunkten erstellen oder ein einheitliches Fälligkeitsdatum für Ihre Kunden festlegen möchten.
Installation
-
Legen Sie die PHP-Datei (z. B.
set_due_date.php
) im folgenden Ordner Ihrer WHMCS-Installation ab:/includes/hooks/
-
Öffnen Sie die PHP-Datei mit einem Texteditor wie Notepad++, VS Code oder einem anderen Code-Editor.
Konfiguration
Am Anfang der Datei finden Sie folgende Konfigurationszeilen:
$defaultDays = 14;
$mode = 1;
$customfieldID = 5;
Erklärung der Konfigurationsfelder
$defaultDays
Legt fest, wie viele Tage ab dem Rechnungsdatum die Rechnung fällig ist.
$defaultDays = 14;
Die Rechnung ist 14 Tage nach Rechnungsdatum fällig.
$mode
Steuert, wie das Fälligkeitsdatum gesetzt wird.
-
1
: Das Fälligkeitsdatum wird auf „Rechnungsdatum + $defaultDays“ gesetzt.
Beispiel: Rechnungsdatum 22.05.2025,$defaultDays = 14
→ Fälligkeitsdatum: 05.06.2025 -
2
: Das Fälligkeitsdatum wird auf den nächsten$defaultDays
-Tag im Monat gesetzt.
Beispiel:$mode = 2;
$defaultDays = 1;- Rechnung erstellt am 22.05.2025 → Fälligkeitsdatum: 01.06.2025
- Rechnung erstellt am 01.05.2025 → Fälligkeitsdatum: 01.05.2025
Wenn Sie $defaultDays = 1
angeben und am 2. des Monats die Rechnung erstellen, wird das Fälligkeitsdatum auf den 1. des Folgemonats gesetzt.
$customfieldID
Wenn Sie ein benutzerdefiniertes Kundenfeld für einen individuellen Fälligkeitswert je Kunde nutzen möchten, tragen Sie hier die ID des Custom Fields ein.
So finden Sie die Custom Field ID:
- Gehen Sie im WHMCS-Adminbereich zu Setup → Clients → Custom Client Fields.
- Rechtsklick auf das Eingabefeld des gewünschten Feldes und "Element untersuchen" im Browser auswählen.
- Im Quellcode finden Sie z. B.
input id="customfield5"
– die5
ist die CustomFieldID.
$customfieldID = 5;
Wenn Sie kein Custom Field nutzen möchten, setzen Sie diesen Wert auf 0
.
Funktionsweise
Bei jeder Rechnungserstellung wird geprüft:
- Gibt es ein Custom Field für den Kunden?
→ Wenn ja, wird dessen Wert verwendet. - Wenn nicht, wird nach dem gewählten Modus (
$mode
) und$defaultDays
das Fälligkeitsdatum gesetzt.
Beispiel-Konfigurationen
Standard: 14 Tage Zahlungsziel
$defaultDays = 14;
$mode = 1;
$customfieldID = 0;
Monatliche Fälligkeit am 1. des Folgemonats
$defaultDays = 1;
$mode = 2;
$customfieldID = 0;
Hinweise
Änderungen an der Datei werden sofort wirksam.
Es empfiehlt sich, vor jeder Anpassung ein Backup der Originaldatei zu speichern.
Das Script arbeitet ausschließlich bei der Rechnungserstellung – bestehende Rechnungen bleiben unberührt.
Support
Wenn Sie Unterstützung bei der Einrichtung benötigen oder Fragen haben, wenden Sie sich an den Entwickler oder Ihren WHMCS-Dienstleister.