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 Outbound › Create Outbound Movement
- 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 Inbound › List Inbound Movements 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 offers the products linked to it as Substitute product associations
- 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 substitute associations (Products › Associations) 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 Inbound › List Inbound Movements, 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