Try an inventory workflow
Follow one product, Ceramic Mug, through a week at Bright Home Supplies. Use a training system. You need:
- a warehouse with three locations (for example
A-01-02,DISPATCHas the default, andDAMAGED); - an active product;
- a role with view, add, adjust, transfer, reserve, release and stock-count permissions;
- business-unit access to the warehouse.
Start with zero stock and no reservations. After each step, check the numbers on Inventory Balance: filter by Product Ceramic Mug.
The week
| # | Day | What happens | What you do | Page |
|---|---|---|---|---|
| 1 | Mon | Opening stock: 200 mugs on shelf A-01-02 | Add stock: Opening_stock, 200, ref OPENING-2026 | Add stock |
| 2 | Mon | Prepare stock for the week's orders | Transfer 50 from A-01-02 to DISPATCH, ref TN-0001 | Move stock |
| 3 | Tue | A customer asks you to hold 10 mugs | Reserve 10 at DISPATCH, CUSTOMER_HOLD / AYESHA-K | Reserve |
| 4 | Wed | 3 mugs are dropped and cracked on A-01-02 | Adjust: Decrease, Damaged, 3, notes "dropped during put-away" | Adjust stock |
| 5 | Thu | The customer cancels the hold | Release 10 at DISPATCH, CUSTOMER_HOLD / AYESHA-K | Release |
| 6 | Fri | Count shelf A-01-02: 145 found | New count, line A-01-02 counted 145, post | Count stock |
The numbers after each step
| After step | A-01-02 (On Hand / Reserved / Available) | DISPATCH (On Hand / Reserved / Available) | Total on hand |
|---|---|---|---|
| 1 | 200 / 0 / 200 | 0 / 0 / 0 | 200 |
| 2 | 150 / 0 / 150 | 50 / 0 / 50 | 200 |
| 3 | 150 / 0 / 150 | 50 / 10 / 40 | 200 |
| 4 | 147 / 0 / 147 | 50 / 10 / 40 | 197 |
| 5 | 147 / 0 / 147 | 50 / 0 / 50 | 197 |
| 6 | 145 / 0 / 145 (variance −2) | 50 / 0 / 50 | 195 |
Check the history
Open , filter Product Ceramic Mug. You should see, oldest first:
- OPENING_STOCK +200 (ref OPENING-2026)
- TRANSFER_OUT −50 at A-01-02 and TRANSFER_IN +50 at DISPATCH (ref TN-0001)
- SALE_RESERVATION 10 at DISPATCH (ref AYESHA-K)
- ADJUSTMENT_OUT −3 at A-01-02 (reason Damaged)
- SALE_CANCEL_RELEASE 10 at DISPATCH (ref AYESHA-K)
- ADJUSTMENT_OUT −2 at A-01-02 (reason Stock count)
And in : one line, A-01-02 → DISPATCH, 50.
What you've learned
- Transfers change where stock is, not how much (step 2: the total stays 200).
- Reservations change Available, not On Hand (steps 3 and 5).
- Adjustments record why stock changed (step 4: Damaged).
- Counts fix the difference between the shelf and the system in one go (step 6: −2).
- Everything is in the history, with your references, so anyone can follow what happened.
Try these variations
| Try | What happens |
|---|---|
| Transfer 60 from DISPATCH while 10 are reserved there (after step 3) | Refused: "Insufficient available stock for transfer." Only 40 are available. |
| Release 15 at DISPATCH (after step 3) | Refused: "Release quantity is greater than reserved quantity." |
| Add a second count line for A-01-02 on the same count | Refused: "Line already exists for this product/location" |
| Post a count with no lines | Refused: "Stock count cannot be posted without lines." |