v2.6.2 Neueste Version

Korrektur

Kritische Korrektur: Die geplante Export-Aufgabe übertrug Preis- und Inhaltsänderungen aus Dolibarr nicht mehr an Shopify, und das mindestens seit Version 2.2.0 (nur die manuelle Synchronisation und das Anlegen eines Produkts funktionierten). Ein geänderter Preis rückt nun an die Spitze der Warteschlange, andere Änderungen (Titel, Beschreibung, Fotos) werden über einen reservierten Anteil jedes Durchlaufs bedient, und alle Produkte, Varianten eingeschlossen, werden der Reihe nach bearbeitet statt immer derselben 10. Deaktivieren und reaktivieren Sie das Modul nach dem Update, um die Migration anzuwenden: In den letzten 30 Tagen geänderte Preise gehen dann in den folgenden Durchläufen an Shopify

Korrektur

In Dolibarr bewusst gelöschte Varianten werden vom Werkzeug „Varianten reparieren“ nicht mehr neu angelegt, wenn Dolibarr die maßgebliche Quelle ist, und ein entkoppeltes Produkt berührt die Shopify-Seite seines früheren Elternprodukts nicht mehr (es kann sie nicht mehr durch eine einzelne Variante ersetzen)

Korrektur

Die Reaktivierung des Moduls erzeugt den Fehler „Duplicate entry 'card-1-1'“ (doppelte Zahlungszuordnung) nicht mehr, und die Zuordnung der Einstellungen zum Shop wird abgeschlossen; eine bereits betroffene Datenbank wird bei der nächsten Aktivierung automatisch repariert

Korrektur

Ein Produkt, dessen zwei Dolibarr-Attribute dieselbe Bezeichnung tragen, wird von Shopify nicht mehr in Endlosschleife abgelehnt: gleichnamige Attribute werden zu einer einzigen Option zusammengeführt, und ein Produkt, das die Optionsgrenze des Shops überschreiten würde, wird lokal abgelehnt, mit einer Meldung, die die betroffenen Optionen und Varianten nennt, ohne etwas an Shopify zu senden

Korrektur

Bestand: Das Modul erfindet nie mehr eine Referenzmenge von 0. Eine Zeile mit unbekannter Bestandsreferenz wird allein abgelehnt, die übrigen Zeilen des Stapels werden normal gesendet

Verbesserung

Das Werkzeug „Varianten reparieren“ ist ausgegraut, mit angezeigtem Grund, sobald Dolibarr die maßgebliche Quelle für die Produkte des Shops ist; Attribute werden unabhängig von Groß-/Kleinschreibung, Akzenten oder Satzzeichen über ihre Bezeichnung gefunden

v2.6.1

Korrektur

Der Dolibarr-Bestand wird wieder an Shopify übertragen: Aktualisierungen wurden abgelehnt, sobald ein Produkt bereits Online-Bestand hatte („changeFromQuantity“). Das Modul liest nun die tatsächlich bei Shopify gespeicherte Menge, sendet nur die Differenz, bündelt Aktualisierungen in Stapeln, und ein vorübergehender Shopify-Ausfall setzt Produkte nicht mehr dauerhaft auf Fehler; hängengebliebene Produkte werden automatisch neu eingereiht

Korrektur

Die REST-API des Moduls antwortete seit 2.6.0 mit einem 500-Fehler, selbst mit gültigem Schlüssel: behoben und über echtes HTTP auf Dolibarr 18 und 24 mit dem ausgelieferten Paket überprüft

Korrektur

Die Wartungswerkzeuge öffnen sich endlich (der Reiter stürzte beim Öffnen ab), und der Reiter „Statuszuordnung“, der keinerlei Wirkung auf Ihre Bestellungen hatte, wird entfernt — alte Links leiten auf „Bestellkonfiguration“ weiter

Korrektur

Der Webhooks-Reiter stürzt nicht mehr ab: Das Abwählen von „Sofortige Verarbeitung“ oder das Leeren eines Zahlenfelds verursachte einen Fatalfehler, und die leere Zeile bei „Webhook-Benutzer“ ließ alle Ihre Webhooks mit einem 500-Fehler antworten

Korrektur

Das Speichern der Produktkategorie eines Shops löscht nicht mehr stillschweigend dessen Bestell-, Rechnungs- und Angebots-Tags. Zu prüfen: Öffnen Sie jedes Shop-Blatt, Reiter „Kategorien und Tags“, und kontrollieren Sie, dass die drei Tags ausgefüllt sind

Korrektur

Eine manuelle Kollektion wird nicht mehr mit einer automatischen verwechselt: Ihre Produkte werden wieder zugeordnet, und durch Bedingungen gesteuerte Kollektionen werden im Synchronisationsbildschirm gesondert gemeldet

Neu

Eine Bestellung, deren Kunde keine E-Mail hat (z. B. nur Telefon), wird nun importiert: Der Kunde wird über die Shopify-Kennung, das Telefon oder Name und Adresse gefunden und notfalls ohne E-Mail angelegt

Verbesserung

Das Bild einer Kollektion wird nicht mehr bei jeder Synchronisation erneut an Shopify gesendet: weniger doppelte Dateien und kürzere Zyklen (jedes Bild wird nach dem Update einmal erneut gesendet)

Verbesserung

Das Werkzeug „Foto-Duplikate“ bietet nur noch wirklich identische Kopien an, standardmäßig ist nichts angehakt, und das Modul prüft vor dem Löschen erneut

Verbesserung

Der JSON-Export eines Produkts verwechselt eine numerische SKU nicht mehr mit einer Shopify-Kennung, und das eigene Protokoll des Moduls kann endlich detaillierter sein als das von Dolibarr (Debug-Stufe)

