Actions and results

What each Inventory button and automatic behaviour does, with worked numbers and what the system refuses.

On this page (76)
DashboardOverviewStock on handMovement historyWarehouse tasksWaves & batchesHandling unitsScannerHeld stockHeld in placeRecallsRevaluationsOpening stockCutover checkAvailabilityReceiptsReceipt exceptionsDeliveriesReceipts / DeliveriesInternal transfersAll transfersDrop shipmentsDrop-ship returnsIntercompany transfersCross-dockingReturnsCycle countsStock adjustmentsLanded costsAvailable to promiseReplenishment proposalsSoft reservationsAllocation & shortagesKitting & repackingTransfer through transitBarcode lookupStock valuationInventory valuation (R031) - AVCOGL reconciliation (R032)Inventory to ledger (as at a date)Count variances (R033)Inventory aging (R034)Replenishment proposals (R035)Lot / serial trace (R036)Warehouse productivityExpiryConsignment consumptionInventory 360Lot / serial 360Stock eventsException centreTurnover & fill rateProducts (list)Product recordStock and price history panelWarehousesWarehouse lifecycle barLocations & binsLocations lifecycle barZonesRoutes & operationsPutaway rulesDocks & stagingShelf-life rulesCount policy & ABCStock periodsLotsSerial numbersReorder & pick-face rulesDrop-ship routesWebhooksIntercompany linksStock policyUnits & packagingInventory featuresInventory fields

Dashboard

ActionWhenWhat you doWhat happens
Dashboard figuresStock in two warehousesOpen Dashboard; filter by one warehouse, then a categoryStock value equals Stock valuation for the same filter; charts change with filters; Below minimum lists products under their reorder minimum

Overview

ActionWhenWhat you doWhat happens
Operation cards and alertsA late receipt; a count pending approval; a lot expiring in 20 daysOpen OverviewReceipt card shows 1 late; alerts list 'operations past their scheduled date', 'stock counts pending approval', 'lots expire within 30 days'; clicking opens the filtered list
New OperationNew Operation > Receipt from SupplierA new receipt form opens for the chosen warehouse

Stock on hand

ActionWhenWhat you doWhat happens
Quick stock adjustmentAdmin user with stock.adjust; TEST-001 on hand 10Stock adjustment; product; -1; reason; Post adjustmentOn hand 9; value reduced at average cost; journal Dr stock adjustment / Cr inventory; Movement history shows the row with its journal
List and pivotSwitch List / PivotSame totals in both views; Stock value = On hand x cost per row

Movement history

ActionWhenWhat you doWhat happens
Movements trace to the ledgerA receipt and a delivery doneOpen Movement history; open the Journal of eachEach value change has its journal; quantity and value signs match the move

Warehouse tasks

ActionWhenWhat you doWhat happens
Tasks from a transferOperation with 'Work through tasks' on; a ready deliveryOpen Warehouse tasks; Assign to me; Complete with done = askedWhen the last task completes the transfer is validated with what the tasks recorded; stock moves
Block and unblockAn open taskBlock without a reason; with a reason; UnblockWithout reason 'Say why the task is blocked.'; blocked task cannot be completed 'Only an open, unblocked task can be completed.'
Put away in another binA put-away task with a suggested binComplete into a different allowed bin; then into a bin of another warehouseAllowed bin accepted; other warehouse refused 'Put it away inside the transfer's destination, in a bin that is not blocked.'

Waves & batches

ActionWhenWhat you doWhat happens
Create and release a waveThree ready deliveries in one warehouseNew wave; Batch; pick two; Create wave; ReleaseTasks released in pick-path order; transfers show in the wave; a released wave cannot be released again 'Only a draft wave can be released.'
Cancel a waveA draft and a done waveCancel wave on eachDraft cancelled, transfers free again; done refused 'A finished wave cannot be cancelled.'

Handling units

ActionWhenWhat you doWhat happens
Pack, nest, sealOpen delivery with picked linesNew package Carton on the delivery; pack lines; New Pallet; nest the carton on it; SealCarton holds the lines; nested on the pallet; sealing empty refused 'An empty package cannot be sealed.'; packing more than picked refused 'You cannot pack more than was picked for that line.'
Move a whole packageA stored pallet at A-01 with stockMove whole unit to B-02All contents move together; Stock by package shows B-02; a shipped package refused '<LPN> has shipped.'

Scanner

ActionWhenWhat you doWhat happens
Pick by scanningA pick task assigned to youOpen Scanner on a phone; scan the bin, product, lot, enter quantity, confirmEach step gives feedback ('At A-01. Scan the product.'); wrong bin/product is an error counted on the task, never accepted; task completes
Offline and replayTurn the network off; scan a step; turn it on; Send now'Offline: saved, will send when the connection is back.'; on reconnect sent once; sending the same message again changes nothing

Held stock

ActionWhenWhat you doWhat happens
Move stock to quarantine and releaseTEST-001 at WH/StockChange status: 2 units to Quarantine with a reason; then Release held stock as a user with inventory.quality.releaseQuarantined units leave available stock (cannot be reserved or delivered); release returns them; without the right refused 'Releasing held stock needs the quality release right.'

Held in place

ActionWhenWhat you doWhat happens
Hold without moving4 free units of LOT-1 at A-01Hold stock: 4, Hold as Quarantine; try to deliver LOT-1; Release 4Units stay on the shelf but are not reservable or deliverable; release (with the right) makes them available
Change held statusAn active holdChange status Quarantine > DamagedHold kept with the new status; same status refused 'Choose another held status.'

Recalls

ActionWhenWhat you doWhat happens
Recall a lotLOT-1 in stock, reserved on a ready delivery, and already shipped to a customerNew recall; product; LOT-1; reason; Create recall; Start the recall: hold the lotsLot status Recall hold; the delivery's reservation is released (delivery back to Waiting); trace shows In stock, Shipped to customers, Still reserved
Clear or dispose a recalled lotAn active recall with two lotsClear lot 1; Dispose lot 2Lot 1 back to its previous status; lot 2 blocked and its stock written off; recall Closed when all lots are closed

Revaluations

ActionWhenWhat you doWhat happens
Revalue with two peopleTEST-001: 10 on hand at 12.50; users A and B with inventory.revalueA: New revaluation 11.00; reason; Submit for approval. A: Approve. B: ApproveA refused 'A revaluation must be approved by somebody other than the person who asked for it.'; B posts: value -15.00, journal Dr stock adjustment / Cr inventory; Reject sets Rejected
Stock moved since askedA submitted revaluationDeliver 1 unit, then approveRefused: '<code> has moved since this was asked for (... then, ... now). Raise it again.'

