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.
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:
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.
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 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.
Druckt ein Etikett danach immer noch falsch, grenzt die Symptom-Triage die Ursache ein, ohne Material für Vermutungen zu verbrennen.
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 ansehenEine ZPL-Datei ist nur Text — das Etikett existiert erst, wenn etwas es zeichnet. Drei praktische Wege, ein ZPL-Etikett vor dem Drucker zu sehen.