v2.6.0

Neu

Das Modul führt nun ein eigenes Protokoll: Jeder Synchronisationszyklus wird mit einer Kennung, seiner Herkunft — geplante Aufgabe, Bildschirm, Webhook, API — und seiner Bilanz (Dauer, verarbeitete Produkte, Fehler, Bilder) festgehalten. Eine Supportanfrage beginnt jetzt mit Fakten statt mit einer Reihe von Fragen

Neu

Beim START jedes Zyklus wird eine Zeile geschrieben, vor jeder Arbeit. Das ist der entscheidende Punkt: Ohne sie hinterlassen ein stillstehender Planer und ein Planer, der ohne Aufgaben läuft, genau dieselbe Leere. Mit ihr wird „letzter geplanter Zyklus: vor vier Tagen“ zu einer Antwort

Neu

Neue Schaltfläche „Protokoll herunterladen (CSV)“: Sie laden es herunter und hängen es an Ihre Nachricht an. Es ist bewusst begrenzt und enthält genau das am Bildschirm Angezeigte — keine Bestellinhalte, keine personenbezogenen Daten Ihrer Kunden

Neu

Shopify-Verbindung: Bei der nächsten Wiederverbindung Ihres Shops erscheint einmalig eine Bestätigungsseite — sie zeigt Ihre Dolibarr-Adresse an und fordert eine Bestätigung, bevor irgendetwas übertragen wird; nachfolgende Wiederverbindungen von derselben Adresse bleiben wie zuvor unauffällig

Sicherheit

Sicherheit: Ihre Shopify-Zugangsdaten (Zugriffstoken, API-Schlüssel) werden im Konfigurationsbildschirm nicht mehr im Klartext angezeigt, der Diagnose-Export maskiert nun jedes sensibel wirkende Feld unabhängig von seinem Namen, und eine Lizenz kann jetzt bei Bedarf ordnungsgemäß widerrufen werden

Verbesserung

Das Protokoll wird über eine separate Datenbankverbindung geschrieben: Seine Spur bleibt auch dann erhalten, wenn der beschriebene Vorgang scheitert und seine eigenen Schreibvorgänge zurücknimmt. Anders gesagt: Gerade der interessanteste Fehler hinterlässt eine Spur

Verbesserung

Diese Version bringt außerdem zehn Pakete früherer, nie veröffentlichter Arbeiten: Härtung der Wiederherstellung der Shopify-Verbindung, Obergrenze für Lizenzverknüpfungsversuche, begrenzte Lizenz-Neuprüfung mit sichtbarem Fehlschlag sowie Entfernung personenbezogener Daten aus den Anwendungsprotokollen der Website

v2.5.7

Korrektur

Kritische Korrektur: In einem Shopify-Shop mit mehreren Standorten/Lagern wurde der reine Bestands-Resynchronisierungszyklus (wenn sich der Produktinhalt seit der letzten Übertragung nicht geändert hat) von Shopify systematisch abgelehnt. Ein Integrator meldete 141 Fehler bei 158 Produkten, wobei der Bestand bei Shopify auf seinem alten Wert blieb, ohne dass je eine Aktualisierung durchging. Die Ursache: Die Referenzmenge wurde mit einem standortübergreifenden Shopify-Bestand verglichen, während Shopify sie tatsächlich mit dem für Ihren Shop konfigurierten einzelnen Standort vergleicht — bei einem Shop mit nur einem Standort unsichtbar, tritt der Fehler auf, sobald ein zweiter Standort existiert. Sie wird nun stets am tatsächlich für Ihren Shop konfigurierten Standort gelesen. Starten Sie nach dem Update eine Bestandssynchronisierung für die zuvor fehlerhaften Produkte neu

Korrektur

Korrektur: Bei einem Produkt mit mehreren Varianten werden nicht mehr alle Varianten durch das Problem einer einzigen blockiert — kann eine Variante in einem bestimmten Zyklus nicht neu synchronisiert werden, werden die anderen, korrekt synchronisierten Varianten desselben Produkts nicht mehr mit ihr zurückgehalten

Korrektur

Korrektur: Ein tatsächliches Konfigurationsproblem des Shopify-Standorts (Standort gelöscht, ungültig oder deaktiviert — z. B. ein altes, geschlossenes, aber nicht gelöschtes Lager) wird nun klar in den Protokollen und der Synchronisierungsübersicht gemeldet, mit der je nach Fall zu ergreifenden Maßnahme. Eine falsch konfigurierte Standort-ID wird zudem nun sofort erkannt, ohne auf den Aufruf bei Shopify zu warten

Korrektur

Korrektur: Eine von Shopify auferlegte vorübergehende Verlangsamung (Ratenbegrenzung, normal bei einem großen Katalog) wird nie mit diesem Standort-Konfigurationsproblem verwechselt — sie folgt weiterhin dem normalen Pfad, mit einem erneuten Versuch im nächsten Zyklus

Korrektur

Korrektur: Ein korrekt definierter Artikel mit einem Bestand von null wird nicht mehr mit einem Artikel verwechselt, dessen Menge nicht gelesen werden konnte — ein rechtmäßig null Bestand am konfigurierten Standort wird nun korrekt an Shopify gesendet

Korrektur

Korrektur: Bei einer Installation mit mehreren Shopify-Shops bleibt die Synchronisierungsverfolgung eines Produkts korrekt pro Shop isoliert, ohne Vermischung zwischen Shops; die beiden mit dieser Version eingeführten Zähler sind zudem nun direkt auf dem Bildschirm der manuellen Synchronisierung als eigene Banner sichtbar

