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:

  1. Navigate to Stock Movements > Create Outbound
  2. Select the destination (the facility requesting goods)
  3. Set the requested delivery date
  4. Add line items — select products and enter requested quantities
  5. 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:

  1. Navigate to Stock Movements > Inbound to see pending deliveries
  2. Open the movement and click Receive
  3. For each line item, enter the quantity received
  4. Note any discrepancies (short shipments, damaged goods)
  5. 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:

  1. During picking, if a product is unavailable, click Substitute
  2. OpenBoxes suggests alternatives from the same product group
  3. Select the substitute product and the quantity
  4. 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