Dieser Blogartikel wird der letzte in unserer Dolibarr Serie sein. Wir möchten einen kleinen Einblick in unsere Ergänzungen/Workarounds, die wir über die Jahre in Dolibarr (Link zur Software) eingepflegt haben, bieten. Zu guter Letzt berichten wir von all unseren positiven aber auch negativen Erfahrungen mit der Software.
Agenda Importer
Da Dolibarr’s Auto-Importer bis zum heutigen Zeitpunkt keine Kalender/Agenda-Import-Funktion sondern nur eine Export-Funktion bietet, haben wir für unsere Vertriebsmitarbeiter einen eigenen Importer erstellt.
Ziel war, Termine mittels Excel Imports im Dolibarr zu aktualisieren. Dafür wurde eine eigene Kategorie mit Sub-Page eingerichtet. Dort kann ein Excel für den gewünschten Import heruntergeladen werden. Alle Termine, die beim Import in diesem Excel vorhanden und bearbeitet wurden, können so aktualisiert werden.
Hierfür haben wir das Modul „Module Builder“ aktiviert und unter Admin Tools -> Modul- und Applikations-Ersteller ein neues Modul angelegt.
Anschließend haben wir noch unter Einstellungen -> Menüs -> Menü-Editor unser Modul hinzugefügt. Dafür drückt man rechts auf das große Plus-Symbol. Beim Feld „übergeordnete Menü-ID“ gibt man die ID des Moduls, bei dem die neue Seite erscheinen soll, an.
Die ID findet man, indem man einfach auf das Modul klickt und anschließend oben in der URL den Wert bei „idmenu“ ausliest.
Als nächstes war der Programmierteil der Seite dran. Unter htdocs/custom/Agenda_Importer haben wir in das vorerstellte php-File, auf den auch unser Modul verweist, das Dolibarr Environment importiert. Zusätzlich fügten wir eine kleine Überschrift mit einem Infotext, ein Fileupload-Feld und einen Upload-Button an.
Der Code des Importer wurde so geschrieben, dass aus dem Excel die IDs aus der ID-Spalte herausgelesen und in Dolibarr verglichen werden. Gibt es zu dieser ID schon ein Agenda-Event, dann wird dieses um das Kommentarfeld und die von bis Zeiten ergänzt. Sollte es keine ID geben, legt Dolibarr den Excel Eintrag als neues Agenda-Event an.
Rechnungsimporter
Da wir verschiedene Rechnungen aus verschiedenen Quellen haben und diese zeitnahe in unser Dolibarr importieren wollten, haben wir uns mittels Dolibarrs REST-API und Python einen eigenen Rechnungsimporter erstellt. Die REST-API ist ein Modul, das in Dolibarr selbst unter „Module -> Schnittstellen zu externen Systemen -> REST-API“ aktiviert wird.
Dieses Script enthält viele Ansätze aus einen unserer ältereren Blogartikel: https://www.bi4you.org/artikel/einfache-arbeitsschritte-ersparen-mittels-python/
Der Rechnungsimporter beginnt, indem er sich je nach Quelle die zuletzt importierte Rechnung aus der Dolibarr Datenbank ausliest. Daher sucht das Script für das Downloaden von neuen Rechnungen aus einem Kleidungs-Webshop, welche Rechnung zuletzt in Dolibarr importiert wurde, was das Rechnungsdatum dieser Rechnung ist und ob im Notizfeld unsere Kennzeichnung „K-Webshop“ enthalten ist. Hierfür legten wir einen eigenen API-User in Dolibarr an und gaben ihm die Rechte, um Rechnungen einsehen und erstellen zu können und weiters Dateien erstellen und hochladen zu können.
Mit diesen Infos kann jetzt aus der Quelle alles ausgelesen werden, was nach dem letzten Rechnungsdatum neu erstellt wurde und was wir für das Erstellen einer Rechnung in Dolibarr benötigen. Da der Webshop es anbietet, haben wir auch noch einen Schritt, der die PDF-Dateien der neuen Rechnungen herunterlädt. So können wir diese auch mit ins Dolibarr übernehmen.
Mittels der REST-API wird nun jede Rechnung mit den dazugehörigen Positionen im Dolibarr erstellt und mit einem Import-Key versetzt. Danach werden die PDFs bei den dazugehörigen Rechnungen ebenfalls per API hochgeladen und anschließend die Files lokal archiviert.
Ticketimporter
Unser Ticketimporter liest aus einer Sammel-Mailbox, in der alle Support-E-Mails landen, alle ungelesenen E-Mails aus und importiert sie alle 15 Minuten ins Dolibarr. Das Programm schaut hierbei in die Mailbox und speichert alle ungelesenen E-Mails als eml-File ab. Nach dem Herunterladen werden sie auf gelesen gesetzt. Ein Virenscanner wird per Powershell aufgefordert, die heruntergeladenen E-Mails und deren Anhänge zu untersuchen.
Wurde sichergestellt, dass es sich bei den E-Mails um keine schädlichen Dateien handelt, liest das Programm alle Header und E-Mail-Bodies aus. Hier wird zusätzlich auch noch die Absender-E-Mail-Adresse weggespeichert, da im weiteren Folgeschritt überprüft wird, ob zur Absender-E-Mail-Adresse bereits ein Kontakt im Dolibarr vorhanden ist. Nach diesen Prüfungen startet das Importieren der Tickets ins Dolibarr. Neben den Infos wie Betreff, E-Mail-Text und Sendedatum werden den Tickets auch der Status „ToDo“ und die Kategorie „Kundenticket“ mitgegeben. So können die Mitarbeiter, die für die Abarbeitung der Tickets zuständig sind, nach den offenen Tickets in der Agenda Übersicht filtern. Da das Original-File und die Anhänge auch nicht fehlen dürfen, werden diese nach dem Erstellen im Dolibarr auch noch hochgeladen.
So erhält man am Ende ein Agenda-Event, das Betreff (E-Mail-Betreff), Text (E-Mail Body), Anhänge und das Original-E-Mail beinhaltet. Falls bereits ein Kundenkontakt vorhanden ist, diesem auch gleich zugeordnet wurde.
Fazit zu Dolibarr
Dolibarr ist ein großartiges, gebührenfreies CRM-System, das durch die vorhandenen Module und Schnittstellen sehr gut auf verschiedenste Bedürfnisse angepasst werden kann.
Dolibarr punktet auch damit, dass man durch die leicht anzulegenden Custom-Fields die einzelnen Module ergänzen kann. Diese lassen sich dann nämlich auch wie z.B. bei der Rechnungsgenerierung in der Rechnungsvorlage verwenden. In unserer Anfangsphase hat es ein wenig gedauert, bis wir uns zurechtgefunden haben. Aber da wir als IT-Unternehmen viel fundiertes Wissen haben, hatten wir keine großen Probleme den Durchblick zu gewinnen. Es ist daher durchaus verständlich, wenn Klein- oder Einzelunternehmen, die sich mit dieser Thematik nicht beschäftigen, mit Dolibarr mehr Schwierigkeiten als andere haben. Das Dolibarr-Forum beinhaltet viele bereits vorhandene Probleme/Fragen mit Lösungen. Bei neuen Problemen/Fragen kann es aber auch eine Weile dauern, bis man Hilfe erhält.
Wir raten niemanden ohne technisches Wissen davon ab, Dolibarr zu verwenden, warnen aber vor viel Nachlesen, Probieren und Testen. Eine Hürde, den Überblick in der Datenbank zu gewinnen, ist sicher der Umstand, dass einige der Tabellen französische Namen haben. Auch darf man sich über einen eventuellen Sprachwechsel in den Kommentaren nicht wundern. In Zeiten in denen man mit DeepL und anderen Übersetzungstools gut arbeiten kann, war dies nicht allzu störend für uns.
Nach über 6 Jahren Erfahrungen mit Dolibarr können wir daher sagen, dass wenn man sich mit der Programmiersprache PHP und mit SQL-Datenbanken auskennt, hier ein sehr gutes und vor allem anpassungsfähiges CRM-System ist. Dank der REST-API in Verbindung mit C# und/oder Python lassen sich zusätzlich sehr viele Schritte automatisieren und an verschiedenste Programme, Webshops etc anbinden. Daher freuen wir uns auf die Zukunft des CRM-Systems und alle folgenden Updates.