Stock Movements
Stock movements are the core workflow in OpenBoxes. They track the movement of goods between locations — from a central warehouse to a clinic, between warehouses, or from a supplier to your facility.
Understanding Stock Movements
A stock movement represents a request to move specific products from one location to another. Every movement has:
- Origin — Where the goods come from
- Destination — Where the goods are going
- Status — The current stage in the workflow
- Line items — The products and quantities being moved
Creating an Outbound Stock Movement
To send stock from your location to another facility:
- Navigate to Stock Movements > Create Outbound
- Select the destination (the facility requesting goods)
- Set the requested delivery date
- Add line items — select products and enter requested quantities
- Save the movement
At this point, the movement is in Requested status and ready for warehouse staff to begin fulfillment.
Tip: If you regularly send the same products to the same location, save time by using a previous stock movement as a template. Copy it and adjust quantities as needed.
The Fulfillment Workflow
Outbound stock movements follow a structured workflow:
Request
The requesting facility (or a planner) creates the movement with desired products and quantities. This serves as the formal request.
Pick
Warehouse staff work through each line item, selecting which lots and bin locations to pull from. OpenBoxes suggests picks using FEFO (First Expired, First Out) logic — lots closest to expiry are suggested first.
For each line item, the picker confirms:
- The lot number being picked
- The bin location it is pulled from
- The actual quantity picked
If the requested quantity is not available, the picker can adjust the quantity down. The system records the discrepancy.
Pack
After picking, items are packed into shipping containers (boxes, pallets, coolers). During packing:
- Assign picked items to containers
- Record container details (type, weight, dimensions)
- Generate packing lists for each container
Ship
Once packed, the movement is marked as shipped. This records:
- Shipment date
- Tracking information (if applicable)
- Expected delivery date
Shipping deducts the items from the origin location's inventory.
Receiving an Inbound Movement
When goods arrive at your location:
- Navigate to Stock Movements > Inbound to see pending deliveries
- Open the movement and click Receive
- For each line item, enter the quantity received
- Note any discrepancies (short shipments, damaged goods)
- Complete the receiving process
Received items are added to your location's inventory. See the Receiving guide for details on partial receiving and putaway.
Status Tracking
Every stock movement progresses through defined statuses:
| Status | Meaning |
|---|---|
| Requested | Movement created, awaiting fulfillment |
| Picking | Warehouse staff are selecting items |
| Picked | All items selected, ready for packing |
| Packing | Items being packed into containers |
| Packed | Ready to ship |
| Shipped | In transit to destination |
| Received | Destination has received the goods |
You can track any movement's status from the stock movement list view. Both the origin and destination can see the current status.
Tip: Use the status filters on the stock movement list to focus on what needs your attention — for example, show only movements in "Picking" status to see your warehouse team's current workload.
Substitutions During Picking
When a requested product is out of stock, OpenBoxes allows substitutions:
- During picking, if a product is unavailable, click Substitute
- OpenBoxes suggests alternatives from the same product group
- Select the substitute product and the quantity
- The substitution is recorded on the movement for the requestor to see
The destination receives notification of any substitutions so they know what to expect.
Tip: Set up product groups before you need them. Link all formulations or brands of the same item so substitution suggestions are relevant and useful.
Inbound Stock Movements
Inbound movements represent goods coming to your location. They can originate from:
- Another warehouse (inter-facility transfer)
- A supplier (linked to a purchase order)
- A return from a downstream facility
You can see all expected inbound movements from Stock Movements > Inbound, along with expected delivery dates and current status.
Best Practices
- Process movements promptly — A movement stuck in "Requested" for days delays patient care
- Pick accurately — Double-check lot numbers and quantities during picking to avoid downstream problems
- Record all discrepancies — If you received 90 instead of 100, record it; do not round up
- Ship before end of day — Finalize shipments daily so both locations have accurate inventory counts overnight