Table of Contents
- Protected Customer Data
- Picking Exceptions
- Removed Shipments
- Packing Exceptions
- Auto-Pack
- Shortest Distance Allocation
- USPS Ground Advantage
- Technical Contact
- Webhook Health
- Edit Package Permission
- Reject Packages Exceeding Max Rate Table Weight
- Excel Workbook Format
- Bulk Order Submission
- Other Improvements
- Merchant API Changes
- Grid Changes
Version 2024.0
Updated by Colin
- Protected Customer Data
- Picking Exceptions
- Removed Shipments
- Packing Exceptions
- Auto-Pack
- Shortest Distance Allocation
- USPS Ground Advantage
- Technical Contact
- Webhook Health
- Edit Package Permission
- Reject Packages Exceeding Max Rate Table Weight
- Excel Workbook Format
- Bulk Order Submission
- Other Improvements
- Merchant API Changes
- Grid Changes
Protected Customer Data
ShipStream takes the protection of your customer's data extremely seriously, which is why we are proud to announce our new Protected Customer Data feature suite: a combination of data masking and retention controls and exhaustive audit logging for every access to your customer's personal information. Complying with data privacy regulations like CCPA, GDPR, and requirements from industry-leading partners like Amazon and Shopify can be a daunting task, but now it is virtually effortless for both 3PLs and merchants to manage access to your protected customer data in ShipStream.
Picking Exceptions
Mistakes happen, unfortunately, so when they do, you want to have good visibility on those issues. Also, you don't want them to slow you down. To this end, we have added a "Remove From Batch" button to the Picking UI and a new Picking Exception status which allows your pickers to easily exclude an uncooperative shipment from their picking batch and flag it for later inspection.
Removed Shipments
A shipment can be removed or even deleted from a Picking Batch or Bulk Fulfill Order for many different reasons. In this new version, these removals will be recorded for forensic and analytical purposes and this ties in closely with the feature above since the user-provided reason for removal is recorded here as well.
Packing Exceptions
The Packing UI has gained a new "Report Exception" button which collects a comment from the user and changes the shipment status to the new "Packing Exception" status for easy reference. This new status and the user's comments are only visible to staff users, not client users. Use this new feature to improve your processes for handling pick errors, invalid addresses, and more.
Auto-Pack
You can now more easily use the barcode-focused Packing UI for products that... lack barcodes with the new "Auto-Pack" button! The Packaging Features will still be applied as if you had scanned each barcodeless product, but now you can complete shipments of barcodeless products using the same user-friendly touch-optimized scanner UI.
The feature can also be enabled for barcoded shipments and items, but use it with caution!
Shortest Distance Allocation
While the "Cheapest Total Cost" algorithm is extremely accurate and robust, it also requires a fair amount of maintenance and setup. The new Shortest Distance order allocation algorithm is a great alternative or fallback that requires zero setup and maintenance!
The distance between each origin and the destination is computed using geographic coordinates from an extensive database of over 109,000 US cities, over 41,000 US zip codes, and about 1.9 million cities and towns across the rest of the world.
Like the others, this allocation algorithm works with the Single Warehouse option as well as Static and Dynamic allocation.
USPS Ground Advantage
As you are surely aware if you are a USPS customer, USPS consolidated their First Class Package and Parcel Select services into Ground Advantage along with a few other changes. We've updated all USPS and USPS-last-mile services to account for these changes without requiring any changes for you!
USPS
- Relabeled "USPS Parcel Select" to "USPS Ground Advantage" for the "usps_US-PS" service code
- Ground Advnatage surcharges are applied to USPS First Class
- Updated max days in transit to 5 days
- Updated surcharges to match published surcharge rates
UPS SurePost
- International weight surcharge threshold reduced from 70 to 55 lb
- Added max days in transit
- Added validation and surcharges according to the SurePost Terms and Conditions
FedEx Ground Economy
- Changed max days in transit for FedEx Ground Economy from 14 to 7
Amazon
- Added Ground Advantage service code, behaves the same as Parcel Select
Technical Contact
We've added a Technical Contact section to the system configuration where you can provide a name, email address and Slack-compatible webhook URL to receive automated notifications about technical matters such as failing webhooks.
This configuration can be set at both the global and merchant scope. For 3PLs, this means you can easily control whether the notifications are sent only to your internal team, to the merchant's technical contact, or both.
Slack-compatible Webhook URL
In addition to emails, you can send webhooks directly to a Slack channel or any other web URL for immediate visibility for your team.
Webhook Health
Easily get a picture of the health of your webhooks and see detailed error messages for recent errors. Additionally, repeated webhook errors will be reported to the new Technical Contact (described above) before being throttled after one hour and deactivated after one week.
Edit Package Permission
The pencil icon on the Packing UI allows a user to make advanced edits to the scanned items for a package. This can be useful but can also provide packers with a bit too much freedom. We've added a new user permission at Scanner > Packing > Edit Packages which is now required to have this capability.
Reject Packages Exceeding Max Rate Table Weight
Although a carrier may accept packages over their standard dimensional weight limit (at the expense of paying an oversize surcharge), you may wish to simply reject a shipping method when the package's dimensional weight exceeds the highest table value. Users can now choose how to handle when the max weight in a rate table is exceeded with the "Max Weight Exceeded" option on Rate Plans.
- Use max value: The value for the heaviest weight will be used.
- Reject with error: An error with the message "The billable weight exceeds the highest value in the rate table." will be thrown to prevent the shipping method from being used.
Excel Workbook Format
We've updated our Excel formatted exports from the ".xml" format to the more common ".xlsx" format along with some nice user experience improvements:
- First row is styled differently and in a "freeze pane"
- Dynamic column widths to avoid cut-off text
- Proper date, number and percentage types with common formats applied
- Long numeric text and text with leading 0s is not converted to numbers
- Removed the leading "x" on tracking numbers for Excel exports as it is no longer needed. It is still added for CSV exports to avoid issues when opening CSV files in Excel.
Bulk Order Submission
A lot goes on behind the scenes when submitting an order and submitting orders one by one has some technical challenges. So, we now provide you with an alternative in the event you have a large volume of orders to submit all at once, the order.bulk_create
API endpoint! With this endpoint you will still receive real-time detailed information on validation errors and rejected orders if there are any, but the total throughput will reach over 1,800 orders per minute!
Our single-order endpoint received a small boost in performance as well, but the new endpoint is the way to go for the highest throughput.
See the documentation for the new Merchant API endpoint here.
Other Improvements
Device Hub
- Display the machine WAN IP in the machine list and in a tooltip.
- Allow the Select a Machine list to be filtered by WAN IP address.
- Allow upgrading or downgrading to any version via the Update Center.
- See Device Hub Client Updates for more information on updates to the client software.
Batching
- Improved overall batch generation time and fixed slow batch generation time when batch total volume is almost exactly the maximum volume.
- Fixed an issue where not all shipments that could be added to a batch were added because of burn order conflict during optimized location selection.
- Added the "Cart Type" that was used to create a batch to the Picking Batches grid and the batch page.
Order Management
- All fields on the Order Options and Order Shipping Information edit forms are now saved to the order history when updated.
- Text describing Packing Instructions updates are now saved to the order history when updated.
- The Backorder Policy option "Up to X" now counts the number of target ship dates in each warehouse instead of the number of shipments, allowing for this feature to work as expected for orders that already require multiple shipments due to size.
- Added a "Regenerate Order Shipments" mass action to the Shipments grid.
- Fixed a bug where the order status would not change upon becoming backordered with all current shipments packed. Processing is now always used if any item is actively being fulfilled. Partial Backorder is now only used for orders with no items actively being fulfilled.
- Fixed a bug where an order does not advance to Complete after canceling unfulfilled items while the order is On Hold.
- Fixed an issue with validation for a BOM order that has been shipped, reverted, and then canceled.
- Fixed long wait times caused by lock contention and slow processing when reverting a large number of shipments with a mass action.
- Improved ability to avoid "The order cannot be changed because it depends on a Bill Of Materials that has been changed or deleted."
- Added search capabilities to the Packing Solution column on the Shipments grid and included this column in exports.
Scanner UI
- Fixed Packing UI cannot finish packing when shipment contains a BOM product that has different Packaging features for the parent and child items.
- Fixed a Packing UI issue where a shipment with multiple One Scan Per: Order Packaging Features only triggered dialogs for the first Packaging Feature.
- Fixed error thrown when trying to relocate or transfer inventory that has invalid lot data.
- Fixed an unexpected error in the Packing UI related to packing solution containers validation and quantity of items and identical containers.
- Fixed an invalid application of Packaging Features with "Apply Only to Packaging Type: Overbox" which may appear on packages that do not have or require an overbox.
- Fixed an issue with sealing manifests whereby the manifest was sealed successfully but not saved properly when the user's selected printer was offline.
Integrations
- Implemented support in SPS Commerce integration for the
PhysicalDetails/PackQualifier
elements to be used to auto-convert the referenced product to the intended product using the available BOMs. For example, an order for 20 units of a product that is packaged in cases of 10 when specified with an "outer" pack of 10 would result in the order item being for 2 units of the "case" SKU instead of 20 units of the "each" SKU. - Changed the Amazon Merchant Fulfillment logic so that the
order_item_ref
is not assumed to be correct but is only used if it can be fully validated as one of the order item ids on the order. - Implemented full support for Limited Quantity, Lithium Batteries and Dangerous Goods with USPS and DHL when using EasyPost and eHub to the extent supported by those services.
- The output from
print()
statements in "Order Transform Scripts" is now captured and added to an order comment when the order is placed successfully. - Fixed notification emails were not being sent for Global Integration errors.
- Updated Shopify integration to use REST/GraphQL API version 2024-01.
Other Improvements
- Added filter and sort capabilities to the Rate Group Plans grid on the Edit Rate Group page.
- Added filter and sort capabilities to the Shipping Accounts grid on the Edit Shipping Account Group page.
- Improved optimization of pick locations when a product has multiple eligible locations.
- Attributes on the 'Update Attributes' mass action form are now sorted the same as when editing an individual product.
- Added a "425 Too Early" error page when a user's concurrent connection limit is exceeded to differentiate from "503 Service Temporarily Unavailable".
- Updated Spanish translations.
Other Bug Fixes
- Fixed filtering by Merchant on the Product BOM component grid export.
- Fixed display of non-numeric order numbers in BFO grid.
- Fixed filtering by the warehouse column on the Lots grid.
- Fixed conversion of measurement units for imports on instances with non-imperial default units.
- Fixed inventory snapshots broken for very large warehouses.
- Fixed display of username who created inventory snapshots when filtering by merchant.
- Fixed unexpected error when using an invalid regular expression in a grid filter.
- Fixed batches not being filled with the maximum number of shipments in some cases (related to burn order restrictions).
- Fixed lot data not being reprocessed when the lot type is changed via mass action.
- Fixed an issue with creating Client User Roles.
- Fixed an issue with the Back button while on the Tracking tab.
- Fixed some issues with various grid column sort orders not applying.
- Product barcodes that are the same length as UPC but do not have a correct check digit are now encoded with Code128 instead of UPC-A encoding.
- Fixed a page redirect issue when encountering an error on the FedEx "Generate Certification Labels" page.
- Fixed various randomly occurring deadlocks resulting in "An unexpected error has occurred." errors.
- Disabled "Select All" if the grid count query times out.
- Fixed slow add/remove package from manifest operations as manifest package count grows to large numbers.
- Fixed some errors allowing a product to be disabled when it should not have been allowed and unlink disabled products from locations and prevent disabled products from being assigned to a location.
- Fixed a bug that could occur when unlinking a product with lot tracking from a location and then linking another product without a lot to the same location.
- Fixed a bug preventing users from creating new User Roles under certain conditions.
Merchant API Changes
- Added
inner_qty
andouter_qty
parameters toorder.create
API. This supports automatic conversion of order items to the appropriate SKU based on the BOMs available. - The
order:completed
webhook topic will now fire only when the order reaches the Completed status (which will not occur while there are packages in Tracking Required status). - Added
order.bulk_create
endpoint.
Grid Changes
- Added Packing Solution column to Shipments grid exports.
- Added Cart Type to the Picking Batches grid.