Verbesserung

Das Installationspaket ist wieder unter 2 MB groß und kann unabhängig vom Standard-Upload-Limit über den Bereitstellungsbildschirm von Dolibarr installiert werden

v2.5.6

Korrektur

Kritische Korrektur, buchhalterische Auswirkung: Seit dem Update vom 18. September 2026 (Version 2.5.5) konnte eine Shopify-Bestellung mit einem bestellweiten Rabatt (Gutscheincode oder automatischer Rabatt auf mehrere Artikel) mit einem Rabatt importiert werden, der fast doppelt so hoch war wie der von Shopify tatsächlich gewährte. Bei einer Bestellung über 2.520,00 € netto mit 5 % Rabatt (126,00 € netto) übernahm der Import 245,70 € netto. Der Betrag des bestellweiten Rabatts wird nun direkt aus der von Shopify bereits pro Position berechneten Aufteilung übernommen und nur einmal gelesen — eine Doppelzählung wird strukturell unmöglich

Korrektur

Korrektur: Ein Rabatt, der nur einen Teil Ihrer Artikel betrifft (z. B. „-10 % auf Sale-Artikel“), konnte in manchen Fällen auf den Wert aller Artikel der Bestellung statt nur der betroffenen Artikel berechnet werden — vorhanden seit demselben Update vom 18. September

Korrektur

Korrektur: Bei einigen Rabatt-Apps von Drittanbietern oder Shopify Functions, die den bestellweiten Rabatt bereits im von Shopify angezeigten Preis widerspiegeln, zählte die erste Korrektur dieser Version ihn trotzdem ein zweites Mal. Die Berechnung liest nun jede Rabattaufteilung nur noch einmal, unabhängig davon, wie Shopify den Positionspreis sonst anzeigt

Korrektur

Korrektur: Marketplace-Bestellungen (Nature & Découvertes und ähnliche Kanäle), die nicht immer den MwSt.-Satz je Artikel angeben, konnten ihren bestellweiten Rabatt um 20 % überschätzt bekommen; das Modul greift für diese Berechnung nun auf den MwSt.-Satz Ihres Dolibarr-Produkts zurück, wie es das für die Position selbst bereits tut

Korrektur

Korrektur: Eine Bestellung mit gemischten MwSt.-Sätzen (z. B. 5,5 % und 20 % in derselben Bestellung) verteilte ihren gesamten bestellweiten Rabatt auf den höchsten Satz; es wird nun eine Rabattzeile je tatsächlich betroffenem MwSt.-Satz erstellt

Korrektur

Ein von Shopify gemeldeter, aber in der Positionsaufschlüsselung nicht auffindbarer Rabatt verschwindet nicht mehr stillschweigend: Er wird nun zur Untersuchung protokolliert

v2.5.5

Neu

Das Modul führt nun ein eigenes Protokoll, getrennt vom allgemeinen Dolibarr-Protokoll, und auf der Registerkarte Support steht eine Schaltfläche „Modulprotokoll herunterladen“ bereit. Bei einem Problem hängen Sie es an Ihre Nachricht an: Die Diagnose beginnt mit Fakten statt mit einer Reihe von Fragen. Rotation, Archivierung und Bereinigung übernimmt Dolibarr selbst, es ist also keine zusätzliche Einstellung zu kennen

Korrektur

Korrektur mit buchhalterischer Auswirkung: Ein auf die Positionen verteilter Gesamtrabatt wurde auf zwei Importwegen nie angewendet — beim historischen Import und beim Abruf einer einzelnen Bestellung, also auf dem Weg, der nach der Benachrichtigung über eine neue Bestellung genutzt wird. Eine für die Entscheidung nötige Information wurde bei Shopify nicht angefordert, die Bedingung war daher immer falsch: Die Bestellung wurde zum vollen Preis erfasst, ohne Fehler und ohne Warnung

Verbesserung

Ein Produkt, das auf Shopify ohne Bilder bleibt, wird nun gezählt und benannt — im Synchronisationsbildschirm, im Bericht der geplanten Aufgabe und im Protokoll. Das Modul verzichtet auf die Übertragung, wenn es auf Dolibarr-Seite kein Bild findet, um vorhandene Bilder nicht ohne Ersatz zu entfernen; bisher stand das nur in einer technischen Zeile, die niemand las

Korrektur

Korrektur: Der Bestand einer Variante ohne passende SKU wurde nie an Shopify übertragen, und nichts wies darauf hin. Die Variante blieb dauerhaft bei der Menge, die sie zum Zeitpunkt der Abweichung hatte — verkäuflich obwohl ausverkauft, oder unverkäuflich obwohl auf Lager — während der Bericht eine erfolgreiche Synchronisation meldete

Verbesserung

Dolibarr-Varianten ohne Shopify-Entsprechung und Shopify-Varianten ohne Dolibarr-Entsprechung werden nun gezählt, je Produkt aufgelistet und als nicht synchronisiert gekennzeichnet — sowohl im Synchronisationsbericht als auch im Diagnosebildschirm

Korrektur

Korrektur: Ein Produkt, dessen Fotos auf Shopify-Seite verschwunden waren (Produkt gelöscht und neu angelegt, Medien manuell entfernt, Wiederherstellung einer Sicherung), bekam sie nie zurück. Das Modul stützte sich auf einen Fingerabdruck der Dolibarr-Bilder, um zu schließen, dass Shopify sie bereits besitzt, und keine Bereinigung löschte diesen Fingerabdruck: Das richtige Vorgehen konnte, korrekt ausgeführt, nicht funktionieren

Verbesserung

