Record Stock Adjustments and Withdrawals
If receiving is the official path for increasing stock, Adjustment and Withdrawal are the official paths for explaining stock that changed or left the system.
Which Screen to Use and When
Adjustment
/stock/adjustment corrects the ledger quantity.
Good examples:
- stock count reconciliation
- damaged, lost, or discarded stock correction
- correction of an initial registration error
Withdrawal
/stock/withdrawal records actual use or stock removal.
Good examples:
- internal use
- treatment-room consumption
- sample giveaway
- non-POS stock use
Movement History
/stock/movement-history is the audit trail for stock movement.
Good examples:
- tracing why an item increased or decreased
- comparing purchase, adjustment, withdrawal, sale, and consumption flows
- preparing evidence for investigation
Operate Adjustment
Adjustment status flow
DRAFTSUBMITTEDAPPROVEDREJECTEDCANCELLED
Recommended workflow
- Write a clear adjustment reason.
- Select the target item and lot.
- Enter the increase or decrease amount.
- Submit for review.
- Let the approver complete the approval step.
Why the reason matters
Adjustment is an exception flow. If the reason is vague, later teams cannot tell whether the issue was shrinkage, disposal, damage, or a registration error.
Operate Withdrawal
Withdrawal status flow
DRAFTSUBMITTEDAPPROVEDREJECTEDCANCELLED
Required withdrawal context
- purpose
- item
- lot
- quantity
- memo
How to distinguish Adjustment vs Withdrawal
- ledger correction ->
Adjustment - real stock leaving or being used ->
Withdrawal
Mixing the two makes later root-cause analysis much harder.
Start Adjustment or Withdrawal from the Stock Screen
The main /stock table can launch either flow directly from the affected item row.
Good use cases
- when lot balance and reality do not match
- when internal use should be recorded immediately
- when an expiring lot needs to be removed properly
Use Movement History for Traceability
Movement History can combine:
- search term
- start / end date
- movement type
Example movement types
PURCHASEADJUSTMENTWITHDRAWALSALETRANSFERCONSUMPTIONR_WITHDRAWALR_SALER_TRANSFERR_CONSUMPTION
Common operational patterns
- sudden increase -> check
PURCHASEor recovery-styleR_* - unexplained decrease -> check
WITHDRAWAL,SALE,CONSUMPTION - ledger-only correction -> check
ADJUSTMENT
Why Approval Matters
Both adjustment and withdrawal can be abused operationally.
- too much adjustment can hide loss
- too much withdrawal can hide unofficial use
Separating requester and approver is therefore a strong default policy.
Practical Tips
- Always choose the lot when the item is lot-tracked.
- Clear out non-approved adjustments and withdrawals before month-end count review.
- Check Movement History before creating a new discrepancy document when the cause is unclear.
- Do not manually withdraw stock again for the same POS sale.