Label Printing Module

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.

Five-step Printer resolution chain
ZPL + PDF One template, two render targets
Every job Recorded, auditable, reprintable
The problem

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.

When it prints

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.

Where print events are configured

Where it prints

Nobody picks from a dropdown.

  1. Explicit override

    A printer named on the job itself wins.

  2. The user's default printer

    Set on the person, not the device.

  3. Portal profile printer

    The printer on the active portal profile.

  4. The print event's assigned printer

    Whatever the event configuration nominates.

  5. 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.

What it renders

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 yourself

Carrier 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 bought
Dependencies a procurement review will ask about

Zebra 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.

What it recorded

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.
In Acumatica

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.

Get started

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.

Request a demo For warehouse and finance teams
Design a label yourself The drag-and-drop designer