Set up a barcode inventory system: scan, claim, reconcile

Set up barcode scanning for receiving and fulfilment: stations claim work without collisions, and a pasted manifest reports missing vs unexpected stock.

Receiving is where stock records start drifting. A lorry arrives, someone ticks a printed list with a pen, the cartons go to the rack, and a fortnight later the shelf count and the system count disagree with nobody able to say which delivery split them. This guide builds an inbound receiving line in AxisIQ end to end using Work Queues: stages that match your floor, the supplier's manifest seeded as expected arrivals, a scan station your goods-in team beeps into, and a report naming what never turned up and what arrived unannounced.

By the end you will have a queue running expected → received → putaway, a station anyone can open on a laptop with a scanner plugged in, stage rules that refuse the moves you do not want, a label produced when a carton lands, and dwell times you can query. Budget half an hour for the first queue; the second takes five minutes.

What you need

  • A workspace with your data in it. If you have not set one up, start here. A receiving line works before your purchase orders live in AxisIQ; the record update in step 2 just needs somewhere to write.
  • A scanner that types. USB and Bluetooth guns introduce themselves as keyboards: they type the code and press Enter. That is the entire integration.
  • A device at the goods-in door. Any laptop or tablet with a browser — the station is a web page, so it has to be online.
  • The manifest as a list of keys, one per line. Carton barcodes, serials, SKUs, consignment numbers — whatever is printed on the thing that arrives. A key is just text, so a supplier's spreadsheet column will do.

Step 1 — Model the floor as stages

Name the stages after moments that exist in the building, not after statuses you wish you tracked. For receiving, three usually does it: expected, received, putaway.

The first stage is where the manifest lands — everything you are still waiting for. The last stage is terminal: an item reaching it is closed, leaves the board, and releases its key, which matters when barcodes are reusable — the same tote can be booked in again on next week's delivery under the same code.

If a stage is not somewhere a carton physically waits, it is probably a field on a record.

Step 2 — Decide what each stage refuses

A stage is a gate, not just a column. Three rules are worth setting before anyone scans:

  • Which stages it accepts arrivals from. Leave it open for most pipelines; set it on putaway if a carton must never skip the receiving check.
  • A cap on open items. Cap putaway at what the racking team can absorb, and moves into it are refused until something leaves. Seeding the manifest is exempt from the cap: boxes still on the lorry are not work in progress.
  • A record update that must succeed first. Attach an update to received — set the shipment's status, stamp the arrival date — and it runs before the item moves, under the permissions of whoever scanned it. Nobody can beep a carton past a record they are not allowed to touch — if the update is refused, so is the move.

Step 3 — Seed the supplier's manifest

Paste the keys in as a batch, up to 500 per paste, named for something you will recognise later — a purchase order number and a date. For a bigger delivery, paste in blocks under the same name.

Pasting the same list twice is safe: items are keyed on the code, so a repeat of something already open is ignored rather than doubled.

Step 4 — Beep the shipment in

Open the scan station, pick the stage arrivals land in, and start scanning. Every beep gets an answer back, and that answer is the whole interface:

  • moved — the key was on the manifest and the item has advanced. The ordinary case.
  • created — the key was not on the manifest, and this queue opens an item for codes it has not seen. The carton goes on the board flagged as unexpected.
  • duplicate — the item is already there. A double-beep changes nothing.
  • unknown — not on the manifest, and this queue rejects unfamiliar codes. Choose it when the manifest is the authority and a stray box should stop someone.
  • blocked — a stage rule said no: wrong previous stage, cap reached, or the record update failed. The reply names which.

Failures answer too: someone holding a box needs a beep and a word, not an error to interpret.

Step 5 — Reconcile the delivery: missing and unexpected

When the lorry has gone, open the batch report. Two lists matter:

  • Missing — everything still sitting in expected: on the manifest, never arrived. That is your short-shipment claim, written for you.
  • Unexpected — everything a scan had to invent because it was not on the list: mis-picks, substitutions, boxes belonging to someone else's order.

