July 22, 2025 — 1.2528 Service Update

Announcement: Inventory API Migration

As part of ongoing migration of internal inventory endpoints, Kibo will be migrating the import inventory internal endpoints on production tenants from June 10 through July 31. The endpoints on sandboxes were already migrated.

This is the second of three phases of inventory migration planned for 2025. No action is required from you but if you have questions, please contact Kibo Support.

Production Tenant Features 

Catalog

  • Google Feed Update: The Google feed integration has been updated to allow more than one brand attribute on an item, such as having three properties for tenant~brand, tenant~brand2, and tenant~brand3. In this case, each attribute will be displayed in its own column on the export file. Note that even if you only want to use one brand, it must be set up as tenant~brand or else its column in the export file will be empty.

Fulfillment

  • Block Assignment Update: Opting to exclude your location from future assignment while splitting an STH, Delivery, or Transfer shipment now offers the additional option to remain excluded even after inventory refreshes. Previously, excluded locations would always become available for assignment again at the next refresh by default. Any locations that have been blocked are displayed in a new Manage Blocked Locations page of the Fulfiller UI, where you can manage their block preferences as needed to better control assignment.
  • Delivery Updates: Some changes have been made to better support Delivery fulfillment.
    • Delivery shipments can now be included in pick waves as long as they are using the most updated Delivery fulfillment flow (the version that includes Dispatch and Delivery Confirmation steps).
    • Package Consolidation can now be used to consolidate Delivery shipments across multiple orders for the same customer, as long as they are using the most updated Delivery fulfillment flow. A "Package Consolidation Available" button will be displayed on qualifying Delivery shipments in the Fulfiller UI and allow you to proceed with consolidating all relevant packages in the same manner as STH shipments.

Inventory

  • ATS and ATP: Granular inventory fields for conditions and/or expiration dates can now be used to adjust how Available inventory counts are calculated, letting you reflect more accurate Available-to-Sell (ATS) and Available-to-Promise (ATP) levels on your storefront. Once these fields are set up, the Inventory UI will display filters that let you select whether to exclude expired products or include condition availability in inventory results. You can display ATS and ATP counts on your storefront by providing similar flags when calling the real-time inventory service APIs.
  • Redistribution API: A new API endpoint,  POST .../v1/inventory/redistribute, is now available that accepts a list of UPCs and/or location codes to redistribute segmented inventory across on demand. This lets you react quickly to inventory depletion in sales channels, as it will trigger asynchronous redistribution at the next Refresh or Adjust update and restore the appropriate amount of inventory to those channels (based on their configured allocation percentages). This functionality replaces the the nightly redistribution job that Kibo previously performed for all implementations. The API documentation will be updated soon, but refer to the Inventory API Overview guide for an example and how the scope is determined based on the fields you provide.