Die Bereinigungen löschen nun auch den Bildspeicher, eine übersprungene Übertragung wird im Synchronisationsbericht gemeldet, und eine Aktion „vollständige Neuübertragung der Bilder erzwingen“ für ein einzelnes Produkt steht in der Konfiguration bereit — ohne SQL-Abfrage und ohne globale Bereinigung

Verbesserung

Barrierefreiheit: 52 Textstellen in unseren Markenfarben erreichten den von WCAG AA geforderten Kontrast nicht. Korrigiert in den E-Mails, die wir versenden, in den Bildschirmen der Website und in den Stylesheets des Moduls, durch abgedunkelte Varianten mit unverändertem Farbton

v2.5.4

Sicherheit

Ab dem 12. November 2026 hält eine abgelaufene Lizenz die Synchronisation in beide Richtungen an — einschließlich der Übernahme Ihrer Shopify-Bestellungen nach Dolibarr. Bisher waren nur Support und Downloads ausgesetzt. Ist Ihre Lizenz aktiv, ändert sich bis zu deren Ablauf nichts. Das Datum kommt von unseren Servern: Antworten sie nicht, wird nichts angehalten

Breaking

Die Richtung der Bestandssynchronisation steht nicht mehr standardmäßig auf „beide Richtungen“, sondern auf „Dolibarr nach Shopify“. Hatten Sie bereits eine ausdrückliche Einstellung gewählt, bleibt sie unverändert erhalten; andernfalls prüfen Sie den Konfigurationsbildschirm

Korrektur

Korrektur: „Ihre Lizenz ist abgelaufen“ wurde angezeigt, obwohl in Wirklichkeit unser Server nicht geantwortet hatte. Eine Störung auf unserer Seite gibt sich nicht mehr als Problem auf Ihrer aus

Verbesserung

Sie werden nun vor dem Ablauf Ihrer Lizenz benachrichtigt — per E-Mail und durch einen Hinweis im Modul, der das genaue Datum anzeigt

Verbesserung

Unterstützte Dolibarr-Versionen: zurück zu 18.0 → 24.x. Version 2.5.3 hatte den Bereich auf 23.0 eingeschränkt und damit die 18 ausgeschlossen — die einzige ältere Branche, die noch gepflegt wird. Bei jeder Version werden drei Ziele getestet (18, 23, 24); die Zwischenversionen werden als kompatibel erklärt, ohne getestet zu werden

v2.5.3

Korrektur

Multicompany-Korrektur: Auf Installationen, bei denen Doli2Shop auf einem anderen als dem ersten Mandanten konfiguriert ist, wurde kein einziger Webhook angenommen. Der Einstiegspunkt lief stets im ersten Mandanten und fand dort das Signaturgeheimnis nicht: Bestellungen, Artikel und Lieferungen kamen nicht mehr an — ohne jede Fehlermeldung, und ohne dass etwas für eine spätere Wiederholung aufbewahrt wurde

Korrektur

Multicompany-Korrektur: Artikelfotos gelangten nie zu Shopify. Dolibarr legt Dokumente in einem Unterordner mit der Mandantennummer ab, den das Modul nicht erkannte — der Diagnosebildschirm meldete „kein Artikel mit mindestens einem Foto“, während das ERP welche anzeigte

Korrektur

Multicompany-Korrektur: Die Mehrwertsteuer importierter Bestellungen wurde mit den Firmendaten des ersten Mandanten berechnet statt mit denen der betroffenen Firma

Korrektur

Multicompany-Korrektur: Die Standardzuordnungen für Zahlungsarten (Karte, Überweisung, Scheck, PayPal …) wurden auf einem sekundären Mandanten nie angelegt. Sie werden nun je Mandant gesetzt und überschreiben niemals eine von Ihnen geänderte Zuordnung

Korrektur

Korrektur, alle Installationen: Für jeden Artikel und bei jeder Synchronisation wurde eine Warnung geschrieben, das Foto sei nicht indexiert — auch wenn es einwandfrei indexiert war; zudem wurde jeder Artikel zweimal von der Festplatte gelesen

Korrektur

Korrektur, alle Installationen: Ihre Artikelfotos wurden bei jeder Benachrichtigung von Shopify dupliziert — schon eine Preis- oder Bestandsänderung genügte für eine weitere Kopie. Ein Kunde hatte vier Exemplare desselben Bildes an einem einzigen Artikel, drei davon am selben Tag erstellt. Für die bereits angesammelten Duplikate steht ein Aufräum-Bildschirm bereit: Er zeigt vor dem Handeln, was gelöscht wird, und rührt ein von Ihnen selbst hochgeladenes Foto nie an

Verbesserung

Neues Dokument in fünf Sprachen: das Verfahren zur Inbetriebnahme, um Doli2Shop an ein Dolibarr anzuschließen, das Ihre Verkaufshistorie bereits enthält — der Fall eines von PrestaShop, WooCommerce oder Magento nach Shopify migrierten Shops. Es benennt ausdrücklich auch, wogegen es nicht schützt

v2.5.2

Korrektur

Kritische Korrektur: Auf einigen Installationen musste die Shopify-Verbindung täglich manuell wiederhergestellt werden. Der Standard-Shop hielt zwei Kopien seiner Zugangsdaten, und die automatische Erneuerung aktualisierte nur eine davon; da ein Shopify-Token nur einmal gültig ist, verfiel die vergessene Kopie. Beide Kopien werden nun gemeinsam aktualisiert

Korrektur

