packing proof
Dashboard

Connect your ShipStation slip

Your operators scan a QR code off the packing slip. To print one, you paste a single block of code into a copy of your ShipStation template — about two minutes, and only ever done once.

Your current slip is never touched. You’ll work on a brand-new copy and switch to it only after you’ve tested it — so nothing changes for your packers until you say so, and you can switch back at any time.

Copy this block

Packing Proof QR code
<div style="text-align:center; margin:0 0 12px 0;">
  <img src="http://src.shipstation.com/220/220/https://your-station-url/qr%3Fdata=[Order #]" width="130" height="130" alt="Order [Order #]" />
  <div style="font-family:Arial,sans-serif; font-size:10px; letter-spacing:1px; margin-top:2px;">[Order #]</div>
</div>

This is already filled in with your station’s address. Paste it exactly as it is — don’t retype or tidy up the web address inside it.

Where to paste it

  1. In ShipStation, open Settings → Account → Templates → Packing Slips. On older accounts this is Account Settings → Templates → Packing Slips.
  2. Find the template you print today and click Copy — not Edit. Name the copy Packing Proof Slip.
  3. Open that copy, expand Order Header, and paste the block at the very top of the box.
  4. Click Preview. A QR square should appear at the top of the slip — then Save.
  5. Print one slip from the new template and scan it at the station.
    Scan the QR at the top of the slip. Some slips also print a “Scan to View” barcode at the bottom — that one holds a web address, not your order number, so scanning it would record the wrong thing.
  6. Once it scans, make Packing Proof Slip your default — or assign it to your stores. Changed your mind? Switch the default back at any time.
The QR square is blank or missing

Nearly always, the block was edited after it was copied. Delete it, press Copy above to grab a fresh one, and paste it without changing anything — particularly the web address inside it, which must be your station’s and not the ShipStation page you’re editing on.

The other cause is reachability. ShipStation builds your slips on its own servers and fetches the QR image from your station while it does, so your station has to be reachable from the internet — one that only answers inside your office network can’t be reached.

Open a test QR from your station ↗ — if you see a QR square there, your station is fine and the problem is the pasted block.

Why the code looks the way it does

ShipStation renders slips on its own servers and loads every picture through its own image service — the same way it loads your store logo. The block is already written to go through it, which is why the web address inside is longer than you’d expect.

Nothing in it needs changing, and the odd-looking %3F in the middle is deliberate — the QR comes out empty without it.

Why it goes at the top of the slip

The Order Header prints once, at the top of page 1, whether an order is one page or thirty — so your packer scans it the moment they pick the slip up.

The Order Footer prints after the last item instead. On a long order that buries the code on the final page, where someone has to go hunting for it.

QR at top
Why a QR code instead of a barcode

A QR reads at any angle — portrait, landscape, tilted, even upside-down — and copes with glare and distance, so packers never have to square the slip up against the camera. An ordinary barcode only reads when its bars line up, which is fragile at a busy bench.

Stuck in the template editor? ShipStation’s own guide Add Barcodes to Packing Slips walks through the same screens.