Opening stock

ActionWhenWhat you doWhat happens
Dry run and importNew company with warehouses and productsPaste 3 rows (one with a bad location); Dry run; fix; Dry run; Import; press Import againFirst load lists the error per row; import refused '1 row(s) have errors. Correct them and load again.'; clean load imports once (quants, lots, serials, one journal to opening equity); second Import changes nothing

Cutover check

ActionWhenWhat you doWhat happens
Check against an opening loadAn imported opening loadNew check; An opening-stock load; CheckEverything matches. -> status checked; Sign off works
Differences need another personOld system figures that differ by one rowCheck; Only the differences; Sign off as the same user without and with a noteWithout note '<n> difference(s) remain: say why they are accepted.'; same user 'Differences are accepted by somebody other than who ran the check.'; another user signs off; a signed-off check cannot be re-run 'A signed-off check is kept as it was; start a new one.'

Availability

ActionWhenWhat you doWhat happens
Availability reportStock in two locations, some reservedOpen Availability; filter by warehouse; exportOn hand - reserved = available per product/location; matches Stock on hand

Receipts

ActionWhenWhat you doWhat happens
Receipt raised by a purchase orderPurchase order confirmed for 10 unitsOpen ReceiptsA receipt for the PO (Source document = PO number) is listed, ready to validate
Manual receipt: create, confirm, validateA goods productNew receipt; warehouse; vendor; line 10 x 12.50; Save; Confirm; Validate with done 10Status Draft > Ready > Done; on hand +10; stock value +125.00; average cost recalculated; GRN printable
Partial receipt with backorderReceipt for 10Validate with done 6; choose Create a backorderReceipt done for 6; a new backorder for 4 opens (Backorder smart button links both)
Partial receipt, cancel the restReceipt for 10Validate with done 6; choose Cancel the restDone for 6; no backorder; remaining 4 cancelled (purchase order shows 6 received)
Over receipt within / beyond toleranceOver-receipt tolerance 5% (stock policy or supplier)Validate 10.4 of 10; then on another receipt 12 of 1010.4 accepted and noted; 12 refused '...is over the 5% tolerance. Approve the over receipt to take it.'; the 'Approve over receipt and validate' button appears for a holder of the exception right and asks a reason
Lot and serial capture on receiptLot-tracked and serial-tracked productsValidate a lot product without a lot number; then a serial product with 2 serials for 3 unitsRefused: '<code> is tracked by lot: enter the lot number received.' / '<code>: enter 3 serial number(s) for the 3 received ...'; with correct data lots/serials are created
Damaged and unexpected goodsReceipt for 5Validate done 5 with damaged 1; add an extra unexpected item4 to stock, 1 to the DAMAGED location; the extra goes to QUARANTINE; rows appear on Receipt exceptions
Edit only in draftA confirmed receiptTry to edit the lines (API or after confirming)Refused: 'Only a draft picking can be edited. Cancel it, or return it.'

Receipt exceptions

ActionWhenWhat you doWhat happens
Resolve an exceptionAn open damaged / quarantine exception; user with the receipt exception rightResolve > Accept into stock (or Return to supplier / Scrap)Stock moves accordingly; status Accepted into stock / Returned to supplier / Scrapped; user without the right is refused 'Resolving a receipt exception needs the receipt exception right.'

Deliveries

ActionWhenWhat you doWhat happens
Delivery raised by a saleA company default warehouse; sales order confirmedOpen DeliveriesDraft delivery from the default warehouse with the order's lines; Sales order smart button
Check availability and validateDelivery for 5, stock 8Confirm; Check availability; Validate done 5Ready after reservation; on Done stock -5, cost of goods posted at average cost; sales order shows delivered
Negative stock refused / approvedStock 2, delivery for 5; negative policy = refuse, then = approvalValidate done 5Refuse policy: 'Insufficient stock for <code> at <loc>: on hand 2, needed 5.'; approval policy: '...would go below zero. Somebody with the right to approve negative stock has to confirm it.' and 'Approve below zero and validate' works only for a stock.negative.approve holder
Held lot cannot shipA lot on hold or expiredDeliver that lotRefused: 'Lot <name> is <status> and cannot leave stock.' / 'Lot <name> expired before this movement date.'
Pack into a new cartonOperation requires packingValidate without packing; then Pack into a new carton; ValidateFirst refused '<code> is not packed. Put every unit in a package before validating.'; then 'Packed into a new carton.' and validation works
Split and mergeTwo open deliveries to the same customer and placeSplit… 3 of 10 to a new transfer; then select two and MergeSplit creates a new transfer with 3; merge combines; merging a done one refused '<number> is done and cannot be merged.'

Receipts / Deliveries

ActionWhenWhat you doWhat happens
Cancel a transferA ready transfer; a done transferCancel eachReady: cancelled and reservations released; Done: 'A completed picking cannot be cancelled; use a return.'
Book a dock and work as tasksDocks configuredBook a dock… choose dock and window; Save; then Work as tasks'Dock booked.'; tasks created on Warehouse tasks; on a draft 'Only a ready transfer can be turned into tasks.'

Internal transfers

ActionWhenWhat you doWhat happens
Move between binsStock at A-01New transfer From A-01 To B-02; 5 units; Confirm; ValidateA-01 -5, B-02 +5; total value unchanged; no journal entry
Frozen locationAn open cycle count freezing A-01Validate a transfer from A-01Refused: 'A-01 is frozen by count <number>. Finish the count first.'

All transfers

ActionWhenWhat you doWhat happens
Closed stock period / backdatingPrevious month hard-closed in Stock periods; backdate policy = permissionValidate a transfer dated in that month; then dated yesterday without stock.backdate'<Month YYYY> is closed for stock. Post it in an open month.' / 'A stock movement dated before today needs the backdating right.'

Drop shipments

ActionWhenWhat you doWhat happens
Drop shipment needs the PO approvedA drop-ship sale raised a drop shipment and a draft POValidate the drop shipment before approving the PO; approve the PO; validateFirst refused 'Approve purchase order <number> before confirming the drop shipment.'; then done, no stock change in our warehouse

Drop-ship returns

ActionWhenWhat you doWhat happens
Return drop-shipped goodsA done drop shipmentReturn; to the supplier directly; 1 of 2; Raise the returnA drop-ship return is created; returning more than shipped refused 'Only <n> of <code> can still come back.'

Intercompany transfers

