End-to-end workflows
How work moves through Inventory from start to finish, who does each step and what the system does in response.
On this page (13)
Go-live: opening stock to signed-off cutover
Who: Data migrator M, Controller C, Accountant F
| # | What the person does | What the system does |
|---|---|---|
| 1 | M: Opening stock: paste the old system's closing stock as CSV; Dry run | Errors listed per row (if any) |
| 2 | M: correct and Dry run again; Import | Imported once; stock on hand and value match the file; one journal to opening equity |
| 3 | M: Cutover check > New check against the old system's figures incl. inventory account balance; Check | Differences listed by area |
| 4 | M: try to Sign off with differences | Refused: a different person must accept the differences |
| 5 | C: Sign off with a note | Signed off; record kept |
| 6 | F: Reporting > Inventory to ledger | Stock valuation equals the inventory account |
Quality alert, hold and recall
Who: Quality officer Q (inventory.recall + inventory.quality.release), Storekeeper S, Sales user U
| # | What the person does | What the system does |
|---|---|---|
| 1 | S: Held in place > Hold stock 4 units of LOT-1 as Quality hold | Units cannot be reserved |
| 2 | U: confirm a sales order for LOT-1 product | Delivery stays Waiting for the held units |
| 3 | Q: supplier confirms a defect: New recall for LOT-1; Start the recall | Lot on Recall hold; reservations released; trace shows customers who received it |
| 4 | S: try to deliver LOT-1 | Refused: the lot is on recall hold |
| 5 | Q: Dispose LOT-1 on the recall | Stock written off; recall closed |
Receipt to customer return
Who: Storekeeper S, Picker P, Sales user U
| # | What the person does | What the system does |
|---|---|---|
| 1 | Buyer confirms a purchase order for 10 x TEST-001 at 12.50 AED | Receipt raised in Inventory > Receipts |
| 2 | S: open the receipt; Validate done 10 | Done; on hand +10; value +125.00; putaway rule (if any) puts it in the right bin |
| 3 | S: New internal transfer from the receiving location to bin A-01; 10 units; Confirm; Validate | Stock now at A-01 |
| 4 | U: confirm a sales order for 4 x TEST-001 | Draft delivery from the default warehouse |
| 5 | P: Confirm; Check availability; Validate done 4 | Stock -4; cost of goods posted at average 12.50 |
| 6 | U: customer sends 1 back; New return from a customer on that delivery; Authorise; Receive | 1 unit in the RETURNS location (not available to sell) |
| 7 | S: inspection New + Restock; Carry out; then Raise credit note | Unit back on the shelf; draft credit note for 1 unit |
Cycle count to posted adjustment (two people)
Who: Counter A, Approver B
| # | What the person does | What the system does |
|---|---|---|
| 1 | A: Cycle counts > New count for WH/Stock, Blind count, Freeze ticked; Start count | Count opens with the location's lines; quantities start at 0 (blind) |
| 2 | Any user: try to validate a transfer from WH/Stock | Refused: location frozen by the count |
| 3 | A: enter counted quantities (one line 1 short); Save counts | Status Counted (or Recount if over the class threshold) |
| 4 | A: Approve | Refused: a different user must approve |
| 5 | B: Approve | Stock corrected by -1; journal posted for the net value; freeze lifted |
| 6 | Check Reporting > Count variances | The count and its variance are listed |
Landed cost on a receipt
Who: Storekeeper S, Accountant F
| # | What the person does | What the system does |
|---|---|---|
| 1 | S: validate a receipt of 2 products worth 1000 and 3000 AED | Receipt done |
| 2 | F: Landed costs > New; receipt; Estimate (accrued now) 400; By value; Post | Stock value +400; accrual credited |
| 3 | F: freight invoice arrives at 450; New landed cost Actual 450, Replaces the estimate; Post | Only +50 reaches stock; the estimate shows replaced |
| 4 | F: try to replace the same estimate again | Refused: 'That estimate has already been replaced: a charge is capitalised once.' |
| 5 | Open Stock valuation and the journal entries | Unit costs include the landed cost; GL inventory matches the valuation |
Reorder cycle: from low stock to goods received
Who: Inventory planner, buyer with inventory.replenish.approve, storekeeper
| # | What the person does | What the system does |
|---|---|---|
| 1 | Planner sets (or checks) a replenish rule for P-100 in DXB: min 50, safety 10, max 120, multiple 24, buy from a supplier | Rule saved |
| 2 | Planner opens Planning > Replenishment and clicks Run replenishment | Message '1 new ...'; a Proposed row of 96 needed by today + lead days |
| 3 | Planner opens the row and reads the explanation and the pegging | Projected 30 against trigger 60 is explained with the orders behind the demand |
| 4 | Buyer (with the approve right) clicks Approve | Proposal Approved; a draft purchase order for 96 is named in the status |
| 5 | Buyer confirms the purchase order in Purchases; storekeeper receives it in Warehouse > Receipts | Receipt validated; on hand rises by 96 |
| 6 | Planner runs replenishment again and reopens ATP for P-100 | No new proposal (or the old one withdrawn); ATP now above the trigger |
Promise stock to a customer, then fulfil in priority order
Who: Sales coordinator, warehouse supervisor
| # | What the person does | What the system does |
|---|---|---|
| 1 | Coordinator checks Available to promise for P-100 in DXB | ATP 80, after soft reservations 55 |
| 2 | Coordinator creates a soft reservation of 25 for the customer, 48 hours, reference of the quote | Row Active; ATP after soft 30 |
| 3 | Customer accepts: the sale is confirmed and a draft delivery is raised | Delivery waiting or ready in Warehouse > Deliveries |
| 4 | Coordinator releases the soft reservation | State released; no double counting against the delivery |
| 5 | Supervisor opens Allocation & shortages, picks the warehouse and 'Highest priority', ticks take-back if needed, clicks Allocate | 'N ready, M waiting' and the ranked list |
| 6 | Supervisor reads the shortage list for deliveries still waiting | Each short product shows next supply or 'Replenish: nothing is on the way' |
Month-end stock to ledger check
Who: Inventory accountant, finance controller
| # | What the person does | What the system does |
|---|---|---|
| 1 | Accountant opens Reporting > Valuation (AVCO) and notes the total | Total value in AED |
| 2 | Accountant opens GL reconciliation (R032) | Valuation, Ledger and Difference; Reconciled when 0.00 |
| 3 | If not reconciled, accountant opens Inventory to ledger, sets As at to month end | Unmatched journals and unmatched stock layers are listed |
| 4 | Accountant corrects the cause (reverse the manual journal or post the missing document) and reopens the screen | Difference 0.00 - reconciled |
| 5 | Accountant opens Exception centre and Inventory aging | No 'reconciliation' exception; aging buckets reviewed for slow stock |
| 6 | Controller closes the stock period (Configuration > Stock periods) | Hard close succeeds only when valuation equals the account |
Transfer between warehouses through transit
Who: Warehouse supervisors in DXB and AUH
| # | What the person does | What the system does |
|---|---|---|
| 1 | DXB supervisor opens Transfer through transit, picks DXB to AUH and P-100 x 40 | Two transfers are made and named |
| 2 | DXB storekeeper validates the shipping transfer | Stock leaves DXB into Transit and keeps its value |
| 3 | Open Inventory 360 for P-100 | On hand still counts the stock; Where it is shows the Transit location |
| 4 | AUH storekeeper validates the receiving transfer when the truck arrives | Stock lands in AUH; Transit is empty |
| 5 | Open Available to promise for AUH | ATP in AUH rises by 40 |
Set up a new warehouse from nothing to first receipt
Who: Inventory administrator (warehouse.manage), storekeeper (inventory.operate)
| # | What the person does | What the system does |
|---|---|---|
| 1 | Stock policy: set New warehouses and bins to 'Start as drafts and wait for review' and Save | Saved; new masters will start as Draft |
| 2 | Warehouses > New warehouse: code DXB2, name 'Dubai Annex' | Created as Draft with DXB2/STOCK, DXB2/IN, DXB2/OUT |
| 3 | Zones: New zone BULK (Bulk storage), FAST (Fast pick) | Both listed |
| 4 | Locations & bins: create A-01-01 in FAST with capacity 100 and A-02-01 in BULK | Bins created as Draft |
| 5 | Putaway rules: product P fixed bin A-01-01 priority 10; zone BULK First bin with room priority 50 | Both listed |
| 6 | Routes & operations: choose DXB2, Receive in 2 steps | Input > Stock chain used from now on |
| 7 | Open each master and use the lifecycle bar: Mark reviewed, Activate (warehouse, then bins) | Status Active; a receipt before activation was refused, after activation it works |
| 8 | Create and validate a receipt of 120 units of P into DXB2 | Stock sits in Input; the put-away transfer suggests A-01-01 for 100 units (capacity) and a BULK bin for the 20 that do not fit |
Month-end stock close
Who: Stock controller (inventory.period.close), accountant
| # | What the person does | What the system does |
|---|---|---|
| 1 | Open Stock periods and read the last month: valuation, inventory account, Difference | Figures shown for the month |
| 2 | If Difference is not 0.00, open Inventory to ledger and find the cause; correct it | Difference becomes 0.00 |
| 3 | Click Soft close on the month | Status Soft-closed; normal users cannot post into it |
| 4 | A user with the override right posts a late receipt into the month | Posts; ordinary user is refused |
| 5 | After the month has ended and Difference is 0.00 click Hard close | Hard-closed; earlier months close with it; valuation and account frozen on the row |
| 6 | Try to post dated in the closed month as an administrator | '<Month Year> is closed for stock. Post it in an open month.' |
| 7 | Reopen the latest closed month (needed for a correction), fix it, close again | Reopen works only from the latest hard-closed month downward; audit trail shows each step |
Connect Inventory to an outside system with a webhook
Who: Integration administrator (inventory.events.manage)
| # | What the person does | What the system does |
|---|---|---|
| 1 | Webhooks > New webhook: name erp-feed, https address of the test receiver, tick receipt_posted and shipment_posted | Created; signing secret shown once |
| 2 | Copy the secret into the receiver; click Send test | Receiver gets inventory.ping.v1 and the signature verifies |
| 3 | Validate a receipt and a delivery | Two POSTs arrive in order, each with its own event id |
| 4 | Make the receiver return 500 and validate another receipt | Failure counted, next attempt waits 30 s; list shows Waiting |
| 5 | Fix the receiver; click Send now (or wait) | Pending event delivered, failures reset to 0 |
| 6 | Rotate the signing secret and update the receiver | Only the new secret verifies |
| 7 | Send again from sequence 0 to replay history | Receiver deduplicates by event id |
Negative stock with approval
Who: Storekeeper, stock approver (stock.negative.approve)
| # | What the person does | What the system does |
|---|---|---|
| 1 | Stock policy: add rule for product P: Approval | Rule active |
| 2 | Storekeeper delivers 5 of P with 3 on hand | Refused: somebody with the right to approve negative stock has to confirm it |
| 3 | The approver repeats the delivery and confirms the negative stock | Posts with '<code> taken below zero with approval.'; on hand -2 |
| 4 | Receive 10 of P | On hand 8; cost keeps following the average |