Manufacturing WIP Tracking Playbook
Part of: Use-Case Playbooks — four end-to-end plans for the most common Tagnet deployments
This playbook sets up work-in-progress (WIP) tracking on a production floor: tagged jobs, assemblies, or totes that move between stations, get tested, sometimes get reworked, and finally ship. Readers at each station tell Tagnet where every unit is, so nobody scans a clipboard or keys in a move.
The outcome of WIP tracking
When this deployment works you have:
- A current location for every tagged unit. The reader that sees a unit places it at its own station. The unit's page shows where it is and how long ago it moved there.
- A history of every station a unit visited. The item's Location history tab lists each location with the time spent there, and each location's page shows the average time inventory has been there. Long dwell at one station is a bottleneck you can see.
- Live counts by station and by line. Group the Inventory list By location, or open a station's inventory slice for its level and movement charts. See Inventory.
- A clean hand-off at shipping. A unit read at the shipping dock is closed out of inventory with a Ship transaction, and your ERP or MES can be told about it automatically.
- A warning when a reader goes quiet. A dead station reader means missing moves, so Tagnet alerts you.
What it does not do: Tagnet reports where units are. Your MES keeps the routing, work orders, and scheduling. Tagnet moves a unit when a reader next sees it, and does not infer that a unit left a station because its tag stopped being read.
How to model WIP tracking
Modeling decisions at a glance
| Decision | Recommendation | Why |
|---|---|---|
| Item types | One type per kind of thing: Component or Product for discrete WIP units, Material for bulk raw material | Starter types with these names ship with Tagnet. The type decides quantity tracking and how identifiers are made |
| Track quantity | Off for discrete units. On for raw-material containers (reels, drums, bins), tagged one per container | A discrete unit counts as 1. Quantity tracking suits things you measure |
| Locations | Plant, then line, then station. Stations are leaves that allow inventory; plants and lines are containers that do not | Reader read points and Move Inventory targets must allow inventory |
| Instance ID | Supplied when your MES owns work order or serial numbers; Instance Dated when lot and date traceability matter | See Instance ID Strategy |
| Tag ID | Tag Partitioned with a partition code per category | Scope and category are readable from the tag itself |
| Custom fields | Work order, lot number, production date, quality grade, rework count | Carry the production facts the station readers cannot see |
Locations
Mirror the floor the way operators talk about it. The location guide lists the manufacturing shape as Plant, Production Line, Work Cell, Station. A common tree:
Plant 1 (Site, Inventory: Not Allowed)
Raw Material Store (Storage Area)
Line 1 (Area, Inventory: Not Allowed)
Station 10 Cut
Station 20 Assemble
Station 30 Test
Rework
Finished Goods (Storage Area)
Shipping Dock (Dock)
Give each station a Code that matches its identifier in your MES (for example L1-ST20). Codes are unique within a site and let your integrations find a location without Tagnet's internal IDs. Several plants usually means one site scope per plant, so each plant's users, readers, and inventory stay together. See Locations for codes, depth limits, and bulk building with Quick Import.
Instance IDs and tag IDs
How identifiers are made is set on the item type. See Sequence Generators for every scheme.
- Instance ID. If your MES already issues a work order, job, or serial number, use the Supplied strategy and send that value when you commission the unit. If you want Tagnet to number units and need batch traceability, use Instance Dated (a date, a sequence, and a check digit). The generator guide recommends it for manufacturing batches.
- Tag ID. Use Tag Partitioned with a distinct partition code per category. The guide's own example is
0001raw materials,0002work in progress,0003finished goods, and0004equipment. The partition is written into the EPC when the tag is made, so choose it for what the tagged thing is, not for where it is in the process. A unit keeps its tag as it moves from WIP to finished goods. - Several plants. Leave the generator selection on Scope default and give each plant's default generator a distinct prefix or partition code, so no two plants ever mint the same value. This pattern is in Shared Catalog with Scope Default. Creating generators inside a site scope requires the Scoping > Site Catalog policy (see Policies).
Units are usually tagged at the start of the line. Your MES or print station commissions them through the API, which creates the instance, maps the tag, optionally places the unit at its first station, and returns the finished row to print and apply. See Integrating Tagnet with Your Systems and the Commissioning Log.
Custom fields
Define these on the Custom Fields page. Put a value on the Inventory level when it differs per unit and on the Item level when it is the same for every unit of a product. See Custom Fields.
| Field | Level | Type | Notes |
|---|---|---|---|
| Work order | Inventory | String | Mark Indexed and Global Search so people can paste it into search |
| Lot number | Inventory | String | Indexed |
| Production date | Inventory | Date | Indexed, for date-range filters |
| Quality grade | Inventory | Select | For example A, B, Hold |
| Rework count | Inventory | Number | Incremented by a workflow (see below) |
| Drawing revision | Item | String | Shared by every unit of the product |
Reader placement for WIP tracking
Match each place a tag passes to a pattern in Reader Setup Recipes, then set the reader's read point.
| Where | Recipe | Read point | Processing |
|---|---|---|---|
| Operator station or test bench | Workstation or verification point | The station location (a place) | Immediate for scan-and-go, or Single Tag Passage with a 2 second quiet period when units dwell |
| Belt or tunnel between stations | Conveyor or tunnel | The station the belt feeds | Single Tag Passage, 2 second quiet period |
| Receiving and shipping docks | Dock door with a trigger | The dock location (a place) | Multi Tag Passage, 10 second quiet period |
| Forklift or cart gate between buildings | Drive-through portal | The building (a threshold) | Multi Tag Passage |
| Kitting cabinet or tool crib | Cabinet or shelf, triggered audit | The cabinet location (a place) | Multi Tag Passage |
Some rules that save rework:
- Keep the read zone to the station. A bench reader that also reads the next bench moves units to the wrong place. Lower transmit power first, then raise the RSSI filter on an FX9600 or FXR90, as the workstation recipe describes.
- One reader per bench, one location per reader. A bank of workstations on a single reader cannot be told apart. Give each station its own reader and set its own read point.
- Group readers that cover one place. Two readers on one dock door belong in one device group, so the group's window is one pass and the cooldown is shared.
- Create device types for roles. Add types such as Assembly Station and Conveyor Reader on the Types tab of Devices (starter types include Dock Door and Inspection Station). A workflow can then address "all stations" with one condition.
- Set the read point on every reader or its group. A reader with no read point location is skipped by the Read point's location target, and the execution says so.
Workflows and alerts for WIP tracking
Build workflows last, once locations, item types, and readers exist. See Workflows for the editor and Move Inventory for every target.
Workflow 1: move each unit to the station that read it
One shared workflow serves every station, because each reader supplies its own location.
| Part | Setting |
|---|---|
| FROM | a device where Device type is one of Assembly Station, Conveyor Reader, Inspection Station |
| FOR | every tag in the event |
| Action 1, Move Inventory | Target: Read point's location. Transaction type: Move |
An item already at the station is left alone, so a unit resting on a bench does not generate a new transaction every time it is read.
To count rework, add a second action to the same workflow, Update Custom Fields, that increments Rework count. Give it an action FOR clause with two rows: Movement result is Moved, and Location is Rework. The first row makes it fire only when the unit actually arrived in Rework on this read, not on every later read of a unit already sitting there. See Movement Result Fields.
Workflow 2: ship from the dock and tell your ERP
| Part | Setting |
|---|---|
| FROM | a device where Device group is Shipping Dock |
| Action 1, Move Inventory | Target: Remove from inventory. Transaction type: Ship, which is a close-out type, so the unit becomes Closed |
| Action 2, HTTP Integration (durable) | Pick your ERP or MES endpoint. Give it one tag condition: Transaction type code is SHIP |
The durable action hands the request to the Integration Outbox, which retries for hours if your system is down, so a maintenance window never loses a shipment. Set up the connection profile and endpoint first; see Sending data out of Tagnet.
Workflow 3 (optional): flag units on quality hold
Add a Notification action to Workflow 1, after the move, with action tag conditions Quality grade is Hold and Movement result is Moved. Target your quality supervisors by user or scope. The notice then goes out once, when a held unit shows up at a station, not on every read.
Catching tags nobody commissioned
If units are commissioned from your MES, an unmapped tag at the first station is a gap worth seeing. Add a Map Unmapped Tags action with Defer Mapping at the first station. Unknown tags then queue in Pending Mappings for review. This path maps only to items whose instance IDs are generated automatically, so it does not fit a line that supplies work orders as instance IDs. In that case, use the commissioning API instead.
Alerts
- Reader offline is Critical and reaches administrators with no setup. To reach a line supervisor, add a rule for the Devices category in Alert Routing that points at a notification group of supervisors.
- Antenna disconnected is a Warning, raised for Zebra FX readers, and notifies nobody until a rule covers the Devices category. At a station with one antenna, a loose cable silently drops every read there, so route it.
- Thresholds are on the Alerting / Devices policy. See Alerts.
What to check in the first week of WIP tracking
- Day one: walk one unit through every station. Open its Location history tab and confirm each station appears in order. Use Live Reads at the station to see the read arrive.
- Open the scan events from each station. Check that each pass is one event, and that Closed by says Quiet Period. Max Duration means a pass was cut short. If a station reports tags from the next station, reduce power or raise the RSSI filter.
- Review workflow runs. On Workflows, open Runs filtered to Workflow 1. Investigate any NoMatchingTags result and any skipped Move Inventory row. A skip that names a missing read point means a reader or group has no location. See Workflow Executions.
- Compare Tagnet to the floor. At end of shift, count a few stations by hand and compare with Inventory grouped By location.
- Find stuck units. Look for units in the New lifecycle state (created but never placed) and for stations whose average time here is longer than your cycle time.
- Confirm the shipping hand-off. Filter Inventory by the Closed lifecycle state to see shipped units, and open the Outbox tab of Integrations to confirm the deliveries were sent.
- Test the alert. Unplug a non-critical reader and confirm the right people are told once it passes the offline threshold (10 minutes by default).
- Keep raw reads for tuning. Raw tag reads are kept for seven days by default. Raise that retention in Policies for the tuning period if you want to look further back.