ActionWhenWhat you doWhat happens
Send goods to a group companyTwo linked companies; you hold inventory.intercompany in bothNew transfer; To company; warehouses; line; SendOur sale + delivery and their purchase + receipt are raised; Sent tab shows it; after our delivery, their receipt can be validated (before: '<number>: the selling company has not shipped these goods yet.')
Cancel and write off transitA transfer not shipped; another shipped but lostCancel the first; Write off transit on the secondFirst cancelled; a shipped one cannot be cancelled 'Only a transfer that has not shipped can be cancelled; return the goods instead.'; write-off posts the transit value

Cross-docking

ActionWhenWhat you doWhat happens
Arriving goods go to the dockRule for TEST-001; a delivery waiting for it within the horizonValidate a receipt of TEST-001The needed quantity goes to the dock and is reserved for the delivery; the rest to stock; history row added

Returns

ActionWhenWhat you doWhat happens
Customer return end to endA done delivery of 3New return From a customer; pick the delivery; Return now 1; Create; Authorise; Receive; inspection Condition New + Restock; Carry outGoods land in the RETURNS location first; after Carry out they are restocked by an internal transfer; no customer credit is made by the stock movement
Credit note from a returnA received customer return of an invoiced orderRaise credit noteA draft credit note for the returned lines; a second time 'This return already has a credit note.'
Return to vendorA done receiptNew return To a vendor; pick the receipt; 2 units; Authorise; ShipStock -2 at average cost; status Done

Cycle counts

ActionWhenWhat you doWhat happens
Count and approve by another personLocation with stock; users A and BA: New count; Start count; enter counted; Save counts. B: Approve'Approved. The difference is posted.'; stock corrected; one journal for the net value (stock vs adjustment account); A approving their own count refused 'A cycle count must be approved by a different user than the counter.'
Recount above thresholdCount policy class A recount 5%Count a 10-unit line as 8 and save; try Approve; save the count again; approveFirst save sets Recount; approve refused 'The variance is past the recount threshold: count it again before approving.'; after the second count approval works

Stock adjustments

ActionWhenWhat you doWhat happens
Small adjustment posts at onceApproval threshold 1000 AEDNew adjustment; reason Damage; -1 unit worth 12.50; Save; SubmitPosted immediately; journal entry linked; stock -1
Large adjustment needs a second personThreshold 1000 (or 0 = every adjustment)A: adjustment worth 1500; Submit. A: try Approve and post. B: Approve and postSubmitted; A refused 'An adjustment must be approved by somebody other than the person who raised it.'; B posts; Send back returns it to draft
Posted adjustment cannot be cancelledA posted adjustmentCancelRefused: 'A posted adjustment is corrected by another adjustment, not cancelled.'

Landed costs

ActionWhenWhat you doWhat happens
Capitalise freight on a receiptDone receipt of 2 products (values 1000 and 3000)New landed cost; receipt; 400 AED; By value; Save draft; check preview; PostPreview shows 100 and 300 with Added per unit; on Post stock value +400, journal Dr Inventory / Cr expense account; status Posted
Estimate then actualPosted estimate 400 on a receiptNew landed cost, Actual 450, Replaces the estimate; PostOnly the 50 difference reaches stock; the estimate's accrual is cleared
Late charge on goods already soldReceipt of 10, 6 already deliveredPost a 100 AED landed cost40 capitalised to stock, 60 to cost of goods sold (or WIP/variance for manufacturing)

Available to promise

ActionWhenWhat you doWhat happens
ATP arithmeticProduct P-100 in DXB: on hand 100, reserved 30, open receipts due 50, open deliveries still unreserved 40Open the screen, pick P-100 and DXBATP = on hand 100 - reserved 30 + incoming 50 - demand 40 = 80. Soft-reserved 25 is shown beside it and 'ATP after soft reservations' = 55. Forecasts are never counted
Only usable stock countsA quarantine bin, a held lot, an expired lot and consignment (supplier-owned) stock all hold P-100Open ATP for P-100On hand ignores stock in non-available locations, lots that are on hold or past expiry, and stock owned by a supplier. Hard reservations on the same quants are not subtracted twice
TimelineReceipts and deliveries scheduled on different datesRead the Date / Change / ATP tableOne row per date: change (+ receipt, - delivery) and the running ATP starting from on hand minus reserved. With nothing moving it says 'Nothing coming in or going out.'
Services excludedA service product existsOpen the product pickerOnly goods products are listed

Replenishment proposals

ActionWhenWhat you doWhat happens
Run replenishment - proposal arithmeticRule for P-100 in DXB: min 50, safety 10, max 120, multiple 24, lead 7 days, supply Buy. Position: on hand 40, reserved 10, soft 5, incoming 20, demand 15Click Run replenishmentProjected = 40 - 10 - 5 + 20 - 15 = 30. Trigger = min 50 + safety 10 = 60; 30 is below it. Target = max(120, 60) = 120. Quantity = 120 - 30 = 90, rounded UP to a multiple of 24 = 96. Needed by = today + 7 days. Message '1 new, 0 updated, 0 withdrawn, 0 pick-face refill(s).'
Run is idempotentA proposal exists and nothing has changedClick Run replenishment again'0 new, 0 updated, 0 withdrawn' - no second proposal (same fingerprint of the figures)
Proposal updates when figures changeOpen proposal of 96; a 30-unit delivery is confirmedRun againThe same proposal is updated (quantity recalculated, revision +1), message shows 1 updated; still one proposal
Withdraw when no longer neededOpen proposal; stock is received so projected rises to 65 (above the trigger 60)Run againThe proposal becomes Withdrawn with a note 'Withdrawn <date>: projected 65 is back above 60.'
Pegging and explanationAn open proposalClick the rowThe dialog shows the sentence 'On hand 40 - reserved 10 - soft 5 + incoming 20 - demand 15 = projected 30, below min 50 + safety 10. Order up to 120 in multiples of 24: 96.' and the pegging table of orders behind the demand, plus Safety stock and Soft reservations lines
Approve a Buy proposalProposal with supplier on the rule; user holds inventory.replenish.approveOpen the proposal, click ApproveA draft purchase order is created for the supplier with the line (product, quantity, product cost) and the explanation in its notes; proposal becomes Approved and shows the purchase order number (or 'Draft PO')
Approve a Buy proposal with no supplierThe rule names no supplierClick ApproveRefused: 'Choose the supplier to buy from.' (and the dialog gives no way to choose one)
Approve a Transfer proposalRule supply 'Transfer' from warehouse AUHClick ApproveAn internal transfer from AUH stock to DXB stock is created and confirmed, origin REPLENISH; the status shows its number. Rule without source warehouse: 'The rule names no warehouse to transfer from.'
Approve a Manufacture proposalRule supply 'Manufacture'Click ApproveThe proposal becomes Approved; no order is created here (handed to Manufacturing with the proposal as its reason). Check Manufacturing for the demand
Approve needs its own rightUser can write in inventory but lacks inventory.replenish.approveApprove a proposalRefused: 'Approving a replenishment proposal needs a right you do not have.'
DismissAn open proposalClick DismissProposal becomes Withdrawn; the audit trail records 'replenishment.dismissed'. A second Dismiss or Approve on it: 'Only an open proposal can be dismissed.' / 'That proposal is cancel.'
Stale screen on approveTwo users open the same proposal; the first approves; the second clicks ApproveSecond user clicks ApproveRefused: 'That proposal is approved.' (or the edit-conflict message if the revision changed)
Pick-face refillA pick-face rule: bin min 20, fill to 60, multiple 12, 15 in the bin, 500 in bulkRun replenishmentOne internal transfer (origin 'REFILL <code>') is created for 60 - 15 = 45 rounded up to 48 (capped by the 500 free in bulk), reserved or waiting; counted in 'pick-face refill(s)'. Running again while it is open makes no second one