Korrektur: Die Bezeichnung jeder Variante wurde bei jeder Aktualisierung aus Shopify durch den Titel des übergeordneten Produkts ersetzt, selbst bei einer einfachen Preis- oder Bestandsänderung. Bezeichnungen werden jetzt wie bei der Erstellung neu berechnet, und das Reparaturwerkzeug findet sie auch dann wieder, wenn sie bereits einmal verknüpft wurden

Korrektur

Korrektur: Auf der Webhook-Seite hatte die Schaltfläche zum Speichern keine Wirkung — die Liste der verfolgten Ereignisse ließ sich nicht ändern. Ein Strukturfehler der Seite verhinderte das Absenden des Formulars

Korrektur

Korrektur: Der Bildschirm zur Produktsynchronisation und die geplante Aufgabe betrachteten nicht denselben Umfang. Ein in einer Unterkategorie eingeordnetes Produkt wurde synchronisiert, ohne je auf dem Bildschirm zu erscheinen, der „keine Produkte" meldete. Beide verwenden nun dieselbe Definition, und ein neues Inbetriebnahmedatum erlaubt es, Bestellungen von vor Ihrem Wechsel zu Shopify auszuschließen

Korrektur

Korrektur: Auf Installationen mit mehreren Shops zählten die Zähler des Synchronisationsbildschirms jedes Produkt so oft, wie es in Shops vorhanden war. Die angezeigten Summen werden daher sinken: sie sind jetzt korrekt

Korrektur

Korrektur: Der Import historischer Bestellungen zeigte nie seinen Stand an — „abgeschlossen" blieb immer auf nein, die Statistiken blieben leer, und eine Änderung des Startdatums während des Vorgangs hatte keine Wirkung. Der Import berichtet nun über seinen Fortschritt und kann sich nach einem Fehler nicht mehr als abgeschlossen melden

Verbesserung

Verbesserte Robustheit: Eine fehlerhafte Anfrage an den Abrechnungsdienst erhält nun eine klare Fehlerantwort anstelle eines Serverfehlers, und es wird keine interne technische Meldung mehr an den Aufrufer zurückgegeben

v2.5.0

Neu

Neu: Jeder Synchronisationsfluss (Produkte, Bestände, Preise, Bestellungen) hat nun seine eigene konfigurierbare Richtung — Dolibarr nach Shopify, Shopify nach Dolibarr oder beides. Sie entscheiden pro Fluss, welches System maßgeblich ist

Neu

Neu: Eine Steuerungs-API ermöglicht es, Synchronisationen aus Ihren eigenen Werkzeugen auszulösen und zu verfolgen

Verbesserung

Das Modul ist nun in fünf Sprachen verfügbar: Französisch, Englisch, Deutsch, Spanisch und Italienisch

Korrektur

Kritische Korrektur: Die geplante Aufgabe zum Nachholen von Lieferungen startete überhaupt nicht mehr und hinterließ dabei keinerlei Spur in Dolibarr — nur das Serverprotokoll hielt sie fest. Eine automatische Prüfung verhindert nun, dass eine solche stille Störung erneut auftritt

Korrektur

Korrektur: Zwei weitere geplante Aufgaben scheiterten aus einem verwandten Grund, darunter die Webhook-Zustandsprüfung — die genau dann ausfiel, wenn sie einen Vorfall aufzeichnete, also wenn sie am nötigsten war

Korrektur

Korrektur: Produkte mit Varianten erzeugten bei jeder Bildsynchronisation etwa dreißig Warnungen

v2.4.8

Korrektur

Kritische Korrektur: Das Aufrufen einer Seite konnte die Schaltflächen einer anderen unbrauchbar machen. Die internen Aufrufe des Moduls erneuerten das Sicherheitstoken der Sitzung, und die Seite „Zustand" löst beim Öffnen eines pro Shop aus: Auf einer Installation mit drei Shops genügte das bloße Öffnen dieser Seite, damit Klicks auf der Webhook-Seite stillschweigend abgewiesen wurden

Korrektur

Korrektur: Dreißig Aktionen auf neun Verwaltungsseiten konnten bei abgelehntem Sicherheitstoken ohne Meldung und ohne Protokolleintrag abgewiesen werden — darunter die Zuordnung einer Lizenznummer zu einem Shop, die somit ohne jeden Hinweis fehlschlagen konnte. Alle zeigen nun eine ausdrückliche Fehlermeldung

Korrektur

Korrektur: Eine Synchronisation konnte die Webhooks anderer Shops abschalten

v2.4.7

Korrektur

Korrektur: Auf der Webhook-Seite wurde „Konfiguration gespeichert" angezeigt, ohne dass sich der Zustand änderte. Anzeige und Speicherung betrachteten nicht dieselbe Datenbankzeile: Man deaktivierte einen Webhook, die Seite bestätigte, und nichts geschah

Korrektur

Korrektur: Die Deaktivierung entfernt nun jedes betroffene Abonnement und nicht mehr nur das erste gefundene — eine Zwillingszeile kann einen gerade entfernten Webhook nicht mehr zurückbringen. Die Aktivierung verwendet ein bestehendes Abonnement wieder, anstatt ein weiteres anzulegen

Korrektur

Von Installationen vor der Mehr-Shop-Unterstützung übernommene Inkonsistenzen werden dabei behoben: Eine als „aktiv" verbliebene Zeile ohne tatsächliches Abonnement wird zurückgesetzt

v2.4.6

Korrektur

Korrektur: Bei mehreren verbundenen Shops zeigte die Webhook-Seite den ausgewählten Shop an, speicherte aber in einem anderen — Webhooks ließen sich nicht deaktivieren, die Schaltfläche „Speichern“ schien wirkungslos. Anzeige und Speicherung verwenden nun denselben Shop-Filter, und jeder Fehler wird im Klartext angezeigt statt als leere Meldung

