How Do I Choose Barcode-Enabled WMS Workflows That Prevent Warehouse Inventory Errors?

Choose a WMS that requires a scan at each custody change: product and purchase order at receiving, product and destination bin at putaway, source-product-destination for transfers, and explicit completion before stock posts. It must validate barcode data against your product catalogue, separate lot-controlled inventory, and turn exceptions into visible tasks rather than silent quantity adjustments.
The useful buying question is not, “Does it have barcode scanning?” Most products can say yes. Ask instead: “What must an operator scan before this movement becomes inventory?” That question exposes the workflow, the controls, and the places phantom stock can enter.
How do I receive purchase-order items with a barcode scanner in a WMS?
Receive against the purchase order by scanning the product, validating it against the expected item, confirming the quantity and applicable traceability data, then posting only the quantity actually received. A scan that merely fills a field is not a receiving control; a scan that compares the code with the open PO is.
The September 2023 USAID GHSC-PSM AIDC SOP booklet identifies purchase-order receiving, putaway, internal location changes, shipments, and physical counts as core barcode-enabled warehouse functions. Its model also calls out the awkward real-world cases a system must handle: partial receipts, PO differences, incomplete product data, non-compliant product codes, and GTIN-to-SKU mapping differences.
Use this receiving script for the team: “Scan the PO or open the expected receipt. Scan the item. Check the item name and packaging level on screen. Enter or scan the received quantity. Stop on a mismatch.” That last instruction matters. A mismatch should create an exception for review, not become a convenient substitute item.
| Receiving condition | Scan or capture | System response to require |
|---|---|---|
| Standard item | PO, GTIN, quantity | Match scanned GTIN to expected SKU and packaging level |
| Lot-controlled item | GTIN, one lot, expiry, quantity | Keep each batch or lot and expiry combination in its own transaction |
| Serialized item | GTIN, serial number, quantity | Associate the individual serial with the identified product |
| Unexpected code or short delivery | Scanned code and actual quantity | Hold posting or flag an exception for an authorized decision |
Barcode vocabulary helps you test vendor claims. GS1 US defines GTIN as the trade-item identifier, AI 10 as a batch or lot number, and AI 21 as a serial number for an individual item. For a pallet or carton, SSCC uses AI 00. Ask the vendor to demonstrate these fields from a real scan, not just show that a camera can read a label.
One more check: 2D barcodes require image-based scanners, and the software must be enabled for the barcode types and data syntax in use, according to GS1 US. “We support 2D” is weak. “Show us the exact scanner, label, parsed fields, and posted transaction” is strong.

Should warehouse staff scan both the product and the bin location during putaway?
Yes. Staff should scan both the product and the destination bin during putaway because the product scan proves what is moving while the bin scan proves where it is being recorded. One without the other leaves a gap exactly where misplaced inventory becomes a later search problem.
The USAID process model is direct: validate the scanned GTIN against the SKU or part identifier, validate case quantity where configured, prompt for eaches when needed, send a suggested location, then scan the selected putaway location before posting the movement. Treat that sequence as the minimum viable control, not an optional extra click.
Build a “two-proof putaway” rule: the operator proves the item, then proves the location. The screen should show a suggested bin, but the operator must scan the bin actually used. If the scan is different, the WMS should either reject it or require an authorized reason. A suggestion is guidance; the location scan is evidence.
GS1 UK’s inventory-management guidance says each product movement should use the GTIN to capture the transaction and that systems must be able to hold physical-location GLNs, including sub-locations such as bins and shelves. It also recommends cross-referencing GTINs across relevant packaging levels. That matters when a case arrives at receiving but individual units are scanned later from storage.
Use more scan requirements only where they reduce a real error. Require lot and expiry scans for lot-controlled stock. Require serial scans where the business tracks individual items. Require quantity confirmation when one label represents a case or logistics unit. Do not force an operator to rescan data the barcode already carries and the WMS can parse. Extra steps that do not prove anything raise cognitive load and invite workarounds.
Keep master data clean, too. GS1 UK recommends validating GTINs against the product catalogue and carrying out annual barcode-data cleansing, including removing GTINs that are no longer relevant. This is not clerical polish. A pristine scanning workflow still fails if an old code points to the wrong active record.
How can barcode scanning prevent inventory discrepancies between two warehouses?
Prevent transfer discrepancies with a two-step workflow: scan the source location, scan the product, scan the destination or in-transit location, then require a separate receiving scan and validation at the other warehouse. The physical move and the inventory record must travel together, or the gap becomes phantom stock.
Odoo’s barcode documentation describes the multi-location sequence as source location, product, then destination location when the locations are not already set correctly on the transfer. It also makes validation an explicit final transaction. That is the operational pattern to require even if you choose another WMS.
Set up three statuses that staff can understand at a glance: ready to move, in transit, and received. The first warehouse should not mark stock available at the destination merely because a transfer label printed. The destination should not add stock merely because a carton arrived. It becomes available there only after the receiver scans and validates it.
For a lot- or serial-tracked transfer, preserve the same identity at both ends. Odoo notes that where identical lot or serial values can occur across products, the product barcode should be scanned first and the lot or serial barcode second. That ordering prevents a generic lot value from attaching itself to the wrong product record.
Evaluate exceptions before signing a contract. Ask the vendor to show what happens when the source bin is empty, a carton contains a different GTIN, a transfer is partly received, a scanner loses connection, or a destination bin is unavailable. Also ask which system is authoritative after an ERP or POS integration delay. This is the same inventory-discipline problem addressed in crosslisting software that keeps resale inventory from overselling: records must update from a trustworthy event, not from a hopeful assumption.
The practical finish is a short drill. Pick one receiving route, one putaway route, and one inter-warehouse transfer this week. Write every required scan in order. Then ask one question at each step: “What wrong inventory record can still post here?” Add a validation or exception path until the answer is clear.
Frequently Asked Questions
Why does our WMS scan the wrong item barcode?
Multiple barcodes on one package, incomplete product master data, and poorly maintained GTIN-to-SKU mappings can all produce the wrong match. Require the WMS to validate the scanned GTIN against the product catalogue, show the matched item before posting, and route an unexpected code to an exception task. FDA also recommends sufficient blank space around multiple package barcodes so scanners and users can identify the intended code correctly.
Do we need an in-transit location for barcode-scanned warehouse transfers?
Yes, use an in-transit location or equivalent pending-transfer status whenever stock leaves one warehouse before the other confirms receipt. The source scan should reduce available stock at the origin, while the destination scan and explicit validation complete the receiving transaction. This gives the team a visible place to investigate stock that has shipped but has not arrived.
Which barcode workflow features should a small warehouse require before buying WMS software?
Require barcode-to-product validation, configurable scans for locations, quantities, lots, serials, and packaging levels, plus exception handling for unknown codes and partial receipts. Also require offline behavior to be explained and demonstrated, clear transfer completion, and a tested integration path to the ERP or POS that owns inventory records. If the operation uses 2D barcodes, confirm that both the scanners and software can read the relevant symbologies and data syntax.
Sources
- USAID Global Health Supply Chain Program-Procurement and Supply Management: AIDC SOP Booklet
- GS1 UK: Inventory Management Systems Guidance
- GS1 US: 2D Barcode Overview for General Distribution
- U.S. Food and Drug Administration: Product Identifier Requirements Guidance
- Odoo Documentation: Internal Transfers with Barcode



