Getting Started
Interface Basics
Printers and Scales
Device Hub
Device Hub Overview
Install the Device App
Install the Device Service
Adding Printer and Scale Devices
Legacy Client Migration Guide
Device Barcodes
Legacy Device Management
Printer Checklist
Installing the Printer and Scale Client
Scale Setup
Printer Setup
Printer - Additional Arguments
Troubleshooting the Print and Scale Server
Getting the Local Windows User's Name
Troubleshooting
Shipping
Order Processing
Order Allocation
Order Processing Loop
Packing Solutions
Backorders
Ready to Ship
"Unable to Process" Order status
Packaging Features
Orders
Custom Fields for Orders
Reference Numbers
Shipping Accounts
Packing Instructions
External Shipping Methods
Tracking Numbers for Offline Shipments
Other Shipping Options
Packing Slip Design
Service Levels and Target Ship Dates
Outbound SSCC Barcodes
International Shipping
Receiving
Deliveries (ASNs, RMAs, etc.)
Double-Scan to Begin Count
Auto-Advance to Put-Away After Processing ASN
Actionable Reports
Catalog
Bill of Materials/Work Orders
Bill of Materials
Bill of Materials — Quantity-types
Work Orders
Import Bill of Materials
Virtual Inventory
Regulations
Products
Lots/Expirations Tracking
Import Products
Operations
Warehouse
Picking Classes
Picking Batches
Bulk Fulfill Orders
Manifests (Loading)
License Plates
Time Tracking for Administrators
Time Tracking for Staff
Relocations
Import Locations, Lots and Inventory
Rating
System
Configuration
User Management
Warehouses
User Roles
Merchants and Brands
Third Party Billing
Login via Badge
Manifest Couriers
Integrations
Plugin Subscriptions
Merchant API Users and Roles
External Shipping Method API
ShipStream Plugin Fostering Program
EasyPost
Amazon Selling Partner
Amazon Merchant Fulfillment
CartRover
Freight Club
SPS Commerce
Scripting
Scripting Basics
Before Create Order Scripts
Preprocess Packing Solution Scripts
Ready to Ship Time Scripts
Picking Class Shipment Matching Scripts
FAQ
How-To: FedEx Production Key Certification
How-To: Brand-Specific Shipping Account
Pattern and Replacement RegEx
ShipStream's Subprocessors
ISO Alpha-2 Country Codes
ShipStream Flow
Release Notes
ShipStream Releases
Version 2022.2
Version 2022.1
Version 2022.0
Version 2021.6
Version 2021.5
Version 2021.4
Version 2021.3
Version 2021.2
Version 2021.1
Version 2021.0
Version 2020.2
Version 2020.1
Version 2020.0
Version 2019.9
Version 2019.8.1
Version 2019.8
Version 2019.7
Version 2019.6
Version 2019.5
- All Categories
- Shipping
- Order Processing
- Order Processing Loop
Order Processing Loop
Updated
by Colin
Order processing in ShipStream is an automatic process that happens in real-time, and is constantly working to optimize labor and shipping costs. There are many decision points that factor into the final outcome and understanding how ShipStream factors in these decisions is not necessary to use ShipStream but may provide insight and clarity about how to get the most out of ShipStream. Some of these factors at a high level include:
- Which warehouses have the needed inventory in stock?
- What specific containers does the allocated inventory fit into?
- What is the cheapest shipping method that will hit the desired delivery date?
Actions that will cause this process to be re-evaluated include:
- An order with allocated inventory was canceled
- A manual inventory adjustment
- An ASN, RMA or other delivery was committed
- The "Reallocate Orders" mass-action on the Products grid
- The "Reprocess Shipments" mass-action on the Orders grid and Shipments grid
Processing Stages
- New order created or inventory updated. Unless an order is fully backordered it will proceed to the next stage.
- Generate multi-warehouse inventory permutation. If you have inventory in multiple warehouses this will generate all of the plausible ways of dividing inventory between them, which may include all inventory allocated to each warehouse if everything in stock. This process can be affected by the Order Allocation configuration options or order properties.
- Generate Packing Solutions. At this stage the Packing Solutions are generated for each of the inventory permutations discovered in the previous step.
- Run Order through "Preprocess" script. This allows early adjustments to how items are separated into shipments, which shipping methods, picking class and infill are assigned to a set or subset of the items. See Preprocess Packing Solution Scripts.
- Resolve Packing Solutions for all providers. Depending on which Packing Solution providers are enabled, the items will be evaluated by each provider and a Packing Solution created.
- Choose the best Packing Solution. From all available Packing Solutions the best will be chosen, considering if one is marked as a "Preferred" solution and if any solutions are disabled.
- Shop rate quotes. If virtual shipping methods are used rate quotes will be calculated for each applicable real method and the best one chosen. Depending on the configuration and this result the cheapest warehouse allocation will be chosen. See Rate Shopping.
- Allocate Order to inventory. Given the optimal inventory allocation has now been determined the inventory will be allocated to this order in the chosen warehouses.
- Generate Packing Solutions. Now that the warehouse allocations are finalized the packing solutions are determined once again using the same process as in stage 3.
- Create Shipment for each container. Based on the results of the previous step, a new shipment is created for each subset of items. The inventory at this stage is allocated but not yet reserved to specific shelf locations.
- Resolve Target Ship Date and Shipping Method. The shipping method if not already set will be determined based on rate quotes for each individual shipment, and based on the shipping method and warehouse configuration a Target Ship Date is set for the shipment.
- Assign Shipment to Picking Class. Now that all other information is set, the Picking Classes defined will be evaluated in order to classify each Shipment and the appropriate Picking Class is assigned.