• avatar

    Martin Wandelt am 19.11.2018  

    Pixtacy bietet über die Easybill-Schnittstelle eine einfache Möglichkeit, das Erstellen von Rechnungen zu automatisieren. Obwohl Easybill einen großen Funktionsumfang bietet und leicht an unterschiedliche Bedürfnisse angepasst werden kann, gibt es Fälle, in denen eine Alternative zu dieser Plattform wünschenswert ist, zum Beispiel wenn bereits eine andere CRM- oder Fakturierungslösung im Einsatz ist. Pixtacy bietet daher seit Version 4.1.13 die Möglichkeit, eigene Lösungen zur Rechnungserstellung einzubinden, vorausgesetzt man verfügt über ein gewisses Maß an PHP-Programmierkenntnissen.

    Wenn Sie eine eigene Lösung zur Rechnungserstellung einbinden möchten, müssen Sie ein PHP-Skript erstellen, das die Funktion my_create_invoice() bereitstellt. Diese Funktion wird später mit zwei Parametern aufgerufen, die den Kundendatensatz bezeichnen, für den die Rechnung erstellt werden soll. Der zweite Parameter ist optional und wird nur benötigt, wenn Ihre Fakturierungslösung zwischen Kunden-ID und Kundennummer unterscheidet.

    Die Funktion muss alle Anweisungen enthalten, die erforderlich sind, um die gewünschte Rechnung und ggf. einen neuen Kundendatensatz zu erstellen. Der Rückgabewert ist ein Array mit folgenden Elementen:

    • customer_id (eindeutige Kennung des Kundendatensatzes, für den die Rechnung erstellt wurde)
    • customer_number (Nummer des Kunden, für den die Rechnung erstellt wurde)
    • document_id (eindeutige Kennung des erstellten Rechnungsdokuments)
    • document_number (Rechnungsnummer)


    Die ersten beiden Werte werden von Pixtacy im Benutzerkonto gespeichert (sofern es sich um einen eingeloggten Benutzer handelt) und bei der nächsten Rechnungsstellung ggf. wieder an my_create_invoice() übergeben. Dadurch kann die Funktion sicherstellen, dass alle Rechnungen demselben Kundendatensatz zugeordnet werden. Die letzten beiden Werte werden im Datensatz der Bestellung gespeichert, so dass Sie später nachvollziehen können, welche Rechnung zu einer bestimmten Bestellung gehört.

    Innerhalb von my_create_invoice() können Sie mit der Funktion v::vtpage() auf die Bestelldetails und mittels v::vtglobal() auf globale Einstellungen zugreifen. Am besten schauen Sie sich in der Datei templates/pixtacy/resources/functions.php die Funktion createEasybillInvoice() an, um herauszufinden, welche Felder und Bezeichner zur Verfügung stehen. Diese Funktion nutzt die PHP-Klassen, die in den Dateien easybill.class.php und easybill-rest.class.php (im gleichen Ordner) definiert sind und die Sie als Vorlage für Ihre eigene Schnittstelle verwenden können.

    Das erstellte PHP-Skript, in dem die neue Funktion definiert ist, sollte am besten im Ordner config abgelegt werden, damit es bei künftigen Updates nicht versehentlich überschrieben wird. Eingebunden wird es durch einen includeFile-Eintrag in der Konfigurationsdatei config.php, zum Beispiel:

    includeFile = config/my_script.php

    Sobald dies erledigt ist, wird Pixtacy jedesmal, wenn eine Bestellung abgeschlossen wurde, die Funktion my_create_invoice() mit Kundenkennung und -nummer aufrufen und deren Rückgabewert im Benutzerkonto bzw. in den Bestelldaten abspeichern.

  • Um eine Antwort zu diesem Beitrag zu schreiben, müssen Sie sich einloggen.