How to set up scan to pack for your online store
A plain guide, with or without software.
Scan to pack means checking each item against its order before you close the box, and GoatLabels offers it on the Pro plan only. Choose one barcode per product, print any that are missing, test a keyboard-style scanner, and follow one routine.
Verify each order before you close the box
On the Pro plan, the Pack tab takes a scan of the packing slip, then a scan of each item, from a USB or Bluetooth scanner that works as a keyboard.
Stock moves at the label, never at the bench
Packing records what was scanned. Stock only moves when the label is bought, and only for a SKU that matches a tracked product.
When does scan to pack pay off, and when does it not?
Scan to pack pays off when a wrong pick is easy to make and hard to see: many look-alike items, many variants of one product, more than one packer, or orders with several lines. It does not pay off for a seller with a handful of products and one packer who knows every item by sight, because a printed pick list and a careful look can do the job at no extra cost.
Look at your last month of problems. If wrong items and wrong variants are a real share of your complaints and returns, scanning attacks the cause. If your problems are late carriers or damaged boxes, it will not help. This page quotes no error rate, because the right figure is your own count of wrong packs, and the tracking section below shows how to keep it.
Outside facts, checked
- GS1 US defines a GTIN as "a GS1 identification key used to identify a trade item", and calls the GTIN-12 synonymous with UPC. The number is the data, and the barcode is the symbol that carries it (GS1 US, What is a GTIN).
- Shopify lets you attach up to 20 barcodes to one variant, any of which identifies the product, with types UPC, EAN, ISBN, GTIN and ASIN, plus a Custom type for internal codes. Sales channels still read only the first barcode (Shopify changelog, September 8, 2026).
Checked
Should you scan the GTIN or your own SKU barcode?
Scan whichever code is already unique per sellable item. A manufacturer GTIN is the better pick when the product arrives with one, because you print nothing. Your own SKU barcode fits when there is no GTIN. The important rule is that the code your packer scans must match what your tool holds for that order line, otherwise the scan finds nothing.
| Code to scan | Fits | Watch for |
|---|---|---|
| Manufacturer GTIN (UPC or EAN) already on the product | Resale stock, books, branded goods and anything you buy in with a printed code. | Two variants must not share one code. Check that your product record lists the same number your packer will scan. |
| Your own SKU printed as a barcode | Handmade goods, private label, kits you assemble and anything with no GTIN. | Keep the SKU text identical everywhere, including capital letters, in your store, your stock list and your labels. |
Checked 2026-11-05: GTIN meaning from GS1 US. The comparison is a working method.
Do not reuse a code across two products, and do not recycle the code of a product you stopped selling. A scan has to point at one item.
How do you print barcodes for products that have none?
Make your SKU the barcode. Pick one clear SKU per product and variant, with no spaces, and print it with a label printer or a plain sheet of adhesive labels. Ask your label software for a Code 128 barcode, which carries letters and digits, and print the SKU as text under the bars so a person can read it. Then put the label where a packer can scan it without unboxing, such as the outside of the bag or the product's shelf bin.
- List every sellable item with one SKU each. Fix duplicates and typos first.
- Decide a case rule and keep it, for example all capitals, and use it in your store, your stock list and your labels.
- Print a test sheet of five labels and scan each one before you print the rest.
- Stick one label per unit, or one per bin if every unit in the bin is identical.
- Add the code to the product record your packing tool reads, so the scan and the order line agree.
GoatLabels does not print stick-on labels for your products, so use your own label tool for this step. It does print barcodes on two documents. On the Pro plan, turn on Show barcode under Settings, then Packing (it is off by default), and the packing slip carries an order barcode plus one under each line, using the GTIN, or the SKU when there is no GTIN. The pick list PDF prints the same per-line code. A line with neither has no barcode. These are Code 39 barcodes, which hold only capital letters, digits, hyphens, periods and spaces, so a SKU with an underscore or a slash prints without that character and its scan will not match. A code scanned from the slip counts the line without proving the item in your hand is the right one.
Which scanner works, and how do you test one?
Use a scanner that behaves like a keyboard. It types the code into whatever field has focus, then usually presses Enter. Many USB models work this way out of the box, and many Bluetooth models offer a keyboard mode you switch on by scanning a setup barcode from the manual. A scanner that needs a driver, or one that only works inside its own app, will not do for a browser-based tool.
Test any scanner in five checks before it goes to the packing bench:
- Open a blank text editor and click inside it.
- Scan one of your product labels, then any barcode you will scan from a printed slip. Each code should appear as typed text.
- Check whether Enter follows the code. A new line after each scan means it does.
- Scan a label with a lowercase letter and compare. If the case changes, set the scanner to pass characters through unchanged.
- Scan a damaged or small label and a long SKU, to find the limits of your printing before packing day.
If nothing appears, the scanner is probably in a serial mode instead of keyboard mode, so check the manual for the keyboard setup barcode. If extra characters appear before or after the code, a prefix or suffix is set that your tool does not need.
What is the packing routine, step by step?
Write the routine down, tape it to the bench, and make every packer follow the same order.
- Pick the order and bring the items and the packing slip to the bench.
- Scan the packing slip, or type the order number, to open the order and see its lines.
- Scan each item once per unit, because two units on the order need two scans. Watch the count for each line rise toward the ordered quantity.
- If a scan is rejected or the count is wrong, stop and use the exceptions below.
- When every line is complete, pack the box, add the slip, and seal it.
- Buy and print the label last, so a box is never labelled before it is checked.
How do you handle a missing barcode, a short count or a substitute?
Plan for exceptions before they happen, because a busy day can produce all of them. Make each exception visible, because a hidden fix removes the data you need.
| Situation | What to do | What to record |
|---|---|---|
| The item has no barcode, or it will not scan | Check the item against the order line by eye, confirm the line by hand, and note the product so it gets a label. | Count how often it happens per product. |
| A scan beeps as unknown | Stop. The code is not on this order. Look for a wrong item, a wrong variant or a code that was never added to the product. | Note the code and the order. An unknown code is either a picking error or a product record to fix. |
| The count is short | Do not close the box. Check the shelf once, then either wait for the item or ship what you have and accept the line as short. | Write the reason: no stock, miscount or damaged. |
| You want to send a substitute | Decide before you scan. If the customer agreed, put the substitute on the order first so the code on the shelf matches a line. | Keep the original and the replacement SKU in your notes so the stock count can be corrected later. |
Checked 2026-11-05. A method for any tool; the GoatLabels behavior is described below.
What should you track after you start scanning?
Track four counts per week and keep them in a sheet: orders packed, orders with any hand-confirmed line, orders packed short, and unknown-code scans. Divide the other three by orders packed to get your own rates. After a month you can see whether wrong packs are falling, which products cause most of the exceptions, and which packer needs a better routine.
- Hand-confirmed lines by product: a product that is often confirmed by hand has a bad or missing barcode. Reprint it.
- Short counts by product: a pattern usually means a wrong stock count or a shelf that is hard to pick from.
- Complaints about wrong or missing items: compare them with your scan records to see whether the box was scanned at all.
How does GoatLabels handle scan to pack?
On the Pro plan, the Pack tab in the Operations hub works the way the routine above does: you scan the packing slip, then each item, with a USB or Bluetooth scanner that works as a keyboard. It matches the code to an order line by GTIN first, then by SKU. A barcode in your store does not import, so put each GTIN on the product in your Products list. An unknown code is flagged and an over-count is blocked. When every line is verified and the order has a rate, you buy and print the label from the same screen. An order with no rate goes to Shipments first.
What GoatLabels does and does not do. A line you confirm by hand, or accept as short, counts as a mismatch, and you are told when an order was packed with a short count or an unknown barcode. Alerts go in the app and on Telegram by default (Telegram needs a linked chat), and email is off by default.
The limits: packing never moves stock, and stock moves when the label is bought, for a label line whose SKU matches a tracked product. Accepting a short count does not change the order, so the full ordered quantity still comes off stock at that point. There is no phone camera scanning and no native mobile app. Scanning is not enforced. The require-scan setting is off by default and is a guard on bulk buying in the interface, and single-unit orders are exempt. An item code under four characters does not register as a scan. Pack matches SKUs without regard to capital letters, while the stock ledger is case-sensitive, so an order can scan fine and still not move stock; keep your SKU capitalization consistent. The Operations hub is included on the Pro plan, $40 a month as checked , and Free accounts see an upgrade card. See GoatLabels plans and pricing.
Scan to pack: FAQ
- Do I need scan to pack if I sell a few products?
- Probably not. If you carry a small catalog, ship a handful of orders a day and your packers know the products by sight, a pick list and a careful look can do the job.
- Can I scan with my phone camera?
- Not in GoatLabels. The Pack tab works with a USB or Bluetooth scanner that behaves like a keyboard. There is no phone camera scanning and no native mobile app.
- Does GoatLabels force my packers to scan?
- No. The require-scan setting is off by default and is a guard on bulk buying in the interface, and single-unit orders are exempt. Treat scanning as a routine you set, because the software does not enforce it.
- Does packing an order reduce my stock count?
- No. Packing never moves stock. On the Pro plan, stock moves when the label is bought, and only for a label line whose SKU matches a tracked product.
- Why can an order scan fine and still not move stock?
- Pack matches SKUs without regard to capital letters, while the stock ledger is case-sensitive, so a SKU in different capitals on the order and the product can scan and still miss the ledger. Keep SKU capitalization the same in every place.
Related reading: how to make a pick list, the Operations hub, how to set low-stock alerts, how to calculate a reorder point, how to sync stock to Shopify and WooCommerce, how to run purchase orders for an online store, how to calculate shipping cost per SKU, how to ship your first order, GoatLabels plans and pricing.
Check every order
before the label is bought.
On the Pro plan, scan the packing slip and each item, and get told when an order was packed with a short count or an unknown barcode.
Scan to pack is included on the Pro plan, not on Free.