Soft reservations

ActionWhenWhat you doWhat happens
Create a reservationATP after soft = 55 for P-100 in DXBNew reservation: P-100, DXB, quantity 25, customer, reference QT-1, hours 48Row Active; Expires = now + 48 h; ATP after soft reservations drops to 30
Over-promise refusedATP after soft = 55Reserve 60Refused: 'Only 55 of P-100 can still be promised.'
Expiry by itselfA reservation made for 1 hour, or an expiry in the pastReload the list after the hourState is expired and the quantity is available to promise again; 0 hours never expires
ReleaseAn active reservationClick 'Active - release'State released; ATP after soft returns. A reservation that is not active: 'That reservation is released.'
Soft reservations and replenishmentSoft 25 on P-100Run replenishmentThe soft quantity is subtracted in the projected figure and listed in the pegging as 'Soft reservations'

Allocation & shortages

ActionWhenWhat you doWhat happens
Allocate by priorityStock 10; delivery D1 (priority 1, needs 8), D2 (priority 5, needs 8), D3 (priority 5, needs 2), all waitingAllocate: Highest priorityOrder D2, D3, D1 (priority first, then promised date). D2 gets 8, D3 gets 2, D1 stays waiting: '2 ready, 1 waiting'
Allocate by promised date and first comeSame data with different promised dates and creation timesAllocate: Earliest promised date, then First comeThe order table follows the chosen rule; ready / waiting counts change accordingly
Take stock backA low-ranked delivery holds reserved stock and has no started picking task; a high-priority delivery is waitingTick the checkbox and AllocateUnstarted deliveries are un-reserved and everything is re-served in rank order, so the high-priority one now becomes ready. Deliveries with a task in progress or done keep their stock
Shortage listDelivery lines short of stockOpen the screenPer product and warehouse: Short = demand - reserved (summed), On hand, Next supply date from the nearest open receipt, Deliveries (numbers), and Do = 'Expedite the incoming supply' or 'Replenish: nothing is on the way'. Empty text 'No delivery is short of stock.'

Kitting & repacking

