Table of Contents

Version 2020.2

Colin Updated by Colin

November 12, 2020

Return Labels

ShipStream users can now create Return Labels for ASNs and RMAs with just a few clicks! The Return Labels can be delivered via email from the carrier straight to the customer or downloaded though the admin or client portal as a PDF file. Ensure accuracy for your returns processing and start saving time and shipping costs for your inbound shipments!

For FedEx accounts, users will need to contact FedEx and request FedEx turn on the email Return Labels and cancel email Return Labels feature.

New script type: Ready to Ship Time

We've introduced a new script type to allow advanced control over how ShipStream determines the Ready to Ship time for your orders. The Ready to Ship time informs the calculation of the Target Ship Date so with this new script type you can affect the Target Ship Date based on any order information. For example, you could set a later Ready to Ship Time for orders that come in the afternoon with a large number of items to avoid large last-minute orders from having a same-day Target Ship Date. This script executes every time an order changes from not-ready to ready.

if (order.options.shipping_method === 'external_crossdock') {
return'tomorrow', 'America/New_York')
} else if (order.old_status === 'backordered') {
return'+2 hours')
} else {

Static vs Dynamic Allocation

When using "Simple Cheapest" or "Simple Fastest" allocation algorithms ShipStream performs real-time Dynamic Allocation for merchants that have inventory in multiple warehouses. This takes into account which warehouses have inventory in stock to get the order completed as soon as possible using available inventory. However, if you'd rather your orders be allocated to the optimal warehouse ignoring real-time inventory you can now disable this Dynamic Allocation so your order will remain backordered until it is in-stock at the optimal location.

You can also override the configured default at the Product level so that specific products can be treated differently from the default:

And of course at the Order level as well, using the UI, scripts or the API:

Choose Locations and Unlock Pick Locations

The Choose Locations page now requires you to check which items you wish to update. Changing the pick locations for a Shipment locks the items to that location so that they will not be optimized to the first pickable location which is sometimes undesirable so by being more precise with your pick location updates the system will be better able to optimize pick locations for the rest of the Shipment. Additionally we added a button and a mass-action for "Unlock Pick Locations" so that if you have used Choose Locations you can unlock the locations allowing inventory drops to automatically update the shipments to your newly dropped inventory if appropriate.

Edit Origination Date and Lots/Expirations

For any products with Lot Type using a Burn Order of "FIFO (Origination Date)" or "LIFO (Origination Date)" you can now edit the Origination Date. This is set by default when an ASN or RMA is accepted but in case you set the Lot Type after receiving the product now you can set it also upon relocation. Note, the Burn Order options were renamed from their previous names "FIFO (Accepted Date)" and "LIFO (Accepted Date)" for consistency.

Sometimes mistakes are made, so users can now also edit Lot Numbers, Expiration dates and Origination dates from the Admin UI and Cycle Count pages.

Import Lot/Expiration Data

You can now import Lot/Expiration data when importing Locations making it much easier to mass-relocate inventory or add lot tracking data to inventory that was checked in before a Lot Type was set.

Bulk Fulfill Orders with BOM Products

The Bulk Fulfill Order system now allows all similar shipment items to be considered part of a like-group for picking and packing even if they come from different order items. For example, if a pickable item exists as a component of multiple Bill of Materials kits or different quantity-type variations of the same item, the shipments containing this item will be considered equivalent for the purposes of picking and packing even if the originally ordered items are different! Inventory for quantity-type BOMs can be picked from any location containing the items regardless of what variation they contain. For example, an order for 5 singles and an order for a 4-pack plus a single can now be grouped together and picked either from a location containing singles or cases or both!

When picking from case locations, the pickers will be directed to pick the most efficient number of items so that for an item that is stocked as cases of 12, should there be 50 orders for single items, the picker would be directed to pick four cases and two singles.

Automatic Component Allocation for Work Orders

We've added a new option to make creating Work Orders for complex Bill of Materials much easier! In addition to the "First-Level Only" and "All Sub-Assemblies" options you now have "Automatic" which will automatically choose the best BOM and the best combination of nested BOMs if necessary to satisfy the quantity you wish to assemble.

Rate quotes for Virtual Shipping Methods

Previously you could only request rate quotes for specific shipping methods. Now, you can also request rates for the virtual methods like "Cheapest 3 Day". This applies to both the rate.quote API and the Shopify plugin. For your Shopify plugin users you can now expose these virtual rates straight into your shopping cart giving you the full power of our rate shopping capabilities with no custom software!

Add Containers from the Admin UI

In case you receive new containers for an ASN or RMA that has already been accepted you can now add containers straight from the Admin UI by just clicking "Add Container".

Use Blind Count for Processing

Using "blind" counts ensures that users must actually perform a real count and cannot guess numbers. A new configuration option allows you to hide the green check mark for each delivery type (ASN, RMA, Other Delivery, Cancellations), thereby removing this temptation. The default behavior is "No", to continue to show the check mark.

Download existing Zone/DAS maps

You can now download your Zone/DAS maps straight from ShipStream making it much easier to modify or view the contents using Excel and re-upload as needed.

Warehouse tags for Shopify orders

When a Shipment is completely packed a tag indicating the warehouse will be pushed back to Shopify so the Shopify users can see in Shopify which warehouse or warehouses an order was fulfilled from.

New mass-actions for Deliveries

We've added new mass-actions for managing ASNs, RMAs, etc.

SKUs column for Deliveries

We've added a SKUs column for all delivery types just like you have on the Orders and Shipments grids. Just like the other grids the tooltips show the full product name and the number displayed in one row is limited to 10. It's the little things.

Warehouse column for Lots/Expirations

When showing data from all warehouses you will now see a Warehouse column in the Lots/Expirations grid and the number of locations where inventory for that Lot currently stored.

Batch and BFO ID in Stock Movement Log

To help you correlate individual picking actions to specific batches we've added "Parent Type" (Batch and Bulk Fulfill Order) and "Parent ID" columns to the Stock Movement grids as well as a Stock Movement grid at the bottom of the Batch and Bulk Fulfill Order pages.

Alternate Location Barcode Pattern

If you are transitioning from another WMS or just don't want to use the "L:" prefix for location barcodes you can now specify an alternate location pattern in the configuration so that ShipStream can recognize your location barcodes without the prefix.

Optional Location scans

If you're comfortable with your pickers scanning only the product barcode and not the location they are picking from you can now disable the requirement for the latter by setting the new "Require Location Scan" option to "No". Pickers will still be able to scan the location to verify it is correct so long as they scan it before scanning the product.

Process Hazmat on a separate FedEx account

The process for closing out a FedEx manifest with full hazmat orders isn't safe to do in parallel with other non-hazmat manifests requiring a cumbersome workaround due to their Web Services limitations. However, now you can easily setup a separate account for processing Hazmat orders to ensure there are no conflicts when normal goods at the same time as hazmat.

More Amazon Merchant Fulfillment detail

We've added a lot more detail to the order history for Amazon Merchant Fulfillment Services so that you can see every service that was offered and the price as well as every service that was rejected and the given reason.

Printing Improvements

ZPL and Raw Images

ShipStream now supports receiving and printing labels in ZPL format to ensure the best quality and fastest performance if you utilize ZPL compatible thermal printers (just about any Zebra printer and many others). When ZPL isn't available or enabled we will store and send raw images straight to the printers rather than PDF files to reduce bandwidth and allow for higher quality thermal label prints. When downloading labels they will still always be downloaded as PDF files even if they are received, stored and sent directly to the printers as ZPL or raw images.

Navigate to System > Configuration > Warehouse > Operations > Printing

Auto-rotated Labels

ShipStream will now auto-rotate labels to their human-readable orientation so no more turning your neck to read the labels on-screen! Additionally, the FedEx labels are rotated the other direction so that the label contents don't overlap with FedEx-supplied label watermarks.

Smarter Packing Instruction Files

When users upload Packing Instruction files and choose the "Label" print target, ShipStream will make an attempt to extract a 4x6 image from the file even if the PDF paper size is another size, allowing your labels to print as they were meant to be on your thermal printers without any hassle of cropping the page yourself!

Improved Print Quality

The label images embedded into PDF files are now embedded with the proper padding for 203dpi printers to print the label with no scaling which eliminates the dithering effect sometimes seen on thermal labels resulting in text and barcodes that are now noticeably more crisp.

Faster Print Spooling

ShipStream Client now utilizes a new custom, more efficient PDF rasterizer resulting in a significantly reduced file size sent to the printer which should speed up print jobs for large batches, especially for printers with lower built-in memory. Every second counts!

To take advantage of some of these improvements you will need to update your ShipStream Client software installed on your warehouse computers. This can be done by simply running the installation again. Please contact us once all devices are updated so that we can enable the ZPL and raw images on your installation.

Various Bug Fixes and Improvements

  • Removed "index.php" from the urls. The old urls will continue to operate and are not redirected to the new urls
  • Relabeled "Stores" to "Brands" in the UI - this does not affect any APIs
  • Add "Manifest #" and "Loaded At" columns to Packages exports
  • Add "Lot Locations" export to have one row per location containing Lots in the warehouse
  • Add "Warehouse" column to Lots/Expirations grid
  • Fix visibility of options by merchant scope when editing Packaging Feature attributes via Update Attributes mass-action
  • Fix 'Cancel Backordered Items' and 'Cancel Unfulfilled Items' buttons not visible for client users
  • Minor improvements to Edit Work Order page
  • Fix deleting some BOMs could potentially delete associated Work Orders
  • Fix Global Search for Client UI will now work for all users, not just those with full permissions
  • BOM child component yield limit increased from 1000 to 1200 and improved rounding error handling
  • Fix support for some user-provided PDF files that previously would report errors when uploaded
  • Fix UPS Declared Value is not shown on Shipments page when order-level Declared Value is used

API Changes

  • Add support for passing is_valid field in order.create address object. This will cause the address to be considered valid and address verification to be skipped.
  • Add allocation to rate.quote response. This allows you to see which warehouses were chosen for fulfillment in the rate quote.
  • The delivery:committed webhook payload now includes the correct qty_available at the time the webhook was registered.
  • Added new inventory.lots API endpoint for accessing on-hand Lots/Expirations. (Documentation)
  • Added items.lot_data to ,, and API responses.

External Shipping Method Changes

  • Renamed "Label URL" to "API Endpoint URL"
  • Removed "Track URL"
  • Added "API Endpoint Capabilities" to denote which actions should call out to the "API Endpoint URL"
  • Added new capabilities for "Create Return Label" and "Cancel Return Label"

How did we do?

Version 2021.0

Version 2020.1