Table of Contents
Version 2025.4
Updated
by Colin
Area-based Fees and Adjustments
As carriers become more granular with "area surcharges", we've updated Fee Schedules and Adjustments to allow specifying a list of arbitrary Areas to which a fee or adjustment can apply. Where previously you could only upload "DAS" maps for D (Regular DAS), E (Extended DAS), A (Alaska) or H (Hawaii), now you can upload "Areas" using any text to name your areas, and then list those areas when defining fees and adjustments.

Additionally:
- You can now assign all map types to multiple warehouses to avoid unnecessary duplication when the contents would be the same.
- The Rate Calculator will now also show you which Area was in-effect for calculating the Area Surcharge.

Upload Shipment Documents
You can now upload the following documents to a shipment that was shipped offline for improved record keeping and file sharing with your clients:
- Shipping Label (for parcel)
- Bill of Lading (for freight)
- Commercial Invoice (for international)
- Shipping Papers (for regulated goods)
The Add Tracking Numbers button was renamed to Update Tracking and the resulting dialog updated to include these new upload fields. Additionally, we added an "Apply to all" checkbox for applying the same tracking number to all packages in one step.

Shipment Type
Closely related to the above, we've introduced a Shipment Type field that identifies every shipment as either Parcel or Freight. You can choose the designation for each External Shipping Method, and the rest are handled automatically. This is mostly semantic for now, but it does affect a few minor changes:
- Bill of Lading is only used for Freight and uses a Laser Printer as the print target
- Shipping Label is only used for Parcel and uses a Label Printer as the print target
- Packages are referred to as Pallets for Freight
- The SPS Commerce ASN's "CarrierTransMethodCode" is updated to "LT" for Freight, otherwise it is "M"
Custom Fields for Shipments
Similar to Custom Fields for Orders, you can now add Custom Fields for Shipments! In particular, this allows you to capture data that is specific to each shipment, in cases where you may have multi-shipment orders, without stuffing data into a single order-level field.

Regulated Goods Improvements
We've bolstered our already robust Regulated Goods functionality with some new fields to resolve some specific problems with shipping lithium batteries to certain remote destinations and certain regulated goods. In the process we've increased our carrier API test coverage to nearly 800 test cases!
Changes to Regulations include:
- Added support for "P.I. Section" in the Regulatory Information field to support distinction between, e.g. Packing Instruction 965 Section "IA" and "IB" lithium batteries.
- Added "FedEx Sequence Number" to fix errors for certain dangerous goods for which FedEx requires a higher level of detail.
- Split "Air Max Units Per Package" to "Cargo Aircraft Only Max Units Per Package" and "Passenger Aircraft Max Units Per Package".
- Added "Cargo Aircraft Only Packaging Features" to allow assigning packaging features specific to CAO shipments (such as CAO labels).
- Product "Regulation Units" are now required when shipping by air.
- Added "No Limit" option to Passenger/CAO Max Units Per Package fields.
- Added field notes for improved clarity and improved field value validation.
- Increased validation strictness of shipping method selection and added detailed errors for unsupported combinations.
Specifically:
- No Limit is set where a limit was previously not set.
- Passenger and CAO Max Units Per Package values are copied from the previous value for "Air Max Units Per Package".
- P.I. Section and FedEx Sequence Number may be needed for some regulated goods.
Improved User Columns
Internally, we have adjusted the way data is stored for references to users, such as which user created an order. Since many actions aren't necessarily performed by a user, but can also be performed by an API, Script or Integration, we've unified these references into one type. This improves the ability to search and sort using these grid columns and these references are now also presented as links for your convenience.


Other Improvements
- Implement new UPS length+girth thresholds with cubic-inch thresholds for both Large Package Surcharge (LPS) and Additional Handling Charge (AHC) automatically effective on 2025-08-17.
- Removed South Africa and Bermuda from the FedEx ETD Countries list because they do not allow the commercial invoice to be generated by FedEx.
- Improved reliability of Easypost and Stamps.com shipping label requests by implementing an increasing back-off in the case of "too many requests" errors.
- Allow access to the Edit Package page in the Packing UI without the Scanner -> Packing -> Edit Packages permission. This permission is still required to update item quantities, add packaging features by clicking the + button, and edit the applicable quantity for a packaging feature.
- Duplicated products are now initially created with "Status: Disabled" and "Availability: Not Available". The previous behavior that disabled SKU-less products after 1hr was removed.
- An error is now thrown when attempting to disable a product referenced by a BOM.
- Fixed a bug where import parse errors were not reported (eg. missing SKU column)
- Fixed an unexpected error when uploading fee adjustment imports.
- Fixed assigning location types to Automatic by mass action.
- If any order item has a unit declared value, the shipment/package declared value will no longer be split from the total (it will be zero if no items have a unit declared value).
- Fixed the Receive By Deadline should not be automatically updated when adding an item to a delivery.
- Fixed an Internal Server Error when scanning a location that is not assigned to an item on the Relocation UI.
- Fixed an Internal Server Error when duplicating a product that has a Serial Number Type.
- Fixed placeholders and prepopulated values in the Add Tracking Numbers popup.
- Fixed an error when updating inventory for merchants with disabled brands.
- Fixed using Change Shipping Method to a virtual shipping method on a shipment that requires multiple packages.
- Fixed manual shipping method override on a shipment is clobbered when inventory updates cause reallocation.
- Eliminate possible lock contention and UI delays when updating racks with Auto-Assign patterns.
API Changes
- Added
manifest_courier_code
andmanifest_courier_name
toshipment.info
andshipment.search
method responses. The package-level values are now redundant but are kept for backwards compatibility. - Added
shipment_type
toshipment.info
andshipment.search
method responses and support for filtering byshipment_type
. - Added
packages.*.tracking_added_at
timestamp to shipment.info and shipment.search method responses. Also addedpackages.*.created_at
which is redundant to thepackages.*.timestamp
field, but kept the latter for backwards compatibility. - Added
$customFields
parameter for theshipment.update
method. - Added
custom_fields
as an optional parameter forshipment.info
andshipment.search
methods. - Added a
shipment_custom_field.list
method to retrieve custom fields for shipments. - Replaced
submitted_by_id
withrequester_id
inorder.search
andorder.info
response.
Grid Changes
- The values of the Order grid Submitted By column no longer contain the type prefix in the cell value and a Submitted By Type column was added to the right of it.
- Many other grid columns containing usernames were updated to support the Requester pattern (they may contain more options than just users in the future) for flexibility and consistency.
- Event Log (Source)
- Import Task (Created By)
- Stock Movement (Created By)
- Action Log (User)
- User-added custom fields may now appear in the Shipments grid depending on the "Display in Admin/Client Grid" option.