ShipStream Knowledge Base

Version 2025.7-2

Create New Batch Improvements

  • Ensured that zone filters are considered when filtering locations for accessibility.
  • AT list is now filtered only by the selected AP, or any batch picking AP if none is selected.
  • PCs are no longer filtered by AT.
  • APs are now sorted by name
  • AP names are now unique per operation instead of globally
  • When there are multiple PCs, the lowest cart capacity is used for batch creation, but the greatest is displayed in the UI.

Scanner Picking UI

  • In the Scanner UI → Picking → Precise Batch page, skip straight to By Asset Type when choosing By Preset
  • On the main Picking page and on the Quick Batch page, the Preset and Asset Type select fields will prevent the user from selecting invalid combinations.
  • Fixed flltering was not respecting the Accessibility: Accessible option (now Asset Policy Exclusivity).

Admin UI Create New Batch Dialog

  • Updated Admin UI batch creation such that only one filter is required to enable the submit button
  • Selecting a BP will navigate directly to AT list
  • Skip straight to the last filter page if there is only one remaining
  • Updated styling of the options list and added a tree of selected filters with shipment count similar to Scanner UI
  • MC is now hidden on BP form (it was not fully implemented)
Update Impact: None.

Asset Policy Exclusivity

We replaced the Batch Presets' somewhat confusing Accessible/Inaccessible Preferred/Inaccessible Required/Strictly Inaccessible options with a new field, Asset Policy Exclusivity. The Asset Policy is now always a "positive" match rather than potentially a "negative" match with the Inaccessible options. With the understanding that the Asset Policy is always a positive match, this new field now determines only how "exclusive" the match is. The filter is applied as an early culling operation when aggregating shipment counts during UI interaction with batch creation, and as a final criteria during actual batch creation. The three Asset Polict Exclusivity options are None, Partial and Full.

None

Early filter (shipment counts)

  • Only locations with positive inventory AND (next up burn order OR no lot) are considered.
  • All items exist in preferred locations, but are not necessarily exclusive.

Late filter (batch creation)

  • Allow Non-Pickable Locations must be false, so only preferred locations can be used. If burn order doesn't allow this then the shipment will be rejected.

Partial

Early filter (shipment counts)

  • Only locations with positive inventory AND (next up burn order OR no lot) are considered.
  • At least one item exists exclusively in preferred locations.

Late filter (batch creation)

  • Allow Non-Pickable Locations must be false, so only preferred locations can be used. If burn order doesn't allow this then the shipment will be rejected.
  • Re-validates at least one item exists exclusively in preferred locations per lot sort_value after allocating each shipment.This includes partial quantities of an item; if an item has multiple lots (grouped by sort_value), and at least one lot group has only exclusive locations then it is included (ie. part of the shipment line can only be picked from preferred locations)

Full

Early filter (shipment counts)

  • Only locations with positive inventory AND (next up burn order OR no lot) are considered.
  • All items exist exclusively in preferred locations.

Late filter (batch creation)

  • Allow Non-Pickable Locations must be false, so only preferred locations can be used. If burn order doesn't allow this then the shipment will be rejected.
  • Re-validate all items exist exclusively in preferred locations per lot sort_value after allocating each shipment.

Other Changes

Additionally, the following changes were made in relation to the new Exclusivity option:

  • Added "Allow Non-Pickable Locations" option, replaces "Pickable Only" and "Accessibility"
    • Yes
      • Skips all LT/is_pickable filtering.
      • Zone filters are still applied.
    • No
      • Applies LT/is_pickable filter.
        • If no BP and no AT are chosen, the union of all "Operation: Batch Pick" Asset Policies LTs is used.
        • Else if a Preset is chosen, the Preset's AP LTs are used.
        • Else, union of all batch picking APs with the chosen Asset Type.
        • If no batch picking LTs exist or all have null LTs, then fall back to location.is_pickable.
  • Preferred locations are those matching the BP zones AND (AP location types OR Location's Is Pickable flag if fallback is active).
  • Zone filter is a hard filter (a batch will never contain picks from non-preferred zones).
  • AP LTs are also a hard filter, because inaccessible locations are controlled by "Allow Non-Pickable Locations" and AP LT filtering is disabled when "Allow Non-Pickable Locations: Yes"
  • Exclusive means some qty can only be picked from preferred locations. This could be due to burn order (later burn orders could be non-exclusive).
Update Impact: Since the old Accessibility field does not have directly equivalent options with the new Exclusivity field this field was simply removed and you will want to update your Batch Presets immediately after deployment accordingly.

New Main option for Shipment Custom Fields

You can now specify "Main" as an option to specify for Shipment Custom Fields in which grids the field should be included/displayed in (in addition to the Parcel and Freight options).

This affects the following attributes of the Shipment Custom Fields:

  • Display in Admin Grid
  • Export in Admin Grid
  • Display in Client Grid
  • Export in Client Grid
Update Impact: None. The Main option will be added to the existing values anywhere that one or the other or both options were previously specified and not added when the value was empty. However, you may now want to go remove Main from some of your Shipment Custom Fields if it is not desirable.

Other Improvements

  • Fixed the "Service" field on the package tracking information did not contain the carrier's description for the shipping service as it should have (all carriers affected).
  • Fixed a display issue affecting some orders with BOM items which causes incorrect Packed vs Shipped counts.
  • Fixed display of Created By column for Work Order -> Stock Movements tab.
  • Fixed Transit/Zone Map Warehouse selection not saving.
  • Fixed potential race conditions resulting in "Code not recognized" or other strange errors when switching pages and scanning barcodes in the Scanner UI.
  • Fixed Estimated Delivery At field not updated properly for UPS package tracking
  • Fixed Initial Delivery Attempt field should only be updated once in package tracking (all carriers).
  • Changed styling of "communication error" rows in tracking details to better indicate that these are ShipStream-specific details, not part of the carrier tracking information.
  • Added less-than and greater-than operators to Velocity Tiers and changed Strategy Value to a decimal field to allow more precise filtering.
  • Fixed possibility of creating a product with an invalid status via Product Import.
  • Improve error messages for Easypost errors which are missing a human-friendly message.

Global API Updates

  • Added tracking_number and alt_tracking_number to the list of fields that are supported for filtering in the GET /api/global/v1/shipping/shipments endpoint.
  • Added tracking_numbers to the list of fields that are supported for filtering in the GET /api/global/v1/receiving/{type} endpoint.
  • Added two new Global API endpoints for orders:
    • GET /api/global/v1/shipping/orders - Search/list orders with filtering and pagination
    • GET /api/global/v1/shipping/orders/{id} - Get a single order by internal ID
  • Removed user from the Delivery model. This will be added back in the next release as requester.