February 19, 2025 — 1.2506 Service Update

Announcement: FFUI Dashboard Migration

In 2024, Kibo released a new and improved version of the Fulfiller UI dashboard. We will now begin the process of upgrading all clients who use the FFUI to this new dashboard. Sandboxes will be upgraded starting around February 24 and we ask that you test in sandbox once yours is upgraded. Please contact Kibo Support to schedule your upgrade before the target deadline for production cutover, which is currently planned for April 16.

This version also enables you to implement Fulfillment SLAs if you want to use them. Please review the Fulfiller documentation for more information about both the dashboard and SLAs.

Production Tenant Features 

Commerce

  • Call Center Filters: You can now apply filters when searching for orders, customers, or returns in the Call Center UI to fine-tune your results. These are the same advanced filters that are already available in the Orders, Customers, and Returns dashboards of the Admin UI.

Import/Export

  • Export First Available Date: When exporting the ProductCatalog sheet with the Import/Export 3.0 tool, the datefirstAvailableInCatalog field will now be included. This corresponds to the First Available Date in product configurations. See the sandbox updates for the ability to select this field while configuring an export via the UI.

Inventory

  • Add/Edit Safety Stock: You can now set a Safety Stock value when creating a new inventory record in the Inventory UI, as well as edit Safety Stock when updating an existing inventory record.
  • Granular Inventory Updates: Several updates have been made for granular inventory to improve the management of granular levels and handle substitution cases.
    • You can now add granular inventory fields when creating a new inventory record directly from the UI, where previously granular inventory had to be set up via API. 
    • You can now edit granular inventory fields while updating an existing record.
    • You can now use showGranularInventory and showExtraGranularProductFields flags in the Get Inventory API to choose whether the returned inventory values include Safety Stock, LTD, and Floor values at the granular level. See the Granular Inventory Fields guide for more details.
    • A new API, .../commerce/shipments/{shipmentId}/items/{itemId}/updateInventoryAllocation, can now be used to update the shipment item allocation data to adjust granular quantity and add new granular records. This allows granular levels to be adjusted when there are discrepancies that require reallocation such as  damaged inventory or mismatched data. The API documentation will be updated soon.

Production Bug Fixes

Service Resolution
Catalog Not all variant products were being updated after upload via either the Products API or the Import/Export tool. This was due to an issue with the system processing permutations of different products, but has been corrected so that variant products can be successfully updated.
Commerce Returns were unable to be initiated for some orders, due to a discrepancy with Order Item IDs that occurred when initial line items were deleted from the order before submission. This has been fixed so that these IDs are mapped correctly and returns can be successfully initiated.

 

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:

  • CHAR-5907: To support the granular inventory and safety stock updates, the system has been updated to always skip creating a new inventory record if a 0 or null quantity is provided.
  • CHAR-5743: The Block Assignment API has been ported to the inventory management service (with the endpoint .../v5/inventory/blockAssignment).
  • CHAR-5877: API contract changes have been made to better support shipment grouping at the same location, which was first announced in Version 1.2452.
  • CHAR-5872: The Import File project has been updated to properly work within GCP environments.

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

  • Update Product Options: CAT-5521 (reported by OLR Retail and Skillnet)
  • Cannot Initiate Returns: COM-8884 (reported by Cracker Barrel)

Production Sandbox Features 

Commerce

  • Reverse Logistics: When this feature is enabled, Order Routing will be integrated into the return process. Upon initiating a return in the Admin UI, Order Routing will automatically suggest the best location to accept the items. Then, you can decide how to handle items (such as restock or disposition) and retrieve Order Routing suggestions for the best location to do so based on the item's condition and your configured routing logic. As part of this update, the return and restock process has been slightly modified for all users even if not using Reverse Logistics. Refer to the Reverse Logistics overview and Receive a Return for more information.
  • Substitutions in Order Admin: Manual substitutions can now be performed via the Order Admin UI, allowing customer service representatives to substitute order items as needed prior to fulfillment. This can be done on Pending orders, shipments in the Accept Shipment step, and when creating a new shipment on an order.
  • Auto Substitution Email Update: The shipment email enabled via the site setting "Substitution - payment required" will now be sent when a substitution is made automatically and additional payment is required from the shopper. Previously, this email was only triggered by manual substitutions.
  • Location Group BPM Update: The location group configurations to select fulfillment method BPMs have been updated to include Delivery. 

