packing proof
Dashboard

Connect your ShipStation slip

Packing Proof reads the order number straight off a QR code on your ShipStation packing slip — no API keys, no account connection. Setup takes about two minutes: you’ll make a brand-new copy of your slip with a small QR code at the top, and switch to it only once you’ve tested it.

No account connection — the QR is generated by this station

Your current slip is never touched. You’ll make a brand-new template and only switch to it after you’ve tested it — so there’s no risk to your live packing workflow, and you can switch back anytime.

  1. Open your packing-slip templates

    In ShipStation, go to Settings → Account → Templates → Packing Slips (older accounts: Account Settings → Templates → Packing Slips).

  2. Copy your current template — don’t edit it

    Find the template you print today and click Copy (not Edit). A copy carries over your exact design; if you’ve never customized one, copy the Default. This makes a separate, brand-new template and leaves your original exactly as it is. Name the copy Packing Proof Slip.

  3. Add the QR code to the top of the new copy

    In the new copy, expand the Order Header section and paste this block at the very top of that box — before the first <table> line, so it sits above your logo and addresses:

    Packing Proof QR code
    <div style="text-align:center; margin:0 0 12px 0;">
      <img src="https://your-station-url/qr?data=[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>

    The station URL is filled in for you above. The line under the QR prints the order number as plain text — it lets you confirm the right value was encoded, and gives operators a typo-proof fallback if a scan ever fails.

  4. Preview, then Save

    Use Preview to confirm a QR square appears at the top. If you see a broken-image icon instead, your account may only load images through ShipStation’s proxy — wrap the URL as http://src.shipstation.com/220/220/<your-url> and Preview again. Then Save.

  5. Test it before switching

    Print one slip from the new template and scan it at the station. Your original is still the template ShipStation prints by default, so nothing in your live workflow changes yet.

  6. Switch over when you’re happy

    Set Packing Proof Slip as your default, or assign it to your store(s) / channel(s). Changed your mind? Switch the default back to your original at any time.

Why the top?

The Order Header prints once, at the top of page 1 — always, whether an order is one page or thirty. Put the QR there and your operator scans it the moment they pick up the slip. (Avoid the Order Footer: on a long, multi-page order it ends up buried on the last page.)

Good to know

Your station must be reachable on the internet. ShipStation fetches the QR image from this server when it renders a slip, so the URL in the snippet has to be a public address (your deployed https:// station URL) — not localhost. If the QR doesn’t appear in Preview, that’s almost always why.

Don’t rely on the default “Scan to View” barcode. It lives in the footer and encodes a URL, not the order number — scanning it would record the wrong value. The Order-Header QR above is the one operators scan.

Why QR? A QR reads at any angle — portrait, landscape, tilted, even upside-down — and tolerates glare and distance, so operators don’t have to square up the slip. The station decodes it with the camera’s native detector first, then bundled fallbacks.

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