Order Routing

  • Location Type Filter: When configuring Order Routing filters, Location Type can now be selected as an attribute under the Location options. This allows you to create filters that assign shipments to locations that belong (or don't belong) to a specific type you have set up, such as warehouses or retail stores.

Production Bug Fixes

Service Resolution
Commerce Timeouts were occasionally experienced from the Get Accounts API when two calls were made within a second of each other. This process has been improved with better asynchronous handling to avoid this issue in the future.
Commerce When navigating between orders in the Order Admin UI using the Next Order button, the Site ID was not always updated correctly and thus order audit logs and shipments failed to load. This has been corrected so that order details will be able to retrieve the appropriate context and load all order information.
Commerce Unnecessary emails (such as account creation, status changes, and welcome notifications) were being sent when creating B2B users, instead of being suppressed according to the site settings. This has been fixed so that all B2B email types properly respect their corresponding site setting toggle.
Commerce Some custom data points on order lines could not be edited after shipments were created if they were strings with number values. This has been corrected so that all non-boolean custom data values can be updated as expected.
Commerce The fulfilled quantity of Digital shipments (which are automatically fulfilled upon order placement) was not being updated in the order summary details. This has been fixed so that the quantity displayed in the summary is consistent with the actual quantity.
Commerce Disabled STH Consolidation in the site settings did not automatically disable its nested settings as expected, causing issues such as forced consolidation still being attempted. This behavior has been updated so that the system always verifies whether the STH Consolidation feature is disabled or not before implementing any of its related actions.
Fulfillment Shipment item quantities were not adjusted as expected after attempting to split a shipment with parent and child items during the Validate Stock step. In this case, the shipment progressed to Print Packing Slip with the full item quantities instead of actually being split. This has been fixed so that partial stock situations with parent and child item relationships can be split successfully.
Subscriptions Some subscriptions experienced a "system does not permit the attempted action" error that prevented them from creating an order. This was due to a caching issue, which has now been corrected so orders can be successfully submitted.

Restricted Content

Internal Production Details


Find more information about the client-facing updates at these Jira tickets:

The following enhancements are internal-only and not exposed to clients:

  • COM-9617: Actions that should not be available to OMS Only and OMS + Catalog (with Refresh Pricing on Order site setting disabled) are now blocked on the Order Admin UI when editing a Pending Shipment order. This includes changing the fulfillment type or shipping method, adding or removing coupons, and removing order-level discounts.
  • COM-9591: Incompatible cgroupv2 applications have been updated.
  • COM-9601: EDD data has now been exposed to email templates.
  • FFMT-4755: Kibo.Fulfillment is now hardcoded to always call the Order Routing proxy service.
  • FFMT-4839: Cleanup has been done to fulfillment-related API logs.
  • CHAR-6189: Performance testing and improvements have been done on safety stock rules.
  • CHAR-6184: Suggestion logs have been updated to improve persistence and better work with deserialized data.
  • CHAR-5906: Aggregate and GraphQL Inventory APIs have been updated to take into account safety stock, in which granular inventory will only calculate it a single time per UPC.

Find more information about the client-facing bug fixes at these Jira tickets:

Production Sandbox Features 

Commerce

  • Storefront 2FA and OTP: You can now integrate Two-Factor Authentication and One-Time Password features for customers signing into their account on your storefront. When either one is triggered (either because you've configured your login process to always require it, or because the user's device fingerprint or region changed), the customer will have three minutes to input a code sent to them via email. If the time expires or they enter an incorrect code three times, they must request a new one.

Fulfillment

  • Multiple Consolidation for Delivery: You can now enable multiple consolidation under your Delivery Consolidation site settings if you want to route items through multiple consolidation locations when there no single consolidation location is appropriate for an order. This dedicated toggle allows you to configure your fulfillment preferences separately for Delivery and Ship to Home fulfillment types.
  • Pick Wave Rules: Pick waves can now be created based on defined business rules. This allows you to improve fulfillment efficiency and accuracy by configuring reusable rules based on products, customers, and shipments (such as for specific product codes, product attributes, B2B accounts, shipping methods, carriers and many other criteria) to customize the criteria for pick waves. The ability to create a pick wave by selecting a fulfillment type (such as BOPIS) will still be available in the rule criteria. When this feature is enabled, the Advanced options previously available while creating pick waves will be within rules. Only shipments matching the selected rule's criteria will be included in the wave. 

Inventory

  • Update Available Inventory: You can now choose to directly modify Available inventory levels with the quantity field when calling the Refresh/Adjust APIs or importing a file, where previously this field was used for the On Hand amount and the system then calculated the appropriate Available count. This also applies to updating granular and segmented inventory levels. Contact Kibo Support if you want to switch to this new behavior; otherwise your existing inventory processes will not be affected.

    Restricted Content

    The feature flag to enable this behavior is isTenantEnabledToSetAvailableQuantity

Sandbox Bug Fixes

Service Resolution
Catalog Some product variations were unable to be updated on a particular implementation due to a "Product Variation Product Code Already Exists" error where the code had previously been orphaned. Cleanup has been done to remove these old codes so that they may be reused.
CommerceAfter editing and saving an order attribute of the List type, its values were being replaced by their labels which resulted in orders not passing validation. This has been fixed so that attributes properly retain their values after saving and orders with those attributes can be placed successfully.
Import/Export Dynamic categories were not updated as expected from import files if expressions were not provided. The expression column has now been added to these file templates as a default and validation has been added to ensure that imported data contains a valid expression.

Note that if you import files with minimal columns to make small changes (such as disabling a category or changing its parents), then you should contact Kibo Support to enable backwards compatibility for your previous behavior. Otherwise, the expression will be required going forwards.

Restricted Content

The tenant attribute to enable the previous behavior and allow blank expression fields is catalog-import-allowEmptyDynamicCategoryExpression.
User Management Some menu links were still displayed for user roles, like Catalog Manager, even if the users couldn't actually access them due to the role not having appropriate permissions. The Admin UI navigation has been updated to hide these menus where applicable to reduce confusion.

Restricted Content

Internal Sandbox Details


Find more information about the client-facing updates at these Jira tickets:

The following enhancements are internal-only and not exposed to clients:

  • CAT-6657 and CAT-6717: As part of work being done to Solr authentication, the auth header has been added to all Solr HTTP calls and a safety catch has been implemented for config keys.
  • FFMT-3614: Validation has been added to ensure that shipments cannot be created or reassigned when their order is in the Errored state.
  • COM-9705: Scoped service factory is now supported for order handling, allowing for better tenant context isolation and correlation tracking.
  • CAT-6616: Cleanup has been done to reduce some API log noise.
  • CHAR-6269: Work has been done for code compatibility in the Inventory service and to remove sensitive credentials from fetch and export logs.

Find more information about the client-facing bug fixes at these Jira tickets:

  • Orphan Product Variation Codes: CAT-6700 (reported by Sun & Ski)
  • Saving Order Attributes: COM-9604 (reported by Ssense)
  • Expressions in Category Import: CAT-6647 and CAT-6603
  • Display Menu Permissions: COM-9035

The following bug fixes are internal-only and not exposed to clients:

  • CAT-5175: Search resolver was throwing an exception when a pricelist couldn't be found. Cleanup has been done to better handle deleted pricelist cases and avoid unnecessary errors.
  • COM-9547: Some missing indexes have been addressed in the event database as part of retrieving shipment logs.