Table of Contents
- New field for deliveries: Quantity
- Receive deliveries through Admin UI
- Update delivery destination warehouse
- Custom Dimensional Weight Divisors
- Additional Handling Surcharges
- Minimum Billable Weight
- New rating fields in API and export
- Disable and edit in-use Bill of Materials
- Support more Bill of Materials combinations
- Require permission to edit Bill of Materials
- Multiple Tracking Numbers field for ASNs and RMAs
- Add Track Description and Manifest Courier to Package info
- Add Post Office and Military address classification types
- Help users avoid placing inventory out of order
- Other Improvements
- Backported Improvements
- API Changes
- Grid Changes
Version 2021.2
Updated by Doc
- New field for deliveries: Quantity
- Receive deliveries through Admin UI
- Update delivery destination warehouse
- Custom Dimensional Weight Divisors
- Additional Handling Surcharges
- Minimum Billable Weight
- New rating fields in API and export
- Disable and edit in-use Bill of Materials
- Support more Bill of Materials combinations
- Require permission to edit Bill of Materials
- Multiple Tracking Numbers field for ASNs and RMAs
- Add Track Description and Manifest Courier to Package info
- Add Post Office and Military address classification types
- Help users avoid placing inventory out of order
- Other Improvements
- Backported Improvements
- API Changes
- Grid Changes
New field for deliveries: Quantity
Previously the "Expected" amount for an ASN, RMA or other type of delivery was the amount expected to be received at the time the delivery was created and would not change as the delivery was received. However, this was confusing when the "Qty Expected" for a given product's inventory was changing while a delivery is being received. We've added a "Quantity" field to deliveries (ASNs, RMAs, etc.) which is the initially expected amount and does not change through the lifetime of a delivery, and changed the meaning of "Expected" to be the quantity remaining to be processed. As the delivery is processed the Shortage, Overage and Received amounts will increase while the Expected amount decreases toward 0. This makes it much simpler to understand the quantity which remains to be accounted for and the product's Quantity Expected is now equal to the sum of the Expected amount for all deliveries.
Existing installations will be updated with a temporary flag enabled which will cause the API to return the old value for backwards-compatibility. See API Changes below for more details.
Receive deliveries through Admin UI
The Accept, Process and Put-Away stages of receiving an ASN, RMA and other deliveries can now be completed through the Admin UI with all of the same functionality as the Scanner UI but without requiring a barcode scanner. Specifically, an Accept button was added to the delivery page, additional fields were added to the Add Container dialog and a Put-Away button was added for each line item.
Update delivery destination warehouse
You can now change the Warehouse that an ASN, RMA or Other Delivery is assigned to up through the "Ready to Process" status allowing you to fix more mistakes or reroute deliveries to other warehouses without workarounds. A bug was fixed so that the Expected amount and stock movement log remain correct after the warehouse is changed and any incorrect values will be corrected automatically upon update.
Custom Dimensional Weight Divisors
The rating system now supports a Dimensional Weight Divisor field on the Edit Rate Plans page so you can use a custom divisor for every shipping method in every Rate Group. The carriers' published divisors will be used as the default if this field is not specified.
Dimensional Weight Divisors are also now supported for External Shipping Methods using two new fields, Rating and Surcharge Formulas (determines logic for applying dimensional weight) and Default Dimensional Weight Divisor (can still be overridden by the Rate Plan).
Additional Handling Surcharges
You can now get accurate rate quotes for packages that incur the various types of Additional Handling Surcharges, customized by Rate Group just like all of the other surcharges:
- Weight Surcharge - heavy packages
- Dimension Surcharge - bulky packages
- Packaging Surcharge - irregular packages (wood crates, cylinders, shrink-wrapped items, etc.)
- Oversize Surcharge - even bigger packages
The Packaging Surcharge will be applied based on two new attributes:
1) a Product attribute called "Additional Handling Surcharge" when the item ships by itself without an Overbox, or
2) a Packaging Feature attribute called "Additional Handling Surcharge" when the package ships using a Container or Supplies with this surcharge enabled.
These surcharges will automatically be applied correctly based on the circumstances and according to each carrier's service guide rules. The surcharges will be applied to External Shipping Methods as well based on the selected "Rating and Surcharge Formula".
Minimum Billable Weight
Rating accuracy is also improved for large packages for USPS and FedEx Express international shipping methods which are subject to the Minimum Billable Weight. This "surcharge" will be applied by looking up the higher of the Minimum Billable Weight and the actual weight in the rating Weight/Zone tables.
New rating fields in API and export
Related to the above new features ShipStream now records the following fields as they are applicable to a package and includes them in the Package grid exports and applicable API methods:
- Dimensional Weight Divisor - the divisor used to calculate the Dimensional Weight
- Dimensional Weight - the dimensional weight as calculated using the resolved divisor
- Billable Weight - the final billable weight (greatest of the actual weight, dimensional weight and minimum billable weight)
Additionally, the rate.quote
API method now includes all of the new surcharges described above to provide a better break-down of the total to API consumers.
Disable and edit in-use Bill of Materials
You can now enable or disable Bill of Material's (BOMs) even after they have been used by Orders and Work Orders. It is required, however, to cancel or complete Orders and Work Orders which are being processed before making material changes to BOMs to prevent situations which are impossible to resolve.
When creating an RMA from a Shipment the RMA will contain the stocked items if the BOM used is still active, or the picked and packed items if the BOM used is no longer active.
Support more Bill of Materials combinations
Some BOM restrictions which prevent fractional kits from occurring were made more precise and relaxed so that:
- A kit-type BOM A cannot be a descendant of a Kit To Stock BOM B when there is a BOM C with Yields Quantity > 1 between BOM A and B, or if BOM B has a Yields Quantity > 1 itself
- A kit-type BOM that is Kit On Demand cannot be a descendant of a BOM that is Kit On Demand with Yields Quantity > 1, where the two are connected by an unbroken chain of Kit On Demand BOMs, or directly connected to each other
- All other configurations of kit-type and quantity-type BOMS are now allowed
If that's got your mind in a pretzel just know that more combinations of BOMs are allowed than ever before! This allows a scenario where, for example, one would like to have a Kit On Demand BOM pick singles from a case location which is itself stocked using a Kit To Stock BOM which builds a case from the singles.
Require permission to edit Bill of Materials
Editing Bill of Materials from the Product page now requires the Catalog > Bill of Materials permission. Users with Catalog > Products permission lacking the Catalog > Bill of Materials permission will still be able to view the BOMs but will not be able to edit them so please update your User Roles as appropriate.
Multiple Tracking Numbers field for ASNs and RMAs
The single-value "Carrier Tracking #" field for RMAs has been fully replaced with a "Tracking Numbers" field which supports multiple tracking numbers. The Tracking Numbers are now visible and searchable on the ASNs, RMAs and Other Deliveries grids as well as the Scanner UI.
---
---
Add Track Description and Manifest Courier to Package info
We've lightly redesigned the way Shipment and Package info is presented to help highlight when the shipping method differs between the Order, the Shipment and the Package "Track Description" (which can happen for multiple reasons). This adds the Package's Track Description, Created At time and Manifest Courier while improving visibility of the tracking numbers. The Track Description was also added to the Packages grid.
Add Post Office and Military address classification types
We've increased the precision of our address classification system to include Post Office and Military as separate address classification types. These will be classified using a postcode database that is updated frequently and prevent errors caused by some edge case issues with the street-level validation that is less useful for these addresses. The improved classification will help with shipping method validation to ensure that, for example, only USPS methods may be used to ship to post codes dedicated to US PO boxes and US military bases. This also ensures that virtual shipping methods will choose the best methods for Post Office and Military addresses.
Help users avoid placing inventory out of order
When using lot tracking with an enforced Burn Order (e.g. FIFO and FEFO) and batching only from pickable locations, it is easy to put inventory away in locations that are "out of order" such that ShipStream cannot batch some shipments because although the inventory is in stock, batching the shipments would violate either the Burn Order policy or require that items are picked from non-pickable locations. To combat this issue we've added a friendly notice to help the user choose the correct location type as well as a warning to further discourage placing inventory out of order.
---
The warnings appear in both the Relocation and Put-Away workflows.
Other Improvements
- Duplicating a Rate Group now duplicates all Rate Plans from the source Rate Group.
- Significant performance improvements when saving complex BOMs.
- Significant performance improvements when allocating inventory to orders using BOMs.
- Auto-update Lot data when the Lot Type is changed for a product to ensure correct burn order is enforced.
- Fixed mass updating inventory attributes via the product grid would apply the change to all BOM related products, not just the selected products.
- Resolved issue for quantity updates when changing warehouses between orders.
- Added links to download import file templates from the the Create Import Task page.
- Sort the logged-in user at the top of the list of users with pending Relocations.
- Increase width of the Label column on the Locations grid.
- Added Overrides tab to Packing Solution page and links to Solution page from Override page.
- Improved error message when there are no valid containers for a given container of a Packing Solution because they are all disabled.
- Fixed package status remains "Not On Manifest" when moved from one manifest to another.
- Fall back to Max Bin Weight if an unhandled exception occurs resolving a Packing Solution.
- Copy 'source' field to new order when order is edited to allow integrations to continue to sync.
- Improved ASN/RMA form field and grid filters with large numbers of Sender Ref options.
- Throw friendly error when scanned location label is too long (truncation causes duplicate key errors, scanner glitches sometimes generate impractically long barcodes).
- Added "Uninstall" feature to Shopify plugin subscriptions and hide unneeded Actions buttons based on context.
- Mark a newly resolved Packing Solution as invalid if there are any preexisting invalid child solutions.
- Improved styling of Packing Solutions Override page.
- Improved button spacing in Scanner UI.
- Fixed "Pack and Ship" modal clipping on smaller screen sizes.
- Minor improvements to wording and style of password reset link emails.
Backported Improvements
These items have been backported to one or more previous versions but are noted here for completeness.
- Disabled autocomplete for elements with datalist.
- Limited datalist usage (ASN/RMA sender field) to 1000 elements, limited grid filter select options to 100 options (fallback to text filter).
- Fixed error when using Picking Class scripts.
- Fixed creating picking batch by Picking Class was not excluding Locked shipments.
- Fixed Customer Name filter on RMA grid (select filter used when filter should be text filter).
- Filter Supplier and Carrier Name datalist options in delivery create form by selected merchant in Admin UI.
- Set larger width for Supplier/Sender Name column on ASN/RMA grids.
- Fixed package status is "Not On Manifest" when moved from one manifest to another.
- Fall back to Max Bin Weight if an unhandled exception occurs resolving a Packing Solution.
- Fixed shipping cost as reported by UPS with multiple packages per shipment.
- Update Third Party Billing form to support international phone numbers and postal codes.
- Support matching Amazon Seller SKU or ASIN to External ID and Vendor SKU.
- Support
backorder_policy
,desired_delivery_date
andtpb_group_id
in order import format. - Restore street address if original does not have a hyphen and candidate does (UPS API bug sometimes replaced street number with a range of street numbers).
API Changes
Please see the API Docs for the updated documentation.
- Added the new
qty
field to delivery methods (see description above).- When creating deliveries the
qty_expected
field will continue to work as before if theqty
field is not present butqty
is the new preferred input field name. - The behavior of
qty_expected
has changed so while the backwards-compatibility flag is enabled (existing installations only) the response will contain"qty_expected_compatibility": true
to indicate that the return value forqty_expected
is using the old behavior which now is equivalent to the newqty
field. Also while this flag is enabled the response will containqty_expected_new
which is the new value of theqty_expected
field. After deployment of this update please update all integrations to work with the "After without compatibility flag" response format.- Before:
qty_expected
= X
- After with compatibility flag:
qty
= Xqty_expected
= Xqty_expected_new
= Yqty_expected_compatibility
= true
- After without compatibility flag:
qty
= Xqty_expected
= Y
- Before:
- When creating deliveries the
- Added fields to order and shipment API methods to expose these new computed values:
billable_weight
dimensional_weight_divisor
dimensional_weight
- Added fields to
rate.quote
API method response with the proper computed values:weight_surcharge
packaging_surcharge
dimension_surcharge
oversize_surcharge
- Added
order_ref
to webhook payloads, andreorder
flag toorder:canceled
payload to distinguish completely canceled orders from orders that are canceled by editing. - Allow default
status
filter to be overridden and filter bystatus
inproduct.search
method. - Added new API methods for
delivery.commit
,delivery.cancel
anddelivery.void
. - Allow updating additional fields with
order.edit
API method:desired_delivery_date
declared_value_service
declared_value
backorder_policy
- Added
tracking_numbers
field (array) for delivery API methods. Thesender_ref
field for RMAs will automatically be appended to thetracking_numbers
array for backwards-compatibility.
Grid Changes
- Added Dimensional Weight Divisor, Dimensional Weight and Billable Weight to the Packages grid export.
- Add 'Qty Put-Away' to columns exported with Products and Packaging Features grids.
- Search BOM Components column using SKU instead of name.
- Rename 'Created Date' to 'Created At' on Lots/Expirations grid and change from date to datetime type.
- Change column filter type for ASN/RMA # to 'text' instead of 'number' in Client UI (to match Admin UI).
- Fix default sort order of some grids.