Right label, right printer, nobody deciding.
Zebra label printing for Acumatica warehouses.
A five-step printer resolution chain, one template rendering both ZPL and PDF, and a stored PrintJob record for every label that ever fired.
Labels fail in three boring ways.
The worker prints to the wrong printer because a dropdown defaulted to the office. Somebody forgets to print at all and the pallet moves unlabelled.
And six months later a customer asks for a copy of what was on the box, the template has changed twice since, and nobody can reproduce it.
Illustrative only. Three unrelated triggers — a putaway, a packed carton, a replenishment move — each resolve their own printer and fire their own event. A reprint months later pulls the exact template version that was live when the original printed, not whatever the template looks like today.
Every trigger is a named event.
Print event registry
Every module registers named print events in code — product scanned, LP created, session complete, pack complete, ship complete. Each is a discrete trigger.
Per-event configuration
Each event independently sets which template fires, which printer receives it, whether it is automatic or manual, and how many copies. Receiving can auto-print LP labels while shipping stays manual — without touching code.
Batch jobs from the portal
Bin labels for a whole zone, LP labels for a full receiving session, product labels for a restock run. Queued through Celery and tracked to completion.
Nobody picks from a dropdown.
-
Explicit override
A printer named on the job itself wins.
-
The user's default printer
Set on the person, not the device.
-
Portal profile printer
The printer on the active portal profile.
-
The print event's assigned printer
Whatever the event configuration nominates.
-
Workstation default
The printer attached to where the worker is standing.
Five-step resolution chain. Explicit override → the user's default printer → portal profile printer → the print event's assigned printer → workstation default. WMSi works down the chain and fires the right one. Nobody picks from a dropdown.
Workstation-based printing. Printers are assigned to workstations, so a worker at the receiving dock, the pack bench or the ship station prints locally with no setting at the scanner.
One template. Two render targets.
Dual render engine
One template JSON produces ZPL for live Zebra printing via PrintNode and PDF for browser preview and audit copies. What the designer showed is what the printer prints.
Design a label yourselfCarrier labels bypass rendering
Shipping labels arrive as raw ZPL from ShipEngine or EasyPost and dispatch through the same pipeline untouched — the carrier owns that format.
Where carrier labels are boughtZebra label printers are recommended, and any PrintNode-compatible printer is supported. A customer-owned PrintNode account is required; pricing is at printnode.com. If a printer goes offline mid-workflow, print jobs queue in PrintNode and deliver when it comes back online.
Six months later, it reproduces exactly.
- Template snapshot at print time Every PrintJob stores the full template as it existed at the moment of printing — not a pointer to today's version. Why that matters for an audit.
- Print job audit log Every label, automatic or manual, writes a record with template, data payload, printer, status, PrintNode job ID and who triggered it. Filterable by date, module, template and printer.
- Reprint from history Any job can be reprinted from the portal, using either the original snapshot or the current template — the manager chooses which, because compliance and operations want different answers.
One action, the label and the document.
Print events fire off the same warehouse workflows that post to Acumatica, so the label and the ERP document come from one action rather than two. A receiving session that closes posts an Inventory Receipt and fires its LP labels from the same event. Nothing is printed from a spreadsheet exported out of the ERP.
See the integration architecture and the receiving workflow those events hang off.
Twenty minutes, PrintNode on a real Zebra.
Live print event configuration and ZPL rendering. No slides. We sell through Acumatica VARs — tell us how your floor runs and we will introduce you to the right partner.