Korrektur

Kritische Korrektur: Auf gehärteten Installationen (Anti-CSRF-Token bei jedem Seitenaufruf erneuert) wurden sämtliche Admin-Aktionen des Moduls stillschweigend abgewiesen — auch der Einrichtungsassistent. Die Prüfung entspricht jetzt dem Dolibarr-Kern, und eine Ablehnung wird immer angezeigt

Verbesserung

Robustheit: Ein Datenbankfehler beim Speichern der Webhooks führt nicht mehr zu einer weißen Seite — der Fehler wird mit dem betroffenen Webhook angezeigt, die übrigen werden weiterverarbeitet

v2.4.5

Verbesserung

Die Bestandsübertragung an Shopify läuft nun asynchron: Die Rechnungsvalidierung kehrt sofort zurück, selbst wenn Shopify langsam oder nicht erreichbar ist (keine minutenlangen Validierungen mehr). Eine geplante Aufgabe überträgt den Bestand alle 5 Minuten, fasst Bewegungen zusammen und wiederholt Fehlversuche automatisch

Korrektur

Kritische Korrektur: Unter Dolibarr 18 bis 22 lieferte das Verbinden eines Shops nach der Rückkehr von Shopify einen Fehler 500, und der Shop ging verloren — das Modul nutzte eine Kernfunktion, die erst Ende 2025 eingeführt wurde

Korrektur

Korrektur: Bei Hostings im strikten SQL-Modus wurden Webhooks nie registriert — die von Shopify gesendeten Zeitstempel wurden von der Datenbank abgelehnt. Sie werden jetzt umgewandelt und in Weltzeit gespeichert

Neu

Neues Werkzeug „Rabatte korrigieren“: repariert vor 2.2.9 importierte Bestellungen mit zu niedrig berechnetem Prozentrabatt — Vorschau vor der Anwendung, nur Entwürfe, Prüfpfad bleibt erhalten

Verbesserung

Shop-Verbindung: Der Fehler „Speichern der Zugangsdaten fehlgeschlagen“ nennt endlich die tatsächliche Ursache, und eine unvollständige Datenbank wird samt Vorgehensweise gemeldet (Seiten Diagnose und Systemzustand)

v2.4.4

Korrektur

Korrektur: Aus Shopify importierte Variantenprodukte erzeugten keine echte Dolibarr-Variante — die Verknüpfung Hauptprodukt/Variante blieb in der Oberfläche unsichtbar, und die Variantenbezeichnung konnte mit der des Hauptprodukts identisch bleiben

Neu

Neue Schaltfläche „Varianten reparieren“: verknüpft bereits importierte Kataloge nachträglich, ohne erneuten Import und ohne Duplikate, stapelweise und gefahrlos wiederholbar

v2.4.3

Korrektur

Behoben: Der Import von Produkten mit Varianten schlug fehl, wenn dieselbe Referenz (SKU) von mehreren Shopify-Produkten gemeinsam genutzt wird — das Modul verwendet nun das vorhandene Produkt wieder, statt fehlzuschlagen, und zeigt bei anderen Problemen die vollständige Fehlerursache an

Korrektur

Behoben: Bestellzeilen aus Bundle-/Paket-Apps ("Stelle dein Paket zusammen") wurden nicht in Dolibarr angelegt — berechenbare, in einem Bundle gruppierte Produkte werden nun korrekt importiert (kostenlose 0-Euro-Komponenten werden weiterhin ignoriert)

v2.4.2

Korrektur

Kritische Korrektur: der Dolibarr-Bestand wurde nie zu Shopify übertragen (Wiederauffüllung, Eigenproduktion, manuelle Korrekturen) — der Shopify-Bestand driftete mit jedem Verkauf ab, bis hin zu falschen negativen Werten. Jede Dolibarr-Bestandsbewegung wird nun in Echtzeit zu Shopify synchronisiert (Absolutwert, nie negativ)

Neu

Neuer Button "Bestand zu Shopify abgleichen": überträgt den Dolibarr-Bestand aller zugeordneten Produkte auf einmal — repariert sofort die in der Vergangenheit verfälschten Shopify-Werte, ohne auf die nächste Bewegung jedes Produkts zu warten

Verbesserung

Multi-Shop: der Bestand wird zu jedem Shop übertragen, in dem das Produkt zugeordnet ist, mit den eigenen Zugangsdaten jedes Shops

Verbesserung

Nachvollziehbarkeit: jede Bestandsübertragung wird im Aktionsprotokoll erfasst, und der Status "letzter Abgleich" (Datum, Produkte, Fehler) wird in der Administration angezeigt

v2.4.1

Sicherheit

Shopify-2026-Konformität: native Unterstützung des neuen ablaufenden OAuth-Token-Regimes (60-Minuten-Zugriffstoken + Refresh-Token), das Shopify bis zum 1. Januar 2027 vorschreibt — transparente automatische Erneuerung, bereits verbundene Shops migrieren mit einem Klick über den Button "Erneut verbinden"

Neu

Neue Shopify-Collections-API 2026-07: Kollektionen, die mit dem neuen Modell erstellt wurden (Shopify-Rollout ab 1. Juli 2026), sind nun sichtbar und werden synchronisiert — kein stilles Verschwinden mehr

Korrektur

Kritische Korrektur: Produkt-/Bestandssynchronisation zuverlässiger gemacht — eine deaktivierte Variante blieb manchmal auf Shopify sichtbar, und abweichende Bestände (teils negativ) wurden nicht mehr stillschweigend korrigiert; Fehler werden nun protokolliert und angezeigt

