Table of Contents
- Shopify Plugin Improvements
- Magento Plugin
- Manifest Trailer #
- ASN Shipment Type, BOL and SCAC Fields
- Improved Actionable Reports
- Packing Solutions Improvements
- Estimated Total Weight and Shipped Weight
- Improved Hold Order
- Improved Origination Dates
- Tracking URL Pattern for ESM
- Grid Sorting and Filtering Indicators
- Draggable Modal Dialogs
- Default Goods Type
- Export Grids Permission
- Other Improvements
- API Changes
- Grid Changes
Version 2022.0
Updated by Colin
- Shopify Plugin Improvements
- Magento Plugin
- Manifest Trailer #
- ASN Shipment Type, BOL and SCAC Fields
- Improved Actionable Reports
- Packing Solutions Improvements
- Estimated Total Weight and Shipped Weight
- Improved Hold Order
- Improved Origination Dates
- Tracking URL Pattern for ESM
- Grid Sorting and Filtering Indicators
- Draggable Modal Dialogs
- Default Goods Type
- Export Grids Permission
- Other Improvements
- API Changes
- Grid Changes
Shopify Plugin Improvements
Setting up a Shopify integration is now easier than ever with a newly designed user interface for configuring subscription advanced shipping options.
Mapping shipping methods to carrier services
Translating Shopify's shipping methods to ShipStream shipping methods
Magento Plugin
You can now connect ShipStream directly to your Magento 1 / OpenMage shopping cart! This integration features near-real-time data syncing in both directions, easy mapping of shipping methods and a simple setup and configuration.
OpenMage is a community-supported, fully-compatible fork of Magento Community Edition which has kept one of the greatest shopping carts of all time alive and thriving.
See the Magento 1 / OpenMage plugin setup guide for more information.
Manifest Trailer #
When sealing a manifest or loading a manifest you may wish to record more information about where the manifest was loaded such as a Trailer number, driver name, etc. The new "Trailer #" field can be used for this purpose and can be configured to be either optional or required.
Sealing a Truck/Trailer container type:
Loading all other container types:
ASN Shipment Type, BOL and SCAC Fields
ASNs now support three new pieces of information: Shipment Type, Bill of Lading (BOL) and SCAC (Standard Carrier Alpha Code).
BOL and SCAC fields may be either disabled, optional or required, allowing you to enforce stricter input requirements of your users and thereby helping you to identify inbound deliveries more efficiently and more accurately. The SCAC field suggests the most common carriers making it easy to find the correct code and avoid typos. See ASN Special Fields.
Improved Actionable Reports
We've refreshed the design and expanded "Actionable Reports" to work for RMAs, Cancellations and Other Deliveries now in addition to ASNs which were already supported. These reports are sent once a day in the morning to provide merchants with a quick snapshot of each delivery type and remind of any items that require their intervention such as adding items to an empty delivery that has been received and cannot yet be processed or committing a delivery that has already been put-away.
Additionally, the "Committed" email configuration was relabeled to "Completed" and this email is now sent when a delivery is completed with no put-away or commit step (such as when all items are damaged so there is nothing to put-away or commit).
Packing Solutions Improvements
Allow for Shipping Methods
Previously the "Allow for Shipping Methods" attribute of a container was only used for validation when a user chose the container during packing. Now this attribute will also be used to inform the Packing Solutions so that a Packing Solution will depend on the shipping method and containers that are only allowed for specific shipping methods can safely be included in the container selection and rating process.
Enabling/Disable with Parent/Child Solutions
Packing Solutions requiring multiple packages consist of multiple "child" Packing Solutions. The behaviors around disabling Packing Solutions with respect to parent-child relationships have been updated to align more closely with typical user assumptions and expectations. Specifically the new rules are:
- Disabling a child will always disable its parents
- Enabling a child will enable its parents only if all of the parent's children are enabled
- Enabling a parent will enable all children, and will also enable other parents sharing children in common if all of their children become enabled
- Disabling a parent does not affect any other solutions
- Disabling or enabling a solution will also copy that status to all other solutions with the same solution signature. The relatives of those solutions are then also updated according to the rules above
Other
Several improvements were made to the Packing Solutions grid and overall performance of Packing Solutions including automatic cleanup of unused Packing Solutions.
A Preprocess Packing Solution Script may now call bucket.setContainers(false)
to prevent any solution from being applied to the resulting shipment.
The handling cost is now computed separately for each Shipping Method.
Estimated Total Weight and Shipped Weight
The Shipment block will now show the Estimated Total Weight which includes the weight of packaging features such as a box. Additionally, the Shipped Weight was added to clearly convey the combined measured weight of each package.
Improved Hold Order
You can now set a specific time of day when placing an order on hold, giving you greater control over your order management workflows.
Additionally, a comment is required when placing an existing order on hold to encourage better record keeping and communication.
The Create Order page, API, Import and Scripts all support a time component as well while maintaining backwards compatibility.
The "Hold Until" time will appear on the order page unless the scheduled hold is canceled.
Improved Origination Dates
When receiving inventory that is assigned to a Lot Type ShipStream automatically tracks the "Origination Date" to help ensure FIFO/LIFO if needed.
For RMAs specifically, received inventory will now be given a fixed date of 2000-01-01 to ensure that returned inventory is not considered new inventory and to improve the ability to combine returned inventory in the same location if using "Allow Mixing Inventory: No".
Additionally, when performing put-away, the origination date will be ignored if there is no conflict for Lot Number or Expiration Date.
Tracking URL Pattern for ESM
A "Tracking URL Pattern" can now be supplied for External Shipping Methods which will allow users to click a link and integrations to receive the url which allows the end user to track the shipment on a third-party website.
Grid Sorting and Filtering Indicators
It is now much more obvious when you have custom grid filtering and sorting applied because the "Reset" button has been replaced with separate buttons that only appear when custom filtering or sorting is active.
Draggable Modal Dialogs
Sometimes you want to see something behind a modal dialog without closing it. Now you can drag it around by the header!
Default Goods Type
The default value for a Product's "Goods Type" is now configurable including per-Merchant. In the UI, the default goods type is selected automatically when creating a new product. For product import and dataflow, if the goods_type column is empty or missing the default value will be used. An error is thrown when saving a product with no goods type set if no default is configured, or the configured default is not allowed.
Export Grids Permission
To help you tighten up your security we've added a new permission called "Export Grids" that is required to use the Export functionality on all grids.
Other Improvements
Shopify Plugin
- Updated configuration to support Shopify's transition from "Private apps" to "Custom apps".
- Fixed a bug which caused a Shopify plugin subscription to be duplicated in some situations.
- Added "Custom App Secret Key" to support Custom apps and proper webhook authentication when using Custom apps.
EasyPost Integration
- Added support for using Easypost multi-package requests (Order API).
- Fixed EasyPost does not return correct rating data for GLS when using "one-call buy" (uses "two-call buy" method for GLS orders).
- Added ability to override the EasyPost API Key for each Shipping Account to support shipping using different EasyPost accounts on the same instance.
Shipping
- Fixed designation of some US territories and freely associated states as domestic/international for USPS and other carriers. Bifurcated domestic/international designation from whether or not documents are required.
- Added "Allowed Warehouses" configuration section to each carrier, configurable per-merchant. This allows a carrier to be disabled for one or more merchants at a specific warehouse while still allowing it at another warehouse.
- Updated to use "half-up" rounding for FedEx and UPS dimensions reporting/calculations to more closely match the carriers actual behavior (for example when applying additional handling surcharges).
- The "Terms of Sale" field will be properly submitted as "DDP" or "DDU" depending on the Duties Payor of the order.
- Calculate an "additional_surcharge" for USPS packages according to the USPS Product and Service Changes for Jan. 2022" made effective on the effective date: April 3, 2022.
- Longest side exceeds 22 inches, but less than or equal to 30 inches: $4.00
- Longest side exceeds 30 inches: $15.00
- Volume exceeds 2 cubic feet: $15.00
- For Stamps.com USPS integration the correct container type between "Package" and "Large Package" is submitted based on the package dimensions.
- Fixed some issues with shipping Dangerous Goods via FedEx Express methods (air).
- Renamed 'Limited Quantity Accessibility' to 'Dangerous Goods Accessibility' and apply to air shipments
- Set Regulation to IATA and convert units to KG for air shipments
- Remove "OVERPACK" indicator unless container is an actual overbox
- Remove "ALL_PACKED_IN_ONE" unless there are multiple UN IDs in the same package
- Always set PackingGroup and remove "UN" prefix for IATA (air)
- Added support for using FedEx Ground Economy for Return Labels.
- Fixed a validation error preventing use of Third Party Billing in conjunction with Virtual Shipping Methods.
- Fixed an issue with generating labels for BFOs containing shipments from multiple carriers.
Admin UI
- Replace "Choose Merchant" select box with more easily searchable "Merchant Filter"
- Fix issue where editing a delivery to add products removes the existing products.
- Fix issue where attribute should not be visible on Edit Product page that belongs to a merchant that is not included in "Allow for Merchants" property.
- Fix duplicate ajax requests when changing new picking batch options.
- Quick-scan to navigate now gives precedence to product SKUs over delivery tracking numbers.
- Return global search results for all warehouses regardless of current warehouse.
- Select "show all data" option by default for new admin users.
- Remove warehouse selector and always assume "show all data" option for single-warehouse users.
- Use native HTML5 date inputs for grid column filters.
Client UI
- Fix issue where editing a delivery to add products removes the existing products.
Scanner UI
- Add success message to notify user when last shipment of a batch is packed.
- Allow Packaging Features to be packed as shipment items.
- Allow "Weight Difference Threshold" to be configurable at the Merchant scope.
- Support shipping label tracking barcodes which are a url containing the tracking number as the last part of the url.
- Prevent packages of shipments which have requested to be canceled from being loaded.
- Uniqueness of collected data (e.g. serial numbers) is now checked server-side and will throw an error if the same serial number for the same merchant is used within a three-day period.
- Fixed a bug which prevented packing multiple packages in some situations.
- Fixed a bug where a blank screen could be shown when navigating to the scanner UI processing screen in some situations.
- Fixed incorrect shipment count in Create Batch dialog.
Other
- Added support for Importing Bill of Materials using CSV, Excel or JSON format.
- Added support for
backorders
,dynamic_allocation
, andvirtual_inventory
fields in Importing Products. - Added support for
tracking_url
field in External Shipping Method API response format to allow ESMs to return a custom tracking url. - Added the UTF-8 Byte-Order-Mark to CSV exports to fix encoding issues with UTF-8 characters.
- Add order status history when a shipment is reverted/unregistered/canceled.
- Fix issue where some shipments could not be added to batches when they should have been.
- Fixed the delivery Receive By date was not set on acceptance completion if the delivery had already started processing.
- Fixed shipments not regenerated in some cases when order data which could affect order processing is updated (other shipping options, signature required and Saturday delivery).
- Fixed "Shipping method changed from x to y" comment added in some cases when there was no change.
- Fixed backordered items are no longer added to an RMA when creating an RMA from the Order page.
- Fixed a bug with Relocation causing the record to be left open instead of marked as Complete.
- Fixed an internal error with the
order.cancel
API method. - Fixed a bug where an item is added to a cancellation that isn't found on the original shipment.
- Fixed a bug with "Up to X Shipments" Backorder Policy causing an incorrect order status in some situations.
- Fixed missing rows on Products Ordered report.
- Fixed a bug when performing a Relocation after a Lot Type is removed from a Product.
- Replaced the "Relocate" action in the Stock Movement Log with separate actions for "Push" and "Pull" for greater readability.
- Various additions and improvements to System > Enumerations.
- Fixed support for setting
shipment.external_id = shipment.shipment_id
in Prepare Shipment Script. - Updated list of regions for Ireland.
API Changes
- Added
delayed_ship_date
field to response of Order API endpoints. Thedelayed_ship_date
input field now supports date and time as well as a date without a time. Therequested_ship_date
field is no longer affected by or related to scheduled holds. - Added
order:shipping_options_changed
webhook topic. - Added
order:address_changed
webhook topic. - Added
copies_printed
andconfirmations
fields to Order and Order Instructions APIs. - Added
manifest_courier_code
andmanifest_courier_name
to the Package details for the Order and Shipment APIs. - Added
merchant_code
to Order API. - Added
additional_surcharge
andadditional_surcharge_unit
fields torate.quote
API method. These new charges are automatically added to theshipping_cost
so it is not required to add them if you are only using the total. - The IDs of unregistered shipments are now included in the
order:shipments_updated
webhook payload. - The IDs of shipments cancelled via the "Confirm Cancellation" button are now included in the
order:shipments_updated
webhook. - Changes to the Target Ship Date will now trigger the
order:shipments_updated
webhook. - Fixed some duplicated data in
package_data
property in Order and Shipment APIs. - The
rate.quote
API will no longer return $0 rates when there are errors preventing the rate from being resolved.
Grid Changes
- Added "Volume" column to Product and Packaging Features grids.
- Added "Address Classification" to Order grids.