Table of Contents

Version 2021.4

Colin Updated by Colin

September 22, 2021

This update brings multiple enhancements to ShipStream's rate shopping and shipping method selection logic. Using Service Levels, Manifest Carriers, and Virtual Shipping Methods as well as new Location Types. Also adding support for three new regional carriers, Global Webhooks, and dozens of other improvements!

Service Levels

The determination of a "Target Ship Date" depends on a "Cutoff Time" whereby orders that are "Ready to Ship" before the cutoff are designated with a same-day Target Ship Date and orders that come after are deferred to the next business day. Previously, this concept was managed through the "Target Ship Date" section of the system configuration where one would specify a Cutoff Time for each courier and a Monday-Friday weekly schedule was assumed. This configuration has been replaced by a new concept called "Service Levels" which encapsulate holidays to be observed and different cutoff times for different days of the week and different manifest couriers into an easy to manage feature which reduces the number of configuration fields to manage down to just one ("Service Level"). Create as many Service Levels as you need and assign them to each merchant as appropriate or just update the "Default" one to reflect your standard weekdays and cutoff times.

The old system configuration for the many "... Same-Day Cutoff Time" fields found under System > Configuration > Shipping Settings > Target Ship Date will not be automatically migrated to Service Levels and only a "Default" Service Level will be added upon upgrading to 2021.4. Please coordinate the release with support if needed so that your upgrade will not result in any misconfiguration.

Manifest Couriers

While Manifest Couriers are not a new concept in ShipStream, it is now possible for you to add your own custom Manifest Couriers complete with images for Loading and Manifests. This allows you to finally use the Loading feature with External Shipping Methods!

The Manifest labels have received a few updates as well, now displaying the cubic volume, most hazardous goods type, and number of pages of documents associated with the manifest.

Virtual Shipping Methods

Virtual Shipping Methods are now fully user-controlled so you can mix up your own Virtual Shipping Methods to meet your specific needs! For example, if you want a "Cheapest All" method that excludes all USPS methods but still want to support USPS as an option to be chosen specifically in other cases you can easily do that. The only hard part is coming up with the names!

You can also now create rate tables for your Virtual Shipping Methods so that fixed pricing can be quoted to your customers while still using the individual rate tables for shopping the underlying shipping methods.

Stock Location Types

Stock Locations have long had two attributes, Pickable (Yes/No) and Pallet (Yes/No). The Pickable attribute informs the batch generation process to ensure optimal picking batches, but the Pallet attribute was mostly informational. In this release, we are replacing the "Pallet" attribute with a new user-defined Location Type! You can now define as many location types as you like and use pattern matching similar to before to have locations automatically assigned or assign them individually. For example, you could have different location types for secure storage, cold storage, extra-wide pallets, short pallets, floor areas, rack capacities, and anything else that distinguishes one location from another!

The effect of these location types, for now, is just informational but we will be adding many new features in the future which will use location types to greater effect such as reporting warehouse utilization by volume or weight, regulations compliance, billing, and more.

The configuration located at Warehouse > Stock > Locations > Pickable/Pallet Location Patterns will be removed upon upgrading to 2021.4. This functionality is replaced by the patterns for the new Location Types but while the functionality is similar it is fundamentally different so it cannot be automatically migrated. If you are using the Location Patterns configuration, please be sure to have the new Location Types and corresponding patterns planned out before upgrading.

New Regional Carriers

We've added full support for three new regional carriers, Lasership, LSO, and Spee-Dee, through our partnership with EasyPost! Rate shopping, labels, and tracking are all fully supported making adding these regionals a truly zero-code endeavor!

Global Webhooks

A new "Global" option added to the webhooks allows you to create one webhook which applies to topics generated by all merchants instead of just a single merchant. This is particularly useful for 3PLs with special operational needs and allows for easy integration with powerful tools like Pipedream and custom applications!

Integration Errors

Investigate integration errors more easily with an improved "Integration Errors" grid (previously called "Plugin Errors"). The new "Subject Type" and "Subject Name" columns will contain references to the subject which triggered the error thereby making it easier to correlate errors to the related subjects on the other end of the integration. Other minor improvements to the Errors pages and emails improve the user experience when interacting with errors.

The System menu items related to plugins and integration have been relocated to System > Integrations.

Other Improvements


  • Fixed a potential allocation failure when the address cannot be classified for FedEx Ground/Home Delivery orders
  • Fixed "Default" allocation algorithm should exclude warehouses which cannot resolve a Shipping Account
  • Fixed order allocation was not updated on the fly in some cases when the Backorder Policy is "Up to X"

Order Management

  • Reorganized Internal Notes field on create order page to Order Options section
  • Added field to edit Internal Notes and Custom Greeting after order is created under Order Options section
  • Added missing Delayed Ship Date option in Client UI
  • Fixed issues which prevented creating orders which included Packaging Features as order line items
  • Fixed address validation cache not updated when a user chooses a classification for an unverified address
  • Fixed a potential processing failure when updating address classification
Once an Order is complete is can no longer be edited.


  • Replaced strict validation when creating BOM with hazmat components with warning when a kit component's Regulation does not match the parent product's Regulation
  • Fixed default "Dynamic Allocation" configuration option at merchant scope not respected
  • Fixed support for user-defined product attributes with "Price" frontend type


  • Ignore scans while loading mask is showing to prevent accidental double-scans and unexpected side effects
  • Fixed 'Could not load order item' error caused by rapid duplicate scans during picking
  • Fixed error in Packing UI for specific circumstance related to Packing Instructions


  • Added "Active" field to Rate Plans to allow plans to be deactivated
  • Added "Delete" button to Rate Plans to allow plans to be deleted

Address Validation

  • Fixed validation by address history does not set classification
  • Improved order status history messages regarding original source of classification
  • Disabled address validation errors relying on zipcode PO Box classification due to unreliable data:
    • Detected PO Box address line with non-PO Box zipcode.
    • General Delivery can only be designated for Post Office zipcodes.
  • Fixed processing shipments error when address classification is not known in specific circumstances with FedEx orders

Packing Solutions

  • Improved handling of Packing Solutions failing to be resolved due to errors involving missing product data
  • Fixed container weight not considered for shipping method validation

Admin UI

  • Added Request ID column to Event Log grid for easier lookup (one Request ID can have multiple events)
  • Added Reason column to Packing Solutions Overrides grid
  • Allow Total Void % to be filtered and sorted on Packing Solutions grid
  • Allow Created By to be filtered on Packing Solutions grid
  • Fixed values of some counts on the dashboard
  • Fixed a potential unexpected error when viewing the Returns grids
  • Fixed broken 'Add Products' button for single-merchant installations
  • Fixed "Shipments" export including duplicated rows
  • Fixed an error with Global Search not returning results in some cases

Client UI

  • Fixed correct Return Label status not set after voiding
  • Fixed missing Return Label role resources


  • Improved validation and handling of errors with setting special_other attribute via API and Import Tasks
  • Improved error messages when ZPL conversion service exceeds rate limit
  • Fixed Location column not appearing on automatic printing of new batches
  • Fixed an error when processing order stocks causing shipments to not appear for some orders
  • Fix shipment status not updated in some cases after picking a Bulk Fulfill Order
  • Fix Product level Customs Value should not be required if Order level Customs Value is provided
  • Fixed Order Items and Packaging Data exports duplicated rows in some circumstances

API Changes

  • Added service_description key to shipment:packed and shipment:reverted webhook payloads
  • Added webhook topic for shipment:labels_voided

How did we do?

Version 2021.5

Version 2021.3