Verbesserung

Sofortige Diagnose: Verbindungs- und Zustandstests pro Shop laufen nun im Hintergrund, ohne die Seite zu verlangsamen

Verbesserung

Zuverlässigere Telemetrie: das Modul meldet nun auf allen Kanälen seine echte Domain und Dolibarr-Version, wodurch falsche ausstehende Installationen entfallen

v2.4.0

Neu

Multi-Shop: mehrere Shopify-Shops auf einer einzigen Dolibarr-Installation konfigurierbar, mit Lizenz, Einstellungen und Navigation je Shop (die Buchhaltung bleibt immer einheitlich)

Neu

Detaillierte Zustandsdiagnose pro Shop: Verbindung und Webhooks, Lizenz, Synchronisationszähler — jeder Shop wird unabhängig geprüft

Verbesserung

Vergrößerte Shop-Auswahl und überarbeitete Kontextleiste auf allen Multi-Shop-Admin-Seiten

Korrektur

Kritische Korrektur: eine nach einem Fehler (Lager/Bestand) im Entwurf verbliebene Lieferung wurde nie automatisch nachgeholt — sie wird nun vom periodischen Nachhol-Job validiert und abgeschlossen

Korrektur

Anzeigekorrektur: falsch kodierte Sonderzeichen mit Akzent (doppelte Kodierung) im gesamten Admin-Bereich behoben

Korrektur

Korrektur: der Lizenzstatus eines Shops konnte auf "unbekannt" hängen bleiben — die Prüfung ist nun zuverlässig und stuft einen Standard-Shop nie herab

v2.3.2

Korrektur

Kritische Korrektur: manche Bestellungen wurden nicht mehr von Shopify abgerufen (Regression aus 2.3.0) — die Bestellsynchronisierung funktioniert wieder normal

Korrektur

Korrektur: Webhooks, die auf eine veraltete Shopify-API-Version registriert sind, werden nun bei den Zustandsprüfungen automatisch neu registriert, pro Shop

Korrektur

Korrektur: Blockade bei der Modulaktivierung auf Multi-Shop-Installationen (leere Seite)

Sicherheit

Sicherheit: die Verbindung eines Shopify-Shops kann nicht mehr durch manuelle Token-Eingabe erfolgen — nur noch über den sicheren OAuth-Ablauf von Shopify

v2.3.0

Neu

Multi-Shop (Grundlagen): mehrere Shopify-Shops von einer einzigen Dolibarr-Installation mit einheitlicher Buchhaltung verwaltet — der bestehende Shop wird automatisch migriert, ohne Unterbrechung

Neu

Neue Shop-Verwaltungsoberfläche: Hinzufügen, Verbinden, Webhooks und Lizenz verwalten, pro Shop

Sicherheit

Sicherheit: die Shopify-Verbindung ist nun durch kryptografische Schlüssel (OAuth RSA) statt eines gemeinsamen Geheimnisses geschützt

Neu

Neue Support-Tools: Export des vollständigen JSON einer Bestellung zur schnelleren Fehlerdiagnose

Neu

Liefer- und Rechnungsadressen werden nun direkt auf der Bestellkarte angezeigt

Sicherheit

Sicherheit: verstärkter CSRF-Schutz bei sensiblen Aktionen (Konfiguration, Lizenz)

v2.2.9

Korrektur

Korrektur: Prozentuale Rabatte wurden zu niedrig berechnet — der Rabatt wurde auf der Netto-Basis berechnet und dann ein zweites Mal durch (1 + MwSt.) geteilt, als wäre er ein Brutto-Betrag. Bestellungen mit prozentualem Promo-Code entsprechen nun exakt dem in Shopify angezeigten Betrag (z. B. 5 % = −151,20 € brutto statt −126 €)

Verbesserung

Dokumentation: Tabelle der 4 Dolibarr-Regeln zur Bestandsreduzierung (Bestellung, Rechnung, Versand, Versandabschluss) und Empfehlung für gemischte Shops mit TakePOS-Theke + Shopify

v2.2.8

Korrektur

Kritische Korrektur: Lagerbestand wurde beim Import von Shopify-Bestellungen nicht reduziert — das Lager wurde bei der Rechnungsvalidierung nicht übergeben. Alle 4 Dolibarr-Regeln zur Bestandsreduzierung (Bestellung, Rechnung, Versand, Versandabschluss) werden nun abgedeckt

Korrektur

Korrektur: Die Berechtigungsmigration v2.2.4 (Änderung der Modul-ID) wird nun bei der Aktivierung automatisch ausgeführt — Benutzerrechte bleiben beim Upgrade von einer Version vor 2.2.4 erhalten

Korrektur

Webhook-Korrektur: falsche Callback-URL (fehlender /custom/-Pfad) ohne explizite Konfiguration, und die Einstellung der Aufbewahrungstage für Ereignisse wird nun von der Bereinigung berücksichtigt

Verbesserung

Robustheit: explizite Warnungen in den Logs, wenn kein Lager ermittelt werden kann, sowie Schutz vor fatalen Fehlern, falls die ausgehende Synchronisierung Dolibarr → Shopify (geplant für v2.4.x) vorzeitig aktiviert wird

v2.2.7

Korrektur

