Printing Pack Slips

I’m working through a use case wherein I want to include a pack slip containing a list of product #, batch/serial #, and qty for a shipment of parts corresponding to an order with various pick lines.

The application for this would be to provide a human-readable summary of the shipment with order information, so that the shipment can be reconciled by a non-Tulip-using recipient.

I was trying to do this with label stock but it seems Zebra won’t allow printing one record across several lables, so I’m looking for an alternative. If I have to get another printer anyway, I’m thinking I could just print to a standard printer (e.g. inkjet) on Letter size paper.

Has anyone had success with tihs? Looking for tips, best practices, suggestions, etc.


I suppose I should note, for “internal” customers with access to Tulip, we can print a label for the shipment (perhaps an extra inside the box) with a barcode that can load the shipment details within a Tulip app.

We also have barcoded labels on the pouch containing each device within the shipment, so reconciliation can be done quickly via barcode scan.

Its really for “external” users without access to Tulip who would need a physical pack list for order reconciliation.

Hey @jmlowden ,

if I’m understanding right, you just want to print a few duplicate labels with the same information - is that correct? If so, the ^PQx ZPL command will make the printer print x duplicate labels with the same message.

Alternatively, if you go for the inkjet method, you could do this (to print a single page - doesn’t really work for multiple)

  • make a step in your app that is 8.5x11 aspect ratio
  • populate the step with images, variables, whatever to make it look like your packing list
  • trigger >> print step

Really, all this does is print exactly what the current step looks like on the screen, but it gets the job done.
Does this help?

The print step option will work.

For the Zebra printer option, it wouldn’t be multiples of the same label, but rather spillover of the same report content across multiple labels (i.e. that we wouldn’t separate from each other or remove from the backing).

Previously Zebra support had been sketchy about how to accomplish this with ZCODE, but I know it must be a thing because when I command my printer to provide a Configuration Report it does exactly that - the question is whether it is actually spilling over onto the next label when it “sees” the label gap, or is it just printing separate labels whose content dovetail with each other to appear as one report:

If it ends up needing two pages to include all report content, would it work to configure a button to go to one page, print it on step enter, and then repeat with another page?

Not sure if it would work without a delay or a manual trigger for the second page…

Ahhhh, yeah yeah I understand now. From what I gather, the Zcode is completely agnostic to the actual dimensions of the label - if you try to print something at dot 500 on a label that’s only 400 dots wide, it’ll appear off the label. How you get the printer to turn for two labels, though, that I don’t really know.

It looks like ^XZ essentially functions like a page break so this might be involved…

Have you tried just using continuous label paper? Perhaps it would be easier to simply remove a dimensional variable altogether and just print “as tall as the content is”, using ^XA/XZ to separate between “stickers”

(I’ve drawn lines - zero-width boxes, technically - to indicate cut lines for an operator before as well)

((also, side note - that left-alignment issue that you’re displaying with the config label in your post can be fixed by using the Zebra Setup Utility - just make sure you plug in over USB when you’re doing this so you don’t “install” the printer over your DB9 port!))