Fulfillment

  • Substitutions in FFUI: Substitutions made either from the Order Admin UI or automatically by the system prior to fulfillment will now be listed in the Fulfiller UI shipment details. These line items are displayed in a separate table, which allows you to easily identify substitutes as well as update their quantities during the Validate Stock step or remove substitutes if needed.
  • Delivery Substitutions: Manual substitutions can now be made on Delivery items via the Fulfiller UI, using the same process as STH and BOPIS substitutions. Support for automatic substitutions on delivery items will be added in a future update.
  • Location Fulfillment Limits: Previously, Order Routing scenarios included a configuration that restricted how many shipments a location could fulfill before being temporarily cut off from assignment. That option has now been moved to the Admin UI location configurations under the name Fulfillment Capacity. Locations are unlimited by default, but if you enter a number of shipments and unit of time (hours, days, weeks, or months) then Order Routing will use it as a constraint. Once the limit is reached, Order Routing will exclude the location from assignment when evaluating orders for the time period.

    This change allows for more accurate application of a location's limits across all routes, but certain implementations who rely on the Order Routing setting will need to update their configurations. Kibo will reach out to those implementations to provide more details and determine a migration plan before updating your tenants, so your functionality will not be immediately affected.

Import/Export

  • Export Option Updates: The DateFirstAvailableInCatalog field added in Version 1.2504 is now displayed as a column option for the ProductCatalog sheet when configuring catalog exports. Additionally, an Order column has been added to the ProductTypeAttributeValues sheet options which determines the order in which values are displayed on an attribute.

Inventory

  • Granular Field Updates: Several updates have been made for granular inventory field management and fulfillment.
    • If a item with a granular condition is substituted, then substitute items will now only be available to select from if they have available inventory with the same condition.
    • Granular fields are now editable in the Validate Stock step, allowing Fulfiller UI users to modify the records that they are allocating from. This ensures better tracking of granular inventory even when changes occur during fulfillment.
    • You can now delete specific granular inventory records based on their field without deleting the entire UPC-Location. The API documentation will be updated with the current Delete Inventory API model soon, but for now refer to the Inventory API Overview for more information.

Sandbox Bug Fixes

Service Resolution
Catalog Some order totals were off by one penny due to a rounding issue, resulting in the order being moved to Errored status. This has been fixed so that order totals are rounded more accurately.
Commerce When creating a new BOPIS shipment on an order, the location options did not include all pickup locations with inventory as expected. This has been corrected so that all locations are displayed and paginated correctly.
Fulfillment Incorrect UPCs were sometimes displayed as product identifiers on product variations in the Fulfiller UI. These mappings have been updated so that they match the expected product variant UPC. 
Fulfillment When an automatic substitution was performed for the full quantity of an item and then the shipment was reassigned, the original shipment was still displayed in the Ready state when it should be marked as Reassigned. This has been fixed so that new and old shipments are placed in the appropriate statuses.
Inventory Some inventory was allocated twice due to reservations not being flagged on the shipment data, in which Fulfiller would allocate the quantity at shipment creation even when if a reservation was already made. This has been corrected so that reservations are successfully flagged and allocations are not duplicated.
Fulfillment A 500 Error was sometimes experienced when creating an order from a subscription, due to a null error that occurred when splitting the order into shipments. This has been fixed so that the process to reassign or reject quantity as needed to split items into transfers can successfully complete.

 

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:

  • FFMT-4661: Fulfillment unit and integration tests have been migrated to Junit 5.
  • FFMT-4489: End-to-end QA has been completed for SLAs on the FFUI Dashboard.
  • FFMT-4637: The Cancelled, Rejected, and Reassigned Item arrays now include allocation quantity and status information where previously it was only tracked on the items array.
  • CAT-5825: MongoAdmin has been updated for adding new tables and cloning.
  • COM-9106: An internal-only event for B2BOrderReleaseUpdate has been added, to support upcoming order release features.
  • CHAR-5881: A MySQL event has been created to delete all fetched files older than 30 days.
  • CHAR-5932: Application.properties and .yml files have been updated to direct to the new gdev environments.
  • CHAR-5937: GCS support has been added to Kibo.Inventory and legacy fetch files and exports. This will be added to Inventory Import File documentation soon.
  • FFMT-4640: Shipment-level contracts have been updated with a shipmentGroup field to support Order Routing suggestion grouping for the STH-C case. This will be added to the client-facing notes and documentation when COM-9215 is merged.

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

  • Order Total Rounding: CAT-6146 (reported by Ocean State Job Lot)
  • BOPIS Location Options: COM-9122 (reported by REEDS Jewelers)
  • UPC Product Identifiers: COM-9265 (reported by Al Futtaim)
  • Auto Sub Shipments: FFMT-4643
  • Duplicate Allocation: FFMT-4655 (reported by Honey Birdette)
  • Order 500 Error: FFMT-4652 

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

  • FFMT-4692: The new FFUI dashboard was sometimes not showing any locations after being enabled due to null pointer exceptions, which have now been handled.