Das manuelle Versenden von Rechnungen in Dolibarr ERP/CRM ist zwar funktional, aber zeitaufwändig, insbesondere bei großen Mengen oder wiederkehrenden Rechnungen. Die Automatisierung dieses Prozesses durch geplante Cron-Jobs kann erheblich Zeit sparen und menschliche Fehler vermeiden. Diese Anleitung bietet eine vollständige Anleitung zum Einrichten der automatischen Rechnungszustellung per E-Mail in Dolibarr mithilfe von Cron, ohne dass Sie auf kostenpflichtige Plugins oder externe Automatisierungstools angewiesen sind.
Inhaltsverzeichnis
-
Einführung in die Rechnungsautomatisierung in Dolibarr
-
Vorteile der Automatisierung des Rechnungsversands per E-Mail
-
Die Architektur und das E-Mail-System von Dolibarr verstehen
-
Anforderungen für Cron-basierte Automatisierung
-
Übersicht über die Dolibarr CLI und REST API
-
Vorbereiten Ihrer Dolibarr-Umgebung
-
Programmgesteuertes Erstellen von Rechnungen
-
Rechnungen als validiert markieren
-
Generieren von PDF-Dokumenten über die Befehlszeile oder ein Skript
-
Automatischer Rechnungsversand per E-Mail
-
Schreiben eines benutzerdefinierten Skripts zur Handhabung des Workflows
-
Einrichten eines Cron-Jobs zur geplanten Ausführung
-
Protokollierung, Fehlerbehandlung und Warnungen
-
Sichern Ihres Automatisierungs-Setups
-
Abschließende Gedanken und Best Practices
1. Einführung in die Rechnungsautomatisierung in Dolibarr
Dolibarr bietet leistungsstarke Tools für die Rechnungserstellung, -validierung und den E-Mail-Versand. Die sofort einsatzbereite Funktionalität erfordert jedoch manuelle Eingriffe. Für Unternehmen, die täglich oder monatlich Dutzende oder Hunderte von Rechnungen erstellen, ist die Automatisierung dieser Schritte nicht nur praktisch, sondern auch unerlässlich für die betriebliche Effizienz.
In diesem Handbuch geht es um die Automatisierung des gesamten Zyklus: von der Identifizierung versandfertiger Rechnungen über die Generierung der entsprechenden PDF-Dokumente bis hin zum E-Mail-Versand an Kunden – ausgelöst durch einen geplanten Cron-Job.
2. Vorteile der Automatisierung des Rechnungs-E-Mail-Versands
Die Automatisierung der Rechnungszustellung per E-Mail bietet mehrere wichtige Vorteile:
-
Spart Zeit und Handarbeit
-
Reduziert das Risiko verpasster Rechnungen
-
Verbessert Konsistenz und Professionalität
-
Gewährleistet eine pünktliche Lieferung, insbesondere für abonnementbasierte Unternehmen
-
Minimiert menschliche Fehler im Rechnungsworkflow
In Kombination mit Protokollen und Benachrichtigungen erhalten Sie außerdem die Rückverfolgbarkeit jeder gesendeten Rechnung.
3. Dolibarrs Architektur und E-Mail-System verstehen
Das E-Mail-System von Dolibarr funktioniert entweder über:
-
Das eingebaute PHP
mail()Funktion (nicht für die Produktion empfohlen) -
SMTP-Konfiguration (dringend empfohlen für Authentifizierung und Zustellbarkeit)
Rechnungen in Dolibarr folgen diesem Lebenszyklus:
-
Entwurf (noch nicht gültig)
-
Validierte
-
Bezahlter / Unbezahlter Status
E-Mails können nur gesendet werden für validiert Rechnungen. Die PDF-Generierung ist an Rechnungsvorlagen gebunden, die sich in /htdocs/core/modules/facture/doc/.
4. Anforderungen für Cron-basierte Automatisierung
So automatisieren Sie den E-Mail-Versand von Rechnungen:
-
Ein Server mit Befehlszeilenzugriff (vorzugsweise Linux)
-
Eine funktionierende Dolibarr-Installation mit CLI/API-Zugriff
-
SMTP in Dolibarr richtig konfiguriert
-
Grundkenntnisse in Bash-Skripting oder PHP/Python
-
Zugriff auf das Dateisystem (für PDFs)
Stellen Sie sicher, dass Ihre Dolibarr-Version auf dem neuesten Stand ist (v12 oder neuer empfohlen).
5. Übersicht über die Dolibarr CLI und REST API
Dolibarr bietet offiziell keine sofort einsatzbereiten CLI-Tools an, Sie können jedoch folgendermaßen darauf zugreifen:
-
REST API (empfohlen für Modularität und Fernzugriff)
-
Direkte PHP-Skriptaufrufe im Dolibarr-Rahmen
Die REST-API ermöglicht die Interaktion mit Rechnungen, Drittanbietern und Dokumenten.
Beispiel einer GET-Anfrage zum Abrufen von Rechnungen:
curl -X GET "https://yourdomain.com/api/index.php/invoices?DOLAPIKEY=yourapikey"
6. Vorbereiten Ihrer Dolibarr-Umgebung
Schritte zur Vorbereitung:
-
Aktivieren Sie die API-Modul unter Setup > Module > Web Services/API
-
Generieren Sie einen API-Schlüssel für einen Benutzer mit Zugriff auf Rechnungen und Drittanbieter
-
Richten Sie SMTP unter Setup > E-Mail > E-Mail-Setup ein.
-
PDF-Generierung und E-Mail-Zustellung manuell testen
Bestätigen Sie, dass Sie Folgendes können:
-
Erstellen Sie eine PDF-Rechnung
-
Senden einer E-Mail mit einem PDF-Anhang
7. Rechnungen programmgesteuert erstellen
Zur Automatisierung müssen Sie neue Rechnungen erstellen oder vorhandene, zum Versand bereitstehende Rechnungen identifizieren.
Über API erstellen:
POST https://yourdomain.com/api/index.php/invoices
{
"socid": 12,
"lines": [
{"desc": "Service Plan A", "subprice": 100, "qty": 1}
],
"date": "2025-05-01",
"cond_reglement_id": 1,
"mode_reglement_id": 2
}
Nach der Erstellung befindet sich die Rechnung im Entwurfsmodus.
8. Rechnungen als validiert markieren
Um eine Rechnung zu versenden, muss sie validiert werden. Verwenden Sie diesen Endpunkt:
POST /api/index.php/invoices/{id}/validate
Dadurch wird eine interne Statusänderung ausgelöst und die Rechnung für den E-Mail-Versand vorbereitet.
Möglicherweise müssen Sie das PDF auch generieren, wenn es noch nicht erstellt wurde.
9. Generieren von PDF-Dokumenten über die Befehlszeile oder ein Skript
Rechnungen werden üblicherweise als PDF-Dateien mithilfe von Vorlagen wie crabe or azur.
So automatisieren Sie die PDF-Erstellung:
-
Verwenden Sie die API:
POST /api/index.php/invoices/{id}/builddoc?model=azur -
Oder führen Sie ein benutzerdefiniertes PHP-Skript im Dolibarr-Stammverzeichnis aus:
require 'main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
$invoice = new Facture($db);
$invoice->fetch($invoice_id);
$invoice->generateDocument('azur', $langs);
10. Automatischer Rechnungsversand per E-Mail
Rechnungsversand per API:
POST /api/index.php/invoices/{id}/sendbymail
Mit JSON-Nutzlast:
{
"email_from": "billing@company.com",
"email_to": "client@example.com",
"subject": "Your Invoice",
"message": "Please find attached your invoice.",
"trackid": "INV-202505"
}
Stelle sicher:
-
Die Rechnung hat eine gültige E-Mail-Adresse, die mit dem Drittanbieter verknüpft ist
-
Die Rechnung wird validiert und es wird ein PDF generiert
11. Schreiben eines benutzerdefinierten Skripts zur Handhabung des Workflows
Verwenden Sie PHP, Python oder Bash. Hier ist eine vereinfachte Pseudologik in Python:
for invoice in fetch_draft_invoices():
validate_invoice(invoice['id'])
generate_pdf(invoice['id'])
send_email(invoice['id'], invoice['email'])
Stellen Sie sicher, dass bei jedem Schritt das vorherige Ergebnis überprüft wird, bevor Sie fortfahren. Protokollieren Sie die Ergebnisse.
12. Einrichten eines Cron-Jobs für die geplante Ausführung
Bearbeiten Sie unter Linux die Crontab:
crontab -e
Hinzufügen:
0 8 * * * /usr/bin/python3 /path/to/send_invoices.py >> /var/log/dolibarr_invoice.log 2>&1
Dadurch wird das Skript täglich um 8 Uhr ausgeführt und die Ausgabe protokolliert.
13. Protokollierung, Fehlerbehandlung und Warnungen
Ihr Skript sollte:
-
Protokolle pro Lauf schreiben
-
Behandeln Sie Fehler ordnungsgemäß (z. B. nicht erreichbare API, ungültige E-Mail).
-
Senden Sie Warnmeldungen, wenn ein Massenfehler erkannt wird
Verwenden Sie Pythons logging Modul oder logrotate unter Linux zum Verwalten von Protokolldateien.
14. Sichern Ihres Automatisierungs-Setups
Empfohlene Vorgehensweise:
-
Nutzen Sie
.envoder verschlüsselte Konfigurationsdateien für API-Schlüssel -
Festlegen von Berechtigungen für Skripte und Protokolle
-
Verwenden Sie HTTPS für alle API-Interaktionen
-
Überwachen Sie Cron-Protokolle auf nicht autorisierte Änderungen
Erwägen Sie die Ausführung von Automatisierungsskripten unter einem dedizierten Benutzer mit geringen Berechtigungen.
15. Abschließende Gedanken und bewährte Vorgehensweisen
Die Automatisierung des E-Mail-Rechnungsversands in Dolibarr spart Zeit, erhöht die Genauigkeit und verbessert das Kundenerlebnis. Mit einer Kombination aus REST-API, geeignetem Scripting und geplanten Cron-Jobs können Unternehmen eine mühsame Verwaltungsaufgabe eliminieren.
Zusammenfassung der bewährten Methoden:
-
Überprüfen Sie Rechnungen immer, bevor Sie sie per E-Mail versenden
-
Stellen Sie sicher, dass SMTP richtig konfiguriert ist
-
Führen Sie klare Protokolle und Fehlerberichte
-
Beginnen Sie mit manuellen Tests, bevor Sie automatisieren
-
Sichern Sie Ihre Umgebung gründlich