Kritische Korrektur: Dokument-API-Aufrufe liefern 404 bei Installationen in einem Unterverzeichnis — ein fuehrender Slash ueberschrieb den Unterverzeichnispfad (Issue #288)

Korrektur

Alle Dokumentzugriffspunkte (Produkt- und Kategoriebilder) beruecksichtigen nun korrekt das Installationsunterverzeichnis

Korrektur

Behebt Dolibarr-Installationen in einem Unterverzeichnis (Version 2.2.6 umging dies bereits ueber den lokalen SQL-Fallback)

v2.2.6

Korrektur

Kritische Korrektur: resiliente Produktbild-Synchronisation — automatischer SQL-Fallback (llx_ecm_files) wenn der Dolibarr REST-API-Endpunkt /documents nicht erreichbar ist (404, Timeout, HTML im Body). Produktbilder werden nun auch bei eingeschraenktem Hosting korrekt in Shopify synchronisiert (Issue #286)

Korrektur

Kritische Korrektur: Multi-Mandant-Entity-Filter zur Bild-SQL-Abfrage hinzugefuegt — verhindert Offenlegung von Bildern anderer Dolibarr-Entitaeten in Multi-Company-Installationen

Korrektur

Korrektur: falscher Sortierschluessel (filename vs. relativename) — Sortierung nach Position jetzt korrekt

Verbesserung

Bild-Instanz-Cache reduziert 3 redundante SQL+API-Aufrufe pro Produkt auf 1 waehrend der Synchronisation

v2.2.5

Korrektur

Kritische Korrektur: Funktion verifToken() wurde auf bestimmten PHP-FPM-Stacks nicht geladen und blockierte die Shopify-OAuth — 4 Moduldateien binden nun explizit das compatibility.lib.php-Polyfill ein

v2.2.4

Korrektur

Kritische Korrektur: Migration der Dolibarr-Modul-ID (436950 → 351003, offizieller Bereich für Association P'tite Tête) — automatische SQL-Migration erhält bestehende Berechtigungen

v2.2.3

Korrektur

Kritische Korrektur: Admin-Seiten (Setup, Wizard, Produktsynchronisation) referenzierten eine nicht existierende CSS-Datei — CSS-Laden und Seitenanzeige nun korrekt

v2.2.2

Neu

Shopify Bundle-/Geschenkzeilen-Handling (USH Bundles, EasyGift usw.) — 3 konfigurierbare Modi: ignorieren, als Kommentar importieren, als reguläre Zeile importieren

Korrektur

Kritische Korrektur: Varianten-Bestandsabgleich jetzt stündlich statt alle 24h

Korrektur

Webhook products/delete korrigiert — ungültige SQL-Abfrage behoben

Korrektur

Kritische Korrektur: keine Duplikate mehr auf Shopify nach Löschen eines Varianten-Produkts

Korrektur

Verbesserter Anti-Loop: prozessübergreifender Sync/Webhook-Schutz gegen Deadlocks

Korrektur

Diagnose-Fehlalarm behoben: API Documents 404 bei nicht vorhandenem Testprodukt wird nun als Warnung statt als Fehler gemeldet

Verbesserung

Erweitertes Diagnose-Tool: Erkennung alter Bildpfade + Server-Loopback-Test

Verbesserung

Dynamische Versionsanzeige überall (keine fest codierten Versionen mehr)

Verbesserung

Website-Admin: neuer Abschnitt 'SQL-Migrationen', der nummerierte SQL-Skripte auflistet und die Ausführung mit einem Klick ermöglicht (automatisches Tracking)

v2.2.1

Neu

Proaktives E-Mail-Benachrichtigungssystem (Webhook-Fehler + Systemzustand)

Neu

Intelligente Drosselung pro Typ mit konfigurierbarer Abklingzeit

Verbesserung

Vollständige Shopify API 2026-07 Audit — Antizipation von Breaking Changes

Verbesserung

PHPStan Level 6 + Testabdeckung 35% → 71%

Verbesserung

Zentralisierung der Modulversion (keine fest codierten Versionen mehr)

Korrektur

~1.974 Zeilen toten Code entfernt

Korrektur

Dolibarr 23 Kompatibilität — systematisches Audit und Korrekturen

v2.2.0

Neu

Echtzeit-Webhooks Shopify → Dolibarr (Bestellungen, Lieferungen, Zahlungen)

Neu

Geführter Konfigurationsassistent in 6 Schritten

Neu

Dashboard für Modulüberwachung und -zustand

Neu

2-Ebenen-Versandzuordnung (Titel + tatsächlicher Transporteur)

Neu

Vereinfachte Oberfläche: 3 Registerkarten statt 5

Neu

Automatisches Nachholen verpasster Bestellungen (Sicherheitsnetz-CRON)

Neu

Konfigurierbare automatische Erstellung von Rechnungen, Zahlungen und Lieferungen

Verbesserung

Vollständige Bestellkonfiguration im Assistenten

Verbesserung

Automatische Aktivierung von Webhooks und CRONs am Ende des Assistenten

v2.1.8

Neu

Integriertes Support-Ticketsystem für mehrere Plattformen

Neu

Vollständige Website-Neugestaltung mit MVC-Architektur

Neu

Eingeschränkter Modus für abgelaufene Lizenzen

Neu

Zentralisierte Internationalisierung mit Twig

Neu

Bidirektionale Shopify-Webhooks + Dolibarr-Echtzeit-Trigger

v2.1.7

Neu

Shopify Billing API - Dual-Channel-Architektur

Neu

Vollständige Web-Admin-Oberfläche

Korrektur

OAuth-Lizenzlink-Korrektur

Korrektur

Rabatte nicht auf Dienste angewendet

Verbesserung

Verbesserungen des Konfigurationsassistenten

v2.1.6

Neu

Vollständiges Sicherheitsaudit - 86 Probleme behoben

Neu

Bidirektionaler Shopify → Dolibarr Import

Sicherheit

CSRF-Schutz für 15 Dateien

Sicherheit

Sicherheitsbewertung 6/10 → 9/10