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

  1. Einführung in die Rechnungsautomatisierung in Dolibarr

  2. Vorteile der Automatisierung des Rechnungsversands per E-Mail

  3. Die Architektur und das E-Mail-System von Dolibarr verstehen

  4. Anforderungen für Cron-basierte Automatisierung

  5. Übersicht über die Dolibarr CLI und REST API

  6. Vorbereiten Ihrer Dolibarr-Umgebung

  7. Programmgesteuertes Erstellen von Rechnungen

  8. Rechnungen als validiert markieren

  9. Generieren von PDF-Dokumenten über die Befehlszeile oder ein Skript

  10. Automatischer Rechnungsversand per E-Mail

  11. Schreiben eines benutzerdefinierten Skripts zur Handhabung des Workflows

  12. Einrichten eines Cron-Jobs zur geplanten Ausführung

  13. Protokollierung, Fehlerbehandlung und Warnungen

  14. Sichern Ihres Automatisierungs-Setups

  15. 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:

  1. Entwurf (noch nicht gültig)

  2. Validierte

  3. 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:

  1. Aktivieren Sie die API-Modul unter Setup > Module > Web Services/API

  2. Generieren Sie einen API-Schlüssel für einen Benutzer mit Zugriff auf Rechnungen und Drittanbieter

  3. Richten Sie SMTP unter Setup > E-Mail > E-Mail-Setup ein.

  4. 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:

  1. Verwenden Sie die API: POST /api/index.php/invoices/{id}/builddoc?model=azur

  2. 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 .env oder 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