Drupal Commerce - Kauf auf Rechnung

Diese Anleitung beschreibt, wie mit dem Shop-Modul Drupal Commerce unter Drupal 7, neben Zahlungsmethoden wie PayPal und Skrill, ein "Kauf auf Rechnung" angeboten werden kann und die Rechnung anschließend per E-Mail an den Kunden automatisiert versendet wird. Voraussetzung für dieses Tutorial ist ein bereits eingerichteter Drupal Commerce Online-Shop.

Einrichtung der Zahlungsmethode

Als erstes wird eine einfache Zahlungsmethode benötigt. Dazu kann das Drupal Modul Commerce Custom Offline Payments verwendet werden.

Mithilfe des Moduls können unter Shop >> Konfiguration >> Custom Offline Payments eigene Zahlungsmethoden definiert und verwaltet werden. Beim Hinzufügen einer neuen Zahlungsmethode kann z.B. als Titel "Rechnung" ausgewählt werden. Weitere Felder sind:

  • Beschreibung: Wird bei der Zahlungsansicht einer Bestellung angezeigt.
  • Information: Wird beim Auswählen der Zahlungsmethode im Checkout angezeigt.
  • Status: Ob die Zahlungsmethode aktiviert sein soll.
  • Available on checkout: Ob mit dieser Zahlungsmethode beim Checkout bezahlt werden kann.

Ist die Zahlungsmethode "Rechnung" eingerichtet und aktiviert, kann im nächsten Schritt die Rechnung als PDF erstellt werden.

Erstellung einer Rechnung als PDF

Zum Erstellen der Rechnung als PDF-Datei wird das Modul Commerce Billy verwendet. Commerce Billy benötigt den HTML zu PDF Konverter (PHP) dompdf. Weitere Installationsanweisungen sind der Modulseite zu entnehmen.

Das Modul stellt für Drupal Commerce einen weiteren Bestellstatus „Rechnung gestellt“ (invoiced) bereit. Erhält eine Bestellung diesen Status, wird eine entsprechende Rechnungsnummer für diese Bestellung erzeugt.

Unter Shop >> Konfiguration >> Billy invoice settings kann die Generierung der Rechnungsnummer verwaltet werden. Die Checkbox „Rechnung automatisch beim Kaufabschluss erzeugen“ sollte nicht aktiviert werden, da der Bestellstatus manuell gesetzt werden soll. Unter Shop >> Konfiguration >> Billy invoice settings >> PDF können Einstellungen wie z.B. der Rechnungs-Kopf, Rechnungstext und der Rechnungs-Fuß, die die Ausgabe der PDF-Datei bestimmen, konfiguriert werden.

Als nächstes wird eine Rule benötigt, die beim erfolgreichen Abschließen eines Bezahlvorgangs getriggert wird und den Bestellstatus auf „Rechnung gestellt“ setzt. Dafür wird eine Rule mit dem Event "Abschließen des Bezahlvorgangs" erstellt. Um die Zahlungsmethode Rechnung von anderen Zahlungsmethoden zu unterscheiden, da z.B. nur bei dieser Auswahl eine PDF-Datei erstellt und versendet werden soll, kann unter Bedingungen „Vergleich der ausgewählten Zahlungsmethode“ mit dem Wert "Rechnung" ausgewählt werden. Unter Aktionen muss „rule: Set order to invoiced“ eingestellt werden.

Nun kann unter der URL „www.your-domain.com/invoice-pdf/[order-id]“ die Rechnung als PDF runtergeladen werden. (Am Ende der URL muss die Order-ID und nicht die Rechnungsnummer eingefügt werden.) Der nächste und letzte Schritt ist die erstellte Rechnung per E-Mail zu versenden.

Versand der Rechnung per E-Mail

Um die PDF-Rechnung automatisiert als E-Mail an den Kunden zu versenden wird das Modul Commerce Billy Mail verwendet. Die Funktion, dass eine PDF-Datei an eine E-Mail angehangen wird, ermöglicht das Modul Mime Mail. Dieses Modul benötigt zudem das Modul Mail System, das eine Benutzeroberfläche bietet, mit der das Mailsystem in Drupal konfiguriert werden kann.

Nach erfolgreicher Installation der Module wird unter Konfiguration >> System >> Mailsystem die Mailsystem-Einstellung vorgenommen. Um E-Mails generell mithilfe des Mime Mail Modules zu versenden muss unter "Site-wide default" die Einstellung "MimeMailSystem" ausgewählt werden.

Unter Konfiguration >> System >> Mime-E-Mail können Einstellungen wie z.B. der Absendername und die Absenderadresse der E-Mails, die über Drupal versendet werden, verwaltet werden.

Jetzt fehlen noch die Einstellungen des Commerce Billy Mail Modules. Diese sind unter Shop >> Konfiguration >> Billy invoice settings >> Billy Mail vorzunehmen. Hier kann für die E-Mail, die die Rechnung enthält, der Absender, der Betreff, der Text usw. eingetragen werden. Die Checkbox „Attach PDF invoice“ muss natürlich aktiviert werden.

Als letztes muss jetzt noch einmal die Rule bearbeitet werden, die im vorigen Schritt erstellt wurde. Unter Aktionen muss „Send commerce billy invoice mail.“ hinzugefügt werden, damit die E-Mail mit der Rechnung als PDF-Datei im Anhang versendet wird.

Hinweis: Zu dem Zeitpunkt als dieser Artikel entstand, mussten zwei Patches durchgeführt werden (siehe https://www.drupal.org/node/2314467).