Auto-Print Shopify Inventory Transfer Receipts (The Missing Manual)

You moved 80 SKUs from the warehouse to the retail store. Shopify created an inventory transfer. The boxes arrive. Now somebody has to figure out what's in them.
The native answer is: print a transfer report from Shopify admin. The realistic answer is: somebody at the retail store opens Shopify, finds the transfer, hits print, and walks the paper to the receiving table.
Or you skip all that — and the receipt is already at the receiving table when the boxes arrive.
This is the post-launch reality of running multi-location commerce on Shopify, and almost nobody talks about it.
Table of Contents
- Why this is annoying
- What "auto-print" actually means here
- The connector-app pattern
- Setup, end to end
- What the receipt looks like
- Multi-location, multi-printer
- Cost
- TL;DR
Why this is annoying
Shopify's inventory transfer flow is pretty good for the creation side. You select products, choose a source and destination location, ship it. The product moves correctly in inventory.
The receiving side is where it breaks down:
- The destination location's staff don't get a printed packing list with the boxes — they have to log into Shopify and find the transfer themselves.
- If somebody at HQ forgets to print and ship the paperwork, it doesn't show up.
- There's no automatic "transfer arrived at Retail Store" → printer fires moment. Just a webhook nobody's listening to.
Net effect: somebody at the destination opens Shopify, hunts for the transfer, prints it manually, and starts receiving. It's three minutes per transfer that nobody bills back, and it scales linearly with how many transfers you ship.

What "auto-print" actually means here
"Auto-print" means: the moment a transfer is marked complete in Shopify (a webhook fires server-side), a receipt with line items, prices, and barcodes lands on the destination location's printer. Not the HQ printer. Not "wherever the dashboard happened to be open." The destination's printer.
To get there, you need three things connected:
- A Shopify app that listens for the
inventory_transfers/completewebhook and knows which location each transfer is headed to. - A render step that turns the webhook payload (which only has top-level transfer metadata) into a PDF — line items have to be fetched separately from Shopify Admin API.
- A local print step that drives the actual printer on a machine connected to it.
You could build all three yourself with Shopify webhooks + a server + a desktop daemon, but you'd spend a week on it and own the bugs forever. Or you install an app.

The connector-app pattern
AutoPrint ships as a connector app: the Shopify side is free to install, and the printing service (AutoPrintEmail) is a separate desktop download that runs on the PC at the receiving station.
The Shopify app is what merchants see in the App Store. It handles:
- OAuth, the webhook subscriptions (registered declaratively via Shopify's app config — Shopify reconciles them across versions)
- The embedded admin UI: live event log, per-location printer claim audit, settings toggles per event type, a Test print button on every location
- Workspace + billing pointers (the actual billing happens at autoprint.email)
The desktop app is what does the actual printing. It runs on the PC connected to the printer, polls our backend for ready jobs, and prints. No browser plugins. Works with thermal label printers (DYMO, Zebra, Brother) and regular laser/inkjet through the OS print pipeline.
This split exists because printers live on a physical machine on a network, and browser apps can't reach them directly. The Shopify side knows what to print; the desktop side knows how.

Setup, end to end
Fastest path:
- Install AutoPrint from the Shopify App Store. One click, four read-only scopes, free.
- In Shopify admin → Apps → AutoPrint, you land on the unclaimed home view. Three download cards (Windows / macOS / Linux). Click the one for your receiving machine.
- Run the desktop installer, open AutoPrintEmail, type any email. A magic link arrives in seconds. Click it, you're signed in.
- In the desktop, click the Shopify card. It opens a second Shopify OAuth approve back to your store. The shop is now "claimed" — your AutoPrintEmail workspace owns the Shopify connection.
- Pick a printer for each location in the wizard. "Retail Store" → "Brother QL-1110NWBc"; "Warehouse" → "HP LaserJet". Save.
- Open Shopify admin → AutoPrint → Settings, toggle "Inventory transfers complete" on.
That's it. From now on every transfer marked complete in Shopify auto-prints at the destination location.
Before relying on it, hit the Test print button on each claimed location — a synthetic receipt fires end-to-end so you confirm the server → desktop → printer loop works on real hardware.

What the receipt looks like
A typical AutoPrint transfer receipt has:
- The transfer reference number and Shopify name
- The destination location
- A table of line items: product title, variant, SKU, barcode (rendered as a real scannable Code 128 / EAN-13 image), quantity, and unit price
- The source location and the date
It's designed for the receiving workflow: scan the barcode, count the quantity, tick it off. No marketing fluff.
If you have a thermal label printer (62mm continuous-roll Brother QL, for example), the layout adapts to the narrower paper width.

Multi-location, multi-printer
The thing most "Shopify print" apps get wrong is single-printer assumption. Real retailers have:
- A warehouse with one printer
- A retail store with another printer
- Sometimes two staff at the retail store, each at their own PC, and both want the receipt so the one who happens to be at the receiving table grabs it
AutoPrint handles all three. Each Shopify location is mapped to a specific printer at install time. When the webhook fires with a destination_location_id, only that location's printer prints — not every printer in the workspace.
For redundancy: if two staff at one site each install the desktop and claim the same location, the receipt fans out to both. Printer down? The other one grabs it.

Cost
- Shopify app: free to install
- Desktop service: 7-day Team trial, no card required to start. After trial, billed at the Team plan rate (per seat — one seat per PC running the desktop app)
- No monthly Shopify-side fee. The pricing is on the desktop side and standard connector-app pricing (free-on-Shopify, external charges from AutoPrintEmail)
Most setups need one or two seats: one PC at each receiving location.

TL;DR
Shopify fires a webhook when an inventory transfer completes, but doesn't print anything anywhere on its own. To get a real receipt at the destination location's printer the moment the transfer ships, you need a Shopify app that listens for the webhook and a desktop app that drives the printer. AutoPrint is that pair, with per-location routing built in.
🖨️ → Install AutoPrint on Shopify (free) and download the desktop app. Test print confirms the loop before your first real transfer.
Ready to get started?
Start printing your emails today.
Join thousands of users who have reduced their screen time while staying connected.