## TL;DR
Tag every device with a unique asset tag at receipt, record it against the user in the inventory system with a lifecycle state (in stock, deployed, in repair, retired), and audit quarterly. The process fails when tagging is optional, so make it part of receiving, not a separate step.

## The error
```text
(Process task; no error.)
```

## Steps
1. Define the tag format: unique, scannable, durable (e.g. AST-000123). Expected: standard documented. Apply the physical tag at receiving before the device enters stock.
2. Record in the inventory system: tag, serial, model, purchase date, warranty end, assigned user, state. Expected: complete record. The serial alone is not enough; the tag is the human key.
3. Use lifecycle states and enforce transitions: in stock > deployed > in repair > retired. Expected: every device has a current state. Devices with no state are invisible.
4. Tie inventory updates to existing workflows: provisioning assigns, offboarding unassigns, shipping sets in-transit. Expected: updates happen automatically as part of those tickets.
5. Audit quarterly: spot-check 10 percent of deployed devices against the records. Expected: 95 percent+ match. Fix the process where mismatches cluster.

## When to use
- Setting up asset tracking
- Preparing for audits or insurance renewals

## When not to use
- Software license tracking (separate system)
- One-off device lookups

## Compatibility
- Any inventory system (Snipe-IT, ServiceNow HAM, Lansweeper)

## Variants
### No inventory system yet
A spreadsheet with the fields above beats nothing; migrate when volume justifies it.
### High device counts
Barcode scanners and receiving checklists pay for themselves quickly.

## Why it happens
Untracked devices get lost, get kept by ex-employees, and miss warranty claims. The tag is cheap; the process discipline is the actual product.

## Edge cases
- Retired devices: wipe, record destruction or disposal, and close the record; do not just delete it.
- Loaners need the same tracking as assigned devices.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_OzDqr1wWbv2Jd7nn3oJQgA
