Ratgeber › ERP-Etikettendruck mit ZPL

ERP-Etikettendruck mit ZPL

Veröffentlicht:

ERP-Systeme wissen gut, was auf einem Etikett stehen soll, und schlecht, ob das Etikett physisch druckbar ist. Die Lücke zeigt sich immer an derselben Stelle: eine am Dienstag geänderte Vorlage, eine Schicht, die am Mittwoch beginnt, und eine Palette falsch gedruckter Etiketten, weil zwischen ERP und Drucker nie jemand auf die Ausgabe gesehen hat.

Die Kette und wo sie wirklich bricht

Egal welches System — Odoo, NetSuite, ein eigenes WMS — die Form ist gleich: Geschäftsdaten werden in eine Etikettenvorlage gemischt, das Ergebnis wird als ZPL ausgegeben und roh an TCP-Port 9100 geliefert. Drei Bruchstellen liegen in dieser Kette, und keine davon ist die Schuld des Druckers:

  1. Der Merge erzeugt Inhalt, den das Layout nicht fasst. Ein Produktname doppelt so lang wie im Testdatensatz, eine Adresse mit vierter Zeile, ein Chargencode mit mehr Stellen als erwartet. Für die Daten, gegen die sie entworfen wurde, war die Vorlage nie falsch.
  2. Die Vorlage wurde für einen anderen Drucker gezeichnet. Koordinaten in ZPL sind Punkte; ein für 203 dpi gebautes Layout druckt auf 300 dpi bei etwa zwei Dritteln. Lager kaufen Drucker über Jahre, selten alle auf einmal.
  3. Vor dem Senden prüft nichts. Port 9100 kennt kein Rückgängig: Sobald Bytes ankommen, bewegt der Drucker Material — der erste Hinweis auf einen fehlerhaften Merge ist ein physischer Stapel falscher Etiketten.

Das Prüftor

Die Lösung ist ein Schritt, kein Produkt: Zwischen "ERP hat ZPL erzeugt" und "an den Drucker senden" eine Strukturprüfung setzen und alles ablehnen, was durchfällt. Praktisch ist das ein HTTP-Aufruf in dem Dienst, der ohnehin druckt.

curl -X POST "https://api.labelixa.com/v1/diagnostics?dpmm=8&w=4&h=6"      --data-binary @merged-label.zpl

Die Antwort listet Befunde mit Schweregrad und Position. error ist ein harter Stopp — das Etikett rendert nicht wie beabsichtigt — und warning sollten Sie protokollieren, auch wenn Sie weitermachen: Warnungen sind das, was später zu "warum scannten die Etiketten letzten Monat schlechter" wird. Dasselbe Tor gibt es als Kommandozeilenschritt für Cron oder CI (npx labelixa validate merged-label.zpl endet bei Fehlern mit Exit-Code ungleich null) — der einfachste Weg, eine Vorlage vor einem Release gegen echte Datensätze zu prüfen.

Die zweite Hälfte ist das Rendern. Ein Tor fängt strukturelle Probleme ab; ein Render zeigt dem Menschen, wie das Etikett aussehen wird — genau das braucht man, wenn eine Vorlage sich ändert und jemand sie freigeben muss.

Odoo

Die Etikettenausgabe in Odoo ist vorlagengesteuert und kann als ZPL an einen Netzwerkdrucker gehen. Der praktische Rat ist versionsunabhängig: Halten Sie die ZPL-Vorlage in der Versionsverwaltung statt nur in der Datenbank, testen Sie gegen Ihre längsten echten Werte (nicht die Demodaten) und setzen Sie das Prüftor in denselben Codepfad, der druckt. Da sich Odoo-Installationen zwischen Versionen und Modulen stark unterscheiden, prüfen Sie die konkreten Konfigurationsmasken in der Dokumentation Ihrer eigenen Version, nicht in einem Screenshot aus einem anderen Release.

NetSuite

NetSuite erzeugt Etikettenausgaben aus Saved Searches und Skripten; das Etikett entsteht also dort, wo die Geschäftslogik lebt. Das macht es leicht, einen Prüfschritt in dasselbe Skript zu legen, und macht den Test mit dem "längsten echten Wert" besonders wichtig: Eine Saved Search, die mit heutigen Daten funktioniert, kann beim ersten längeren Artikelnamen ein überlaufendes Etikett erzeugen. Wie bei Odoo gilt: Record- und Skript-Setup sind versionsspezifisch und gehören gegen die aktuelle Dokumentation geprüft.

Was vor einem Release zu testen ist

Druckt ein Etikett danach immer noch falsch, grenzt die Symptom-Triage die Ursache ein, ohne Material für Vermutungen zu verbrennen.

Verwandte Ratgeber

Was ist ZPL?

ZPL ist die Sprache der Zebra-Thermodrucker. Wie die Befehle zu lesen sind, wie ein Etikett aufgebaut wird und welche Fehler am häufigsten vorkommen.

Welche Barcode-Symbologie soll ich wählen?

EAN-13, Code 128 oder QR? Praktische Regeln für die Wahl des Barcodes nach Daten, Platz und Lesegerät.

ZPL-Datei ohne Drucker in der Vorschau ansehen

Eine ZPL-Datei ist nur Text — das Etikett existiert erst, wenn etwas es zeichnet. Drei praktische Wege, ein ZPL-Etikett vor dem Drucker zu sehen.

Eigenen ZPL-Code testen →