Nobody kept a checklist beside the board, because the board was the checklist — the manifest is the queue, and reconciliation is not a second thing to set up.

Step 6 — Let the pick line pull, instead of assigning work

Once stock is on the racks, the same mechanics run outbound. Nobody types up worklists: a packing station pulls the next item and holds it under a lease, and because the pull is settled in one atomic step, two stations pulling in the same second come away with different cartons. Abandon a task — a crash, a shift ending — and the lease runs out and the carton returns to the pool.

Step 7 — Produce the putaway label without leaving the line

A stage can fire one of your functions the moment an item lands in it, off to one side of the scan so the line never waits on it, and under the identity of whoever moved the item — it can do nothing that person could not do by hand. The obvious one here: render a putaway label from a document template carrying the carton key, the rack location and the batch. If the function errors, the error is recorded and the carton stays where the scan put it.

Be clear about the boundary. AxisIQ does not drive label printers. It produces the PDF; getting it onto a label roll is the browser's print dialog or whatever the station already prints through. For a thermal printer, set the template's page size to the label and print without margins.

Step 8 — Give the goods-in station its own limits

Permissions are set per queue, and adding work is a separate right from advancing it — the split that makes an unattended station safe. A goods-in group may scan and add but cannot move anything into putaway or close it out; supervisors get the advancing right. Whoever signs in at the door — a person, or a key issued to the station itself — gets exactly that. Set it in Team & Permissions.

Step 9 — Ask what the line is actually doing

Every move is recorded as an event, permanently, including the ones that went backwards. In Analytics, queue items and their events are ordinary tables you can query with SQL or ask for in plain English: cartons received per hour by person, the average gap between received and putaway, missing counts by supplier over a quarter. Reading them is a workspace-wide permission, not a per-queue one — grant it to the people who report on the floor rather than those who work it.

Variations on the same shape

  • Stock take. Seed the expected shelf list and scan what is actually on the racks. Missing is shrinkage or misplacement; unexpected is stock sitting where it should not be.
  • Outbound verification. Seed the pick list for a consignment and scan at the van door; nothing leaves until the report is clean.
  • Records that enqueue themselves. Set an intake rule and any record matching it joins the queue the moment it is saved — a confirmed purchase order reaches the receiving board with nobody pasting anything.

The honest limits

Scanners that type keystrokes are the assumption throughout: there is no camera-scanning phone app, so a handset needs a paired gun to be a station. Label printers are not driven directly — a function renders a PDF, and printing stays with the station. And the station is online-only: it does not hold scans through a dead connection and sync them later.

A queue is also not the right tool for every list: where you only need to see records matching a filter, record search answers that already. A queue starts paying when the movement itself has to be controlled, proved or measured. Full mechanics: Work Queues.

FAQ

Can I scan a carton before the purchase order exists in AxisIQ? Yes. An item can exist with no record behind it, so a barcode can enter the floor before anything is filed — the key on the box is enough. The record link is set when the item is created, by hand or by the rule that files records onto the board; a scanned-in carton stands on its own key.

Do I need a special scanner or a mobile app? No app. Any USB or Bluetooth scanner that behaves as a keyboard works, because the station is a web page the gun types into. Camera scanning from a phone is not offered.

What happens if someone scans the same box twice? The second beep answers duplicate and nothing changes, because adding an item is keyed on the item key. Double-beeping cannot double-count a delivery.

How do I find out what did not arrive? Seed the manifest as a batch, scan the arrivals, then read the report: anything still in the first stage never turned up, and anything a scan had to create was not on your list.

Can two packing stations pull from the same queue? Yes. That is what claiming is for: each pull leases one item, and two requests landing together are settled one after the other, so they take different work. A station that dies mid-task loses its lease by expiry and the carton becomes claimable again.