Announcement: FFUI Dashboard Migration
In 2024, Kibo made a new version of the Fulfiller UI dashboard available for enablement. We will now begin the process of upgrading all clients who use the FFUI to this new dashboard. Dates will be communicated soon.
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.
Announcement: FFUI Returns Update
An update in which the Admin UI's return dashboard is embedded within the Fulfiller UI has been added to sandboxes as of Version 1.2510, giving fulfillers more robust return management. This is not yet enabled on all implementations, but Kibo will be upgrading all Fulfiller users to the new process over the next few weeks. Dates will be communicated soon.
See the Fulfiller and Admin return guides for more information about these processes. Please contact Kibo Support if you have any questions.
Production Tenant Features
Commerce
- B2B Order Release: You can now extend configurable shipment release to hold B2B orders for a period of time before releasing them in a certain order based on the priority that you assign to each B2B account. This allows you to prioritize fulfilling certain B2B account's orders over other B2B or B2C orders with the same items when needed. You can either manually release orders from the Admin UI or set it to occur automatically at a specific interval of time.
- Rules Configuration: You can now set up "rules" that automatically set safety stock values on location inventory, enforce purchase limits on B2B accounts when releasing their orders, or configure custom return policies. These rules are built on expressions and depending on the type, can be based on product type, code, variant, static category, attribute, customer account, customer segment, or other first class fields. See the Purchase Limit Rules, Return Rules, and Safety Stock Rules documentation for more details about how each rule type works.
The sandbox release of all rules have been pushed back to Wednesday, March 5.
- Handling Fee Retention: You can now have your tenant configured to retain an item's handling fee when it is cancelled. In OMS-Only implementations, the line item's handling fee will be redistributed onto other items in the shipment (or onto another active STH shipment in the order, if the entire shipment was cancelled). In eCommerce+OMS implementations that do not distinguish between order-level and item-level handling fees, the total handling fee will be retained.
Fulfillment
- SLA Tracking Update: In addition to the Shipment Status and Shipment Workflow State, you can now also configure your SLAs to track shipments based on their Shipment Workflow Task.
- SLA User Permissions: Behaviors for SLA Create, SLA Read, SLA Update, and SLA Delete have been added to let you fine-tune which users are able to access and modify SLAs. These behaviors are automatically included on Admin and SuperAdmin user roles.
- 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 is reaching 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.
Order Routing
- STH Consolidation Grouping: The Suggestion API now supports inclusion of STH Consolidation transfer shipments in its shipment grouping.
Production Bug Fixes
Service | Resolution |
---|---|
Catalog | Pricelist imports were not being correctly filtered when two master catalogs in the same tenant each used a pricelist with the same code. This has been corrected so that only the expected catalog is used when duplicate pricelist names and codes exist across different master catalogs. |
Catalog | Child product types did not inherit their base product's variation properties like they did options, extras, and non-variant properties. This has been fixed so that when a base product type has variation properties, those are added onto its child property types as expected. |
Commerce | Page Not Found errors were being experienced after refreshing some pages in Site Builder or via direct link. This was due to an issue with URLs containing the word "access" such as in "accessories," which has now been fixed so that these pages can be successfully displayed. |
Inventory | Some backorder jobs were running at random rates across multiple tenants and sites when they were supposed to be triggered every 15 minutes. This included not triggering at all for several hours. The job process has been updated so that backorders are released at the expected rate again. |
Internal Production Details
Find more information about the client-facing updates at these Jira tickets:
- B2B Order Release: COM-8969
- Rules Configuration: COM-8969, CAT-5209, and COM-9019
- Handling Fee Retention: COM-9230
- SLA Tracking Update: ICKY-1337 and FFMT-4593
- SLA User Permissions: ICKY-1113
- STH Consolidation Grouping: COM-9215
- Location Fulfillment Limits: CHAR-5856
The following enhancements are internal-only and not exposed to clients:
- CHAR-5836 and CHAR-5837: A listener has been created to update metadata for manager jobs. Additionally, a List History For Manager Job endpoint (
/api/jobs/history/{jobType}
) has been added to the Jobs API to retrieve job history for managers. - CHAR-5728: When FileProcessor fails to handle an event, an alert is now triggered to better log errors.
- CHAR-5881: A MySQL event has been created to delete all fetched files older than 30 days.
- CAT-6153: The
hide-product
attribute added in Version 1.2446 has been checked to verify that it is properly appearing on all tenants. - FFMT-4507: Validation has been done to ensure that package consolidation does not incorrectly consolidate shipments from different sites. Additionally, API support has been added for consolidating BOPIS shipments but that will not be added to public documentation until the UI enhancement is also complete.
Find more information about the client-facing bug fixes at these Jira tickets:
- Import Pricelist Codes: CAT-6110 (reported by London Drugs)
- Product Type Inheritance: CAT-6140 (reported by Sun & Ski)
- Site Builder Page Error: COM-9205 (reported by Ace Hardware)
- Backorder Job Issues: CHAR-5969 (reported by Sound United)
The following bug fixes are internal-only and not exposed to clients:
- CHAR-5949: Fixed an issue where the Get Job Queue by ID API was failing for inventory exports due to numbers being parsed for INT despite being too large.
Production Sandbox Features
Commerce
- Substitute Bundles: Bundles can now be selected as substitute products, allowing cases such as substituting a 90oz product with a bundle that consists of a 60oz and a 30oz product. Each bundle component will be displayed in the Order Admin and Fulfiller shipment details and substitution selection options, labelled under the bundle name. See the Substitutions documentation for more details and examples, including how repricing works.
Fulfillment
- Collapsible Map Setting: While the map on the FFUI dashboard is expanded by default, you can now change it to be collapsed by default instead by setting the
isMapViewCollapsedByDefault
theme setting to 1. - Pick Wave Updates: A couple updates have been made to pick waves:
- The UPC column of the pick sheet now includes a scan field, in which scanning the barcode of those items will update the current picked quantity. The row will be highlighted green once the scanned quantity matches the needed quantity. This scannable field can be enabled or disabled with the
isItemUPCScanAllowed
tenant setting in your Fulfiller UI theme (in which "1" is enabled). Note that this setting also controls scanning functionality in the Validate Stock step. - The Close Pick Wave API now supports a
quantities.shortageReason
such as in the example shown below, which will also be included in GET data. An option to select a reason will be displayed when closing a pick wave via the Fulfiller UI. This is mandatory when the actual picked quantity is less than the required quantity, as it explains the difference in inventory. The API documentation will be updated soon.{ "createRecovery":false, "quantities": [ { "actualQuantity":1, "binName":"Default", "productCode":"12345", "shipmentNumber":111, "shortageReason": { "reasonCode":"ItemNotAvailable", "moreInfo":"" } } ] }
- STH shipments can now be moved to a configured fulfillment step upon closing a pick wave, where previously they were always taken to Prepare for Shipment. Shipments are still moved into Prepare for Shipment step by default, so the current functionality is not affected for existing implementations. If you want to change your implementation's behavior, contact your Kibo team for more details.
The tenant attribute for this configuration isfulfillment.pickwave.onCloseSth.
If populated with a valid STH BPM step, the shipment will be moved to the appropriate step. If left blank, it will default to Prepare for Shipment. If the BPM step is set to Print Packing Slip, then fulfiller users should not also check the "Print packing slip" option when creating a pick wave.
- The UPC column of the pick sheet now includes a scan field, in which scanning the barcode of those items will update the current picked quantity. The row will be highlighted green once the scanned quantity matches the needed quantity. This scannable field can be enabled or disabled with the
Inventory
- Inventory Locator Update: The character limit of the
items.inventoryLocatorName
field in Inventory APIs, such as the Refresh call, has been raised to 5000 characters. This allows more flexibility in tracking custom attributes and sorting pick waves.
1.2506 Updates
The following feature was released to sandboxes in Version 1.2506 and is being held there for additional time before releasing to production, which is currently targeted for April 1.
- 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.
Sandbox Bug Fixes
Service | Resolution |
---|---|
Commerce | If an error occurred while submitting a subscription continuity order, multiple orders would be created for the same subscription and authorized. This has been corrected so that only one order is retried and created. |
Fulfillment | UPCs were not appearing correctly on the Fulfiller UI dashboard while viewing it on a mobile device. This has been fixed so that UPCs are properly displayed. |
Fulfillment | The Pick & Pack link on the Fulfiller UI navigation menu was not always displayed for location-specific users that should have access. This has been corrected so that the link is properly displayed for appropriate users. |
Fulfillment | When viewing the mobile version of the Fulfiller UI, the toggle to switch between the map and grid views was covered up by the search bar. This has been updated so that it displays correctly. |
Inventory | Caching issues caused Inventory Export APIs to return Bad Request errors, stating that the given site ID did not match the tenant. This has been fixed so that export calls for appropriate sites and tenants can be made successfully. |
Inventory | Performance issues were experienced when deleting large numbers of product codes. The Delete Inventory API process has now been optimized for better performance. |
Internal Sandbox Details
Find more information about the client-facing updates at these Jira tickets:
- FFUI Return Update: ICKY-1383
- Substitute Bundles: COM-8875 and FFMT-4423
- Fulfillment and Inventory Locator Updates: FFMT-4710
- Reverse Logistics: COM-9040
The following enhancements are internal-only and not exposed to clients:
- CAT-6298: The limit of product/location combinations has been increased from 2 million to 10 million, which Safety Stock Rules can successfully run on.
- CHAR-5670: Tests have been created for granular inventory fields.
- CHAR-5996: Tests have been created for File Processor GCP support.
- CHAR-6062: Kibo.Jobs now point to the proxy when the
kibo.features.fulfillment-extensibility
feature flag is enabled. - CHAR-5827: Legacy inventory job processing has been updated to be more vertically scalable.
- CHAR-5981: The GCS client manager has been updated to use a shared HTTP client.
- CHAR-5854: Job filtering performance has been improved by indexing Tenant and Site IDs.
- CHAR-5871: The DataProvider service has been integrated into inventory management.
- ICKY-1555: Custom QZ Tray certificates can now be supported via the theme when a client wants to use it for their fulfiller processes. See the ticket for enablement and file requirements.
Find more information about the client-facing bug fixes at these Jira tickets:
- Duplicate Continuity Orders: COM-9209 (reported by Ace Hardware)
- UPCs in Mobile FFUI: ICKY-1554 (reported by Fleet Farm)
- Pick & Pack Nav Link: ICKY-1559 (reported by Fleet Farm)
- FFUI Dashboard Toggle: ICKY-1536 (reported by Fleet Farm)
- Inventory Export Errors: CHAR-5956
- Delete Inventory Optimization: CHAR-5825 (reported by Al Futtaim)
The following bug fixes are internal-only and not exposed to clients: