The order comes in, the paper comes out
An order lands in your shop. A packing slip comes out at the packing table and an address label next to it — without anyone opening a screen, and without a print dialog.
Try it
Fill in an order and send it through, the way your shop would.
Nothing in the order yet
What went over the wire
Two calls, and the order number as the key.
Send an order through and it shows up here.
The webhook that fires twice
Shop platforms resend a webhook when the answer does not come back in time. That is a feature, and it is also how you get two labels on one box. Send the order number as an idempotency key and the second delivery returns the first answer — no second label. There is also an inbound address, so a shop that cannot be changed can post its own JSON straight to us.
What you need
A label printer at the packing table
A DYMO LabelWriter for the address labels, and an ESC/POS printer if the packing slip goes in the box.
One bridge
Two USB printers per bridge, so the packing table needs one.
Your shop
Shopify, WooCommerce, Lightspeed, your own build. Anything that can send a webhook can print here.
Questions from the packing table
Can I print a whole batch at once?
Yes. One call with all the rows, and the counter on the label keeps running across the batch.
Our shop cannot be changed. Now what?
Give it an inbound address. You paste our address into its webhook field and say which of their fields belongs to which of yours. Nobody writes code on their side.
How do I know it actually printed?
A webhook back when the job is done or failed, with the printer and the job number in it.
Does the carrier label work too?
If your carrier gives you the data, yes. If they give you a ready-made PDF or ZPL, that is a different kind of file — ask us.
On your own printer
Make an account, plug a bridge into a printer you already have, and the same call prints on paper.