ActionWhenWhat you doWhat happens
Define a kitStocked kit product and partsKit definitions: kit product, components GIFT-A x2, GIFT-B x1, SaveDefinition saved (re-saving the same kit replaces its components, revision +1); listed under 'Defined:'
Assemble kits - value in equals value outKit KIT-GIFT = 2 x A (AVCO 10.00) + 1 x B (AVCO 6.00); stock A 100, B 100 at DXB/StockNew conversion: Assemble a kit, KIT-GIFT, quantity 5Consumes 10 A (100.00) and 5 B (30.00) = 130.00; produces 5 KIT-GIFT carrying 130.00 (26.00 each). Conversion number issued, value 130.00
Break a kit apart5 KIT-GIFT in stockNew conversion: Break a kit apart, KIT-GIFT, quantity 2Consumes 2 kits at their average cost and produces 4 A and 2 B; the value is shared in proportion to cost x quantity (4 x 10 = 40 : 2 x 6 = 12 of 52)
Repack with two outputsConsume 1 reel (value 90.00); produce 20 x cable A (cost 3.00) and 10 x cable B (cost 3.00)Repack with those linesTotal 90.00 shared by weight 60 : 30 = 60.00 and 30.00; the last output takes the remainder so nothing is lost to rounding
RefusalsVariousTry: not enough parts; tracked product; frozen location; location not internal; period closed'Only 3 of P-100 at DXB/Stock.'; 'P-200 is tracked: convert it through a transfer that names its lots.'; 'DXB/Stock is frozen by count CNT-0007.'; 'Choose the internal location it happens at.'; closed-month refusal from the stock-period check
Retry safetyPress Convert twice quickly or resubmit after a timeoutSubmit twiceOnly one conversion exists (the dialog's request key makes a retry the same document)

Transfer through transit

ActionWhenWhat you doWhat happens
Create the two transfersP-100 in DXBFrom DXB, To AUH, line P-100 x 40, Create transfersMessage 'Shipped on <number>; received on <number> once it arrives.' Two internal transfers: DXB to Transit (reserved if stock) and Transit to AUH (waiting). Validate the first in Internal transfers; stock moves into Transit, keeps its value and still counts as company stock; validate the second to land it in AUH
RefusalsSame warehouse, no lines, service productSubmit each'Choose two different warehouses.'; 'A transfer needs at least one line.'; 'Each line is a stocked product.'

Barcode lookup

ActionWhenWhat you doWhat happens
Plain product barcodeProduct P-100 has barcode 6291041500213Type the barcode, Look upShows Product 'P-100 - Cable 2m'; Print product label link appears. A packaging barcode shows the product (and the pack units)
GS1 stringGTIN of P-100Type (01)06291041500213(10)L-2026-07(17)270131Product, Lot (new) when the lot does not exist yet, plus GS1 elements such as expiry; an unreadable check digit is not parsed as GS1
Bin and handling unitA bin barcode and a package SSCCLook each upLocation shows the bin code; Package shows the LPN with 'Print package label'
Unknown codeNothing matchesLook up 000000'Nothing matches that code.'

Stock valuation

ActionWhenWhat you doWhat happens
Which method does the valuation useCategories set to AVCO, FIFO and standardCompare the Stock valuation menu page with Valuation (AVCO)R031 values every product from its layers under its own category method; the legacy page shows a Standard cost column and a footer 'standard cost valuation'

Inventory valuation (R031) - AVCO

ActionWhenWhat you doWhat happens
Moving average worked throughNew AVCO product with no stockReceive 100 at 10.00, then 50 at 16.00, open R031Quantity 150, value 1,800.00 (1,000 + 800), unit cost 12.00
Issue at the averageThe 150 units at 12.00 aboveDeliver 60, open R031; then deliver all remaining 90After 60: value 720.00 leaves, 90 units worth 1,080.00 remain at 12.00. Delivering the last 90 takes exactly 1,080.00 (the held value, no rounding residue) and leaves 0 / 0.00
Warehouse filterStock in two warehousesFilter Warehouse = DXBRows show DXB's units at the product's company-wide average cost (e.g. 40 units x 12.00 = 480.00); total_value is that sum. Without a filter the value is the layer total
Category and lot filtersLots existFilter Category, then LotOnly matching products or lot rows; Clear filters restores all. No data: 'No data for this report yet.'

GL reconciliation (R032)

ActionWhenWhat you doWhat happens
Reconciled and not reconciledValuation 125,000.00; Inventory account balance 125,000.00, then a manual journal of 500.00 debit to the inventory accountOpen R032 before and after the journalBefore: Difference 0.00 - Reconciled. After: Valuation 125,000.00, Ledger 125,500.00, Difference -500.00 - Not reconciled

Inventory to ledger (as at a date)

ActionWhenWhat you doWhat happens
Explain the differenceSame manual journal; a layer written without a journalOpen the screen, set As atDifference per date; table 1 lists journals on the stock account that no stock posting made (date, journal, source, memo, amount); table 2 lists layers with no journal; table 3 valuation by product. Empty tables say 'None.' Changing the date changes all figures

Count variances (R033)

ActionWhenWhat you doWhat happens
Variance arithmetic and periodCount line: system 20, counted 17Open R033 and set From / To around the count datevariance = counted - system = -3.0000 (negative = shortage). Lines outside the dates are hidden

Inventory aging (R034)

ActionWhenWhat you doWhat happens
Age bucketsProduct last received 45 days ago, value 2,400.00; another 100 days ago, value 800.00Open R034age_days 45 goes to bucket 31-60 and 100 to 90+. Age is days since the LAST inbound movement of the product, not per lot. Zero or negative stock is left out

Replenishment proposals (R035)

ActionWhenWhat you doWhat happens
Report arithmeticRule min 50 / max 120; free stock (on hand - reserved) 30, open receipts 10Open R035Projected = 30 + 10 = 40, below 50, so the row shows propose = 120 - 40 = 80. It ignores safety stock, order multiples, demand and soft reservations, so it can differ from the Replenishment screen (96 in the example above)

Lot / serial trace (R036)

ActionWhenWhat you doWhat happens
Movement historyLot L-2026-07 received, transferred and deliveredFilter Lot = L-2026-07One row per movement with lot, serial, product, expiry, date, picking, from, to, quantity. Only done movements of positive quantity

Warehouse productivity

ActionWhenWhat you doWhat happens
Minutes per taskPerson A completed 2 pick tasks of 6 and 10 minutes with 1 scan error in totalOpen the screen, set the datesRow for A / pick: Tasks 2, Minutes / task (6 + 10) / 2 = 8.0, Scan errors 1, Units = sum of done quantities, Lines = distinct move lines. Only completed tasks count; a task without start or finish time is not in the minutes average

Expiry

ActionWhenWhat you doWhat happens
Expiry listLots expiring in 20 days, 80 days and one already expiredOpen with 60 days, then 060: expired lot (Days left shows Expired) and the 20-day lot, nearest first. 0: only the expired one. Only internal locations with quantity over 0

Consignment consumption

ActionWhenWhat you doWhat happens
What was consumedA transfer of 10 units from a supplier-owned location into company stock, move cost 4.50Open the screenRow with date, supplier (owner), product, transfer number, quantity 10, unit cost 4.50, value 45.00

Inventory 360

ActionWhenWhat you doWhat happens
Product 360Product in two warehouses with a rule and some historyPick the productFacts incl. On hand, Value, Average cost (value / quantity), ABC class, Turns and Days of cover; By warehouse table (same ATP as the ATP screen), Where it is (location, lot, serial, expiry, status, owner), Rules, last 20 movements
Print labelA product is pickedClick Print label and the ZPL linkA printable Code 128 label page; the ZPL link downloads a .zpl file for a Zebra-type printer

Lot / serial 360

ActionWhenWhat you doWhat happens
Lot 360A lot that was delivered and partly returnedLook up by Lot and pick itFacts (on hand, reserved, available, value, unit cost, first received, supplier, expiry, best before, retest), Where it is, Reserved for, Customers it went to, Returns, Quality and recalls, Movements and Serials in this lot
Serial 360 and production linksA serial made by a manufacturing orderLook up by SerialShows its lot, condition, 'Made from' components and 'Went into' sections where they exist

Stock events

ActionWhenWhat you doWhat happens
Publish and read in sequenceSeveral postings made since the last publishClick Publish waiting events'N event(s) published.' Events get numbers 1, 2, 3 without gaps in the order of publishing; 'waiting' disappears; the Readers table shows each reader's last sequence, Behind and last acknowledgement
Event contentA posted receiptClick the event rowJSON with type inventory.receipt_posted.v1, subject reference, currency AED and lines (product, lot, quantity, value). A return points back at the original event

Exception centre

ActionWhenWhat you doWhat happens
What is listedOne of each: negative stock, expired-but-available lot, recall open, late transfer, blocked task, recount waiting, overdue proposal, stale landed estimate, held stock, reconciliation differenceOpen the screenSorted High, Medium, Low. High: retest overdue, negative stock, expired lot still available, open recall, reconciliation difference. Medium: late transfer, blocked task, recount, proposal needed but not approved, retest within 7 days. Low: stale estimate over 30 days, held stock lines. Empty: 'Nothing needs attention.'

Turnover & fill rate

ActionWhenWhat you doWhat happens
Turnover worked throughProduct: cost of goods issued in the last 365 days 120,000.00; stock value at the start 40,000.00 and now 60,000.00Open the Turnover tabAverage value = (40,000 + 60,000) / 2 = 50,000.00; Turns = 120,000 / 50,000 = 2.40; Days of cover = 365 / 2.40 = 152.1. No average value: Turns blank
Slow and dead stockProducts last moved 40, 100 and 200 days ago, threshold 90Open the Slow tab with 90, then 6090: the 100-day product is Slow, the 200-day (and never-moved) product is Dead (idle at least 2 x 90), the 40-day product is not listed. 60: the 100-day one is still Slow (under 120), 40-day not listed
Fill rate worked throughLast 90 days: 20 deliveries done, 17 shipped complete first time, 18 on or before the scheduled date, 2 left a backorder; 60 lines, 54 in fullOpen the Fill rate tabOrder fill 85.0 %, Line fill 90.0 %, On time 90.0 %, Backordered 10.0 %. Cancelled deliveries and backorder children are left out

Products (list)

ActionWhenWhat you doWhat happens
Open Inventory > ProductsA few products incl. one service and one archived1. Open Inventory > Products. 2. Note the filter. 3. Clear Status filter.Only active products at first; On hand shows for goods and a dash for the service; clearing the filter shows the archived one
On hand matches Stock on handProduct with 40 on hand1. Open Inventory > Operations > Stock on hand and note the quantity. 2. Open Inventory > Products and compare.Same quantity in both lists

Product record

ActionWhenWhat you doWhat happens
Adjust stock and View moves buttonsA goods product; user with stock.adjust1. Open the product. 2. Click View moves. 3. Go back, click Adjust stock.Movement history opens with the code searched; Stock on hand opens with the code searched; nothing is changed by the click
Stock buttons absent for a serviceA service productOpen the service product.Adjust stock and View moves are not offered; Inventory tab is not shown

Stock and price history panel

ActionWhenWhat you doWhat happens
Available figureProduct: on hand 40, reserved 10, incoming 20Open the history panel from a sales line.Available = 40 - 10 = 30 for the warehouse; Incoming 20 is shown separately and not added

Warehouses

ActionWhenWhat you doWhat happens
Create the first warehouseA company with no warehouse1. New warehouse. 2. Code DXB1, name 'Dubai Main'. 3. Create.Warehouse listed as Default; locations DXB1/STOCK, DXB1/IN and DXB1/OUT exist named 'Dubai Main - Stock / Input / Output'; Lifecycle Active (or Draft when review is on)
Second warehouse and default switchOne default warehouse exists1. Create DXB2 and tick Ships orders that name no warehouse. 2. Save. 3. Look at the list.DXB2 is the only Default; DXB1 shows a dash
Duplicate and bad codeDXB1 existsCreate code DXB1; then code 'A'; then a 17-character code.'A warehouse with this code already exists.'; 'Use 2–30 letters, digits, underscores or hyphens.'; the 17-character code is refused or fails on save
Rename renames locationsDXB1 named 'Dubai Main'Open DXB1, change name to 'Dubai Central', Save. Open Locations & bins.Locations show 'Dubai Central - Stock / Input / Output'; a bin you named by hand is unchanged; code field is disabled
Edit conflictTwo sessions on the same warehouseSession A saves a new name. Session B (opened earlier) saves another.B is refused 'This record changed. Reload it before saving.'

Warehouse lifecycle bar

ActionWhenWhat you doWhat happens
Review flow when master review is onStock policy: New warehouses start as draftsCreate warehouse. Try to receive into it. Then Mark reviewed, Activate, retry.Created as Draft; a receipt is refused 'Warehouse <code> is draft: activate it before stock moves through it.'; works after Activate
Archive refused with stock or open transfersWarehouse holding 10 unitsClick Archive and give a reason.Refused '<code> still holds or reserves stock: move it out first.'; with stock gone but a draft transfer open: '<n> open transfer(s) still use <code>.'
Archive and reactivate empty warehouseEmpty warehouse, no open transfersArchive with reason 'Lease ended'; then Reactivate.Lifecycle Archived then Active; audit trail shows both with the reason

Locations & bins

ActionWhenWhat you doWhat happens
Create a binWarehouse DXB1 with zone BULKNew bin: code A-01-01, name 'Aisle A shelf 1', zone BULK, capacity 500, walk order 10. Save.Bin appears under DXB1/STOCK with those values; Role shows Bin
Bin barcode uniqueA bin with barcode LOC-1Give another bin the barcode LOC-1.'Another location already has this barcode.'
Parent loop refusedBin A inside BOpen B and set Inside = A (API or screen).'A location cannot sit inside itself or one of its own children.'
Blocked bin never usedTwo bins; one Blocked; putaway rule pointing to bothReceive 5 units.Putaway suggests the open bin; the blocked bin is never picked from or put into
Capacity limit in putawayBin capacity 100 holding 90; a second bin with roomReceive 20 units with a First-bin-with-room rule.90 + 20 = 110 is above 100, so the first bin is skipped and the second is suggested
Mixed lots offBin with 'Allow mixed lots' off holding lot L1Put lot L2 of the same product with a zone rule.The bin is skipped for L2; another bin is chosen
Status quarantine locationBin with Stock here is = QuarantineMove 5 units there; try to reserve for a sale.Stock in it is held: not available to reserve or sell; shows under Held stock
Consignment owner required-Set Whose stock = A supplier's with no Owner.Owner field is required; by API 'Say whose stock it is.'

Locations lifecycle bar

ActionWhenWhat you doWhat happens
Delete only untouched locationA new empty bin and a bin with historyDelete the new bin; then try the used one; then try DXB1/STOCK.New bin deleted; used bin 'Stock has used <code> (or it has locations under it): archive it instead.'; the warehouse's own: '... archive the warehouse instead.'

Zones

ActionWhenWhat you doWhat happens
Create a zone and use it on a binWarehouse existsNew zone code COLD kind Cold storage priority 10; open a bin and choose it.Zone listed; bin accepts it; a zone of another warehouse is refused 'Choose a zone of the location's warehouse.'
Duplicate zone codeZone COLD in DXB1Create COLD again in DXB1, then in DXB2.First refused 'That warehouse already has a zone with this code.'; second allowed

Routes & operations

ActionWhenWhat you doWhat happens
Two-step receivingWarehouse on 1 stepChoose Receive in 2 steps. Create a receipt for 10 units and validate it.Receipt lands in Input; a second transfer 'Put away' is raised Input > Stock with the 10 units; stock reaches Stock only when it is done
Three-step receiving with qualityWarehouse on 1 stepChoose Receive in 3 steps; receive 10 units.Chain Input > Quality > Stock; a Quality location is created if missing; stock held in a non-available location is not forwarded
Two- and three-step shippingWarehouse on 1 stepChoose Ship in 3 steps; confirm a delivery for 5 units.Pick (Stock > Packing zone), Pack (Packing zone > Output) and Delivery (Output > customer) are raised and linked; delivery waits until pack is done
Change steps with documents in flightReceipt released on 1-step route, then switch to 2 stepsValidate the old receipt after the switch.It finishes on the route it started on (route version kept); new receipts follow the new route
Operation settings-Tick Work through tasks on Pick; tick Must be packed on Delivery; set Remainder to Cancel on Delivery.Picks raise warehouse tasks; delivery cannot finish with unpacked items; short delivery leaves no backorder

Putaway rules

ActionWhenWhat you doWhat happens
Fixed bin ruleBin A-01-01; product PNew rule: product P, Fixed bin, bin A-01-01, priority 10. Receive 5 of P.Suggestion is A-01-01
Priority orderTwo rules: priority 10 (fixed bin full) and priority 50 (zone, room)Receive 5 units.Lower number tried first; as its bin does not fit, the priority-50 rule's bin is used
Next to the same productZone Z with bins; product P already in bin 2Rule: Next to the same product, zone Z. Receive P.Bin 2 is suggested if it fits, then other bins in walk order
Rule validation-Fixed rule with a bin of another warehouse; zone rule with no zone.'A fixed bin must be an internal location of this warehouse.'; 'Choose a zone of this warehouse.'

Docks & staging

ActionWhenWhat you doWhat happens
Book a dock windowDock D1 open; two draft transfersBook transfer 1 on D1 10:00-11:00; book transfer 2 on D1 10:30-11:30.Second is refused (one dock holds one open transfer at a time); D1 shows occupied during the window
Closed dock refusedDock D2 status ClosedBook a transfer on D2.'Dock D2 is closed.'

Shelf-life rules

ActionWhenWhat you doWhat happens
Minimum days left blocks shippingProduct rule 90 days; lot expiring in 60 daysDeliver that lot.The lot is not offered or is refused as it has only 60 of the 90 days; a lot with 120 days passes
Percentage of lifeRule 50 %; lot made 2026-01-01, expiry 2026-12-31 (364 days); today 2026-09-01 (121 days left)Check the lot against the rule.121 / 364 = 33 %, below 50 %, so it fails; with 200 days left (55 %) it passes. Lot with no manufacture date is judged on days only
Most specific rule winsRules: product 30 d, category 90 d, country 180 dShip that product to a customer in that country.The product rule (30 days) is used: order is product, category, customer, group, country
Validation-Save with 0 days and 0 %; country 'SAU'; group with no members.'Give the days or the percentage of life that must remain.'; 'Give the two-letter country code.'; 'List the group's customers, or choose a market.'

Count policy & ABC

ActionWhenWhat you doWhat happens
Classify ABCFive goods products with issues over the last 365 days of 5,000 / 3,000 / 1,000 / 500 / 500 AED (total 10,000)Click Classify ABC.Shares 50, 30, 10, 5, 5 %. First two are A (running total below 80 before each), next two B (below 95), the last C; message 'Classified: A 2, B 2, C 1.' A product that never moved is C
Counts due by class intervalClass A every 30 days; product counted 40 days ago; another 10 days agoOpen Counts due.The 40-day product is listed (40 >= 30); the 10-day product is not. A never-counted product with stock is listed with Last counted 'Never'
Edit a policy row-Set Class B Every to 60, tick Blind, Recount above 5, Freeze the location.Saved with no page reload; a stale second session is refused; Every 0 is refused
Count this classTwo warehousesClick Count this class for A.A count is started for the stock location of the first warehouse only; message points to Cycle counts

Stock periods

ActionWhenWhat you doWhat happens
Soft close a monthCurrent month openClick Soft close on the current month; post a receipt as a normal user; then as a user with the override right.Normal user refused '<Month Year> is soft-closed. Only somebody who may post into a closing month can.'; override user posts
Hard close needs a clean reconciliationLast month ended; Difference 0.00Click Hard close on last month.Status Hard-closed; valuation and account balance are frozen on the row; every earlier month also becomes Hard-closed
Hard close refused on a difference or an unfinished month(a) Difference 100.00; (b) current monthClick Hard close on each.(a) 'Stock valuation ... and the inventory account ... differ by 100.00 at <date>. Reconcile before hard-closing.'; (b) 'A month is hard-closed only once it has ended.'
Posting into a hard-closed monthLast month Hard-closedPost a receipt dated in last month, even as an administrator.'<Month Year> is closed for stock. Post it in an open month.'
Reopen orderTwo months hard-closed (Aug, Sep)Reopen Aug first; then Sep; then Aug.Aug refused 'Reopen 2026-09 first: a later month is hard-closed.'; Sep reopens; then Aug reopens

Lots

ActionWhenWhat you doWhat happens
Create a lot with expiryLot-tracked product with expiry managementNew lot LOT-2026-001, expiry 2027-03-31.Lot listed In use with that expiry; Open 360 link works
Lot rulesProduct tracking expiry; a serviceCreate a lot with no expiry; a repeat number; a lot for the service; change the product on an existing lot.'This product requires an expiry date on every lot.'; 'This lot or serial already exists for the product.'; 'Only stocked goods carry lots or serials.'; 'A lot cannot be moved to another product.'
Dates default from the shelf-life policyProduct shelf life 365 days; receipt gives manufacture date onlyCreate lot with manufacture date 2026-01-10.Best-before / removal / expiry are filled from the product's policy and follow the required order
Retest date blocks deliveryLot with Retest by 2026-08-01; delivery scheduled 2026-09-01Validate a delivery of that lot.'Lot <name> was due for retest on 2026-08-01. Record the retest first.'
Status and retireLot with stockSet Stock status to Quarantine; later Retired.Stock of a quarantined lot is not available; a retired lot is no longer offered on new documents

Serial numbers

ActionWhenWhat you doWhat happens
Create serialsSerial-tracked productNew serial SN-0001, condition New, warranty end 2028-01-31; repeat SN-0001 for another product.First saved; second 'This serial number already exists in the company.' (unique across the company)
Parent lot requiredProduct tracked by lot and serialCreate a serial with no parent lot; then with another product's lot.'This product requires a parent lot for every serial.'; 'Choose a lot belonging to the same product.'
Warranty order-Set warranty start 2027-01-01 and end 2026-01-01 (API).'Warranty end cannot precede warranty start.'

Reorder & pick-face rules

ActionWhenWhat you doWhat happens
Create a replenish ruleProduct, warehouseNew rule: min 10, max 50, safety 5, multiple 12, lead 7, supply Buy, supplier S.Rule listed; saving the same product / warehouse again updates the same rule (no duplicate)
Maximum below minimum-Min 20, Max 10.'Maximum must not be below minimum.'
Transfer supply needs another warehouseTwo warehousesSupply by Transfer with the same warehouse, then DXB2.'Choose another warehouse to transfer from.'; DXB2 accepted
Pick-face ruleBins A-01-01 (pick) and BULK-01Kind Pick face, bin A-01-01, refill from BULK-01.Saved; same bin for both, or a bin of another warehouse, is refused 'A pick face needs its bin and the bulk location it refills from, both in this warehouse.'

Drop-ship routes

ActionWhenWhat you doWhat happens
Create a route and sell drop-shipDrop shipments switch on; supplier SNew route for product P shipped by S, lead 5. Confirm a sale of P.A drop shipment is raised (supplier ships to customer) instead of a warehouse delivery; a second route for P is refused
Inactive routeRoute existsUntick Active and confirm a sale.The sale is delivered from stock as usual

Webhooks

ActionWhenWhat you doWhat happens
Create and see the secret onceRight inventory.events.manage; a reachable https test receiverNew webhook with address, tick two events, Create.Signing secret shown once with 'copy it now'; reopening never shows it again
Address checks-Use http://x.example, https://user:pw@x.example, https://192.168.1.5, a non-resolving host.'Webhooks are sent over https.'; 'Put credentials in the signature secret, not the address.'; 'That address is on a private network.'; 'That address does not resolve.'
Delivery and signatureWebhook on receipt_postedValidate a receipt; check the receiver.One POST per event, in order; headers X-A2N-Event-Id, X-A2N-Timestamp, X-A2N-Signature = sha256 HMAC of '<timestamp>.<body>' with the secret; a repeat shows the same event id
Failure back-off and auto-pauseReceiver returns 500Validate receipts and watch the webhook.Failures count up; wait grows 30 s, 60 s, 120 s... capped at 3,600 s; after 10 failures the status becomes Paused. Resume resets the failures and waiting time
Send test, send now, send againActive webhookClick Send test; Send now; Send again from sequence 0; sequence -1.Test sends a ping (type inventory.ping.v1) without moving the cursor; Send now delivers pending; from 0 resends everything; -1 'That sequence has not been published.'
Rotate the secretWebhook existsClick New signing secret.A new secret is shown once; the old secret no longer verifies new deliveries
DeleteWebhook with delivery historyDelete it.The webhook, its delivery history and its cursor are removed; a webhook of the same name can be created again
ActionWhenWhat you doWhat happens
Link two companies both waysUser is a member of both companies with the intercompany right in both; a partner standing for each companyLink company B: our customer for it = B-partner, its supplier for us = A-partner, Cost plus markup 8.5, goods on the way belong to the buyer.A link row appears in both companies at once with the same pricing; a transfer priced from A at cost 100.00 sells at 100.00 x 1.085 = 108.50
Linking refused without rightsUser is not a member of the other company, or lacks the right thereLink that company.'You do not belong to that company, so you cannot link companies.' or 'You need the intercompany right in <code> to link companies.'

Stock policy

ActionWhenWhat you doWhat happens
Negative stock: blockPolicy Block; product with 3 on handDeliver 5.Refused: stock would go below zero
Negative stock: warnPolicy WarnDeliver 5 of 3 on hand.Allowed with the warning '<code> is now below zero.'; on hand shows -2
Negative stock: approvalPolicy Approval; user without stock.negative.approve and one with itDeliver 5 of 3 on hand as each.First: '<code> would go below zero. Somebody with the right to approve negative stock has to confirm it.'; second can confirm and it posts '<code> taken below zero with approval.'
Rule precedenceCompany default Block; warehouse rule Warn; category rule Allow; product rule BlockDeliver more than on hand for a product in that category and warehouse.Product rule wins (Block). Remove it and the category rule (Allow) wins; remove that and the warehouse rule (Warn) wins; then the company default
Tracked and FIFO stock never go negativePolicy Allow; a lot-tracked product; a FIFO-costed productDeliver more than on hand of each.Both refused whatever the policy says
One rule per targetA rule for product PCreate a second active rule for P.'That target already has a rule. Change it instead.'; an inactive second rule is allowed
Approval threshold for adjustmentsThreshold 5,000.00Raise an adjustment worth 4,000.00 and another worth 6,000.00.4,000.00 posts without an approver; 6,000.00 waits for approval
Backdate policyToday 2 Oct; policy Needs the backdating rightPost a movement dated 1 Oct as a user without and with stock.backdate; then set Is refused.Without the right: 'A stock movement dated before today needs the backdating right.'; with it: posts and is audited; Refused: 'Stock movements cannot be dated before today in this company.'
Over-receipt toleranceTolerance 5 %; order of 100Receive 105 then 106.105 allowed (100 x 1.05); 106 refused
Defaults validation-Save approval value -1, over-receipt 101, GS1 prefix 'ABC12', empty transit account.'The approval threshold cannot be negative.'; 'The over-receipt tolerance is 0 to 100 percent.'; 'A GS1 company prefix is 6 to 12 digits.'; 'Give the goods-in-transit account code.'

Units & packaging

ActionWhenWhat you doWhat happens
Packaging conversionProduct in PieceNew packaging Carton, holds 12. Receive 5 Carton.60 pieces are booked (5 x 12); a unit of the same family (for example Dozen) converts by its ratio without packaging
Changed factor supersedesCarton = 12Save Carton again with holds 24.Old row becomes Superseded (shown with Show superseded); new row Current = 24; old documents keep 12; saving the same factor and barcode again changes nothing
Packaging validation and retire-Unit name equal to the product's unit; factor 0; then Retire a current row.'<unit> is already the product's own unit.'; 'Enter a positive value.'; retired row becomes Superseded and cannot be used on new moves ('<name> is not a unit <code> can be moved in...')

Inventory features

ActionWhenWhat you doWhat happens
Turn a switch offAdministratorApplications > Inventory > Features: turn Cross-docking off, save. Open Inventory menu; try to create a cross-dock rule by API.Cross-docking menu disappears; existing records still readable; the change is refused 'Cross-docking is disabled for this company.'
Drop shipments off hides routesSwitch on with routesTurn Drop shipments off.Drop shipments, Drop-ship returns and Drop-ship routes menus go; sales no longer raise drop shipments for new entries

Inventory fields

ActionWhenWhat you doWhat happens
Hide and require fieldsAdministratorSet Retest by (lot) Required; edit a lot without a date. Set Serial warranty end Hidden; create a serial with a date by API.'Retest by is required.'; 'Serial warranty end is turned off.'
Hide Source documentAdministratorSet Source document Hidden; create a transfer with an origin by API.Refused 'Source document is turned off for this company.'; the transfer form no longer shows the field