August 10, 2021 — 1.2130 Service Update

Production Tenant Features

Order Management & eCommerce Functionality

  • Removed BOPIS Return Labels: The button to print return shipping labels has been hidden from the BOPIS shipment view of the Order Admin to avoid confusion about this functionality. Return labels could not be printed for returns generated from BOPIS shipments, which was the intended behavior. This is due to the fact that BOPIS items are not expected to be returned via shipping as they would for a STH order, and thus do not have an applicable “Ship to” address.
  • Max Packing Slips Location Config: A new configuration option has been added to location group settings, in which the user can set a “max. number of packing slips by group.” This setting is optional but providing a value will override the default value of 10 that is already used by the system. This determines how many packing slip tabs can be displayed in the Fulfiller UI’s Pick & Pack feature.
  • Block Assignment in Cancel Shipment API: The blockAssignment flag that blocks future assignment to a shipment’s original assigned location has now been added to the Cancel Shipment API. This allows assignment to be blocked from that location when you cancel one of its shipments.
  • Transfer Child Relationships: Similarly to the functionality used for service items, BOPIS and Transfer shipments now use item IDs to denote the relationship between parent and child items. The “parent” item in a BOPIS shipment includes a childItemId parameter pointing to the transfer item. In the Transfer shipment, the “child” item has a parentItemId parameter pointing back to the BOPIS item. This relationship previously existed at the shipment level but has been extended to the line item level to support behavior where an operation performed on a parent item also reflects on the child item being transferred. This is implemented on all transfer instances.
  • NativeScript Print URL Updates: Print URLs have now been updated to PDFs in the NativeScript application. This allows documents such as shipping labels, packing slips, and pick sheets to be successfully printed in the proper PDF format.
  • Tax Recalculation: When tax integration is not available, the Kibo Composable Commerce Platform will now recalculate tax based on the given tax percentages instead of refreshing the tax. This uses the Arc.js actions documented here. When both item and shipping tax rates are provided at the item level, then the Kibo Composable Commerce Platform will apply those tax rates to the line item upon a change in shipping address, change in line item unit price, or adjustments to item or shipping subtotals.
  • Fulfiller Dashboard Defaults: This feature was originally released to sandbox with 1.2124 but is now being pushed to production with updates from 1.2128. Theme customization for the Fulfiller UI now supports defining a default tab for the dashboard to determine which shipment listings are displayed first when the page is opened. In the theme language files, the “SHARED.TENANTSETTINGS.defaultDashboardTab” setting can be set to a particular shipment type in order to set that shipment type’s tab as the default. For instance, setting “defaultDashboardTab“ : “BOPIS” would result in BOPIS shipments being displayed upon opening the dashboard. This allows the Late Shipment tab, which is the out-of-the-box default, to be removed from the UI with the following code: .alert-tab-Late { display:none; }
  • Shipment Item Declined Subscription: The existing SHIPMENT_ITEM_DECLINED event has been added to the available event subscriptions in the Dev Center, allowing users to subscribe to these events through the user interface. This event is triggered by actions such as cancel shipment item, shipment reassign, reject shipment, and transfer shipment. When the event is triggered, information about the action will be delivered through the subscription. See the Event Subscription and Shipment Event Notification guides for more details. Note that these docs are intended to be revisited and may be merged together in the future.
  • Return to Gift Card from Fulfiller UI: Any return processing for gift card payments via the Fulfiller UI would result in a failure. This was due to the Fulfiller UI's return logic attempting to perform a payment credit, which was not supported for gift card gateways. Now, the return process will allow the fulfiller to select "Process to New Gift Card" while handling a return, which will create a new gift card under the order's customer name and email address which the total amount of the refund will then be applied to. See the Fulfiller return processing documentation for more information.

Translated Order Management Functionality

  • Location Mappings: When a tenant using the translated Order Management APIs adds a new location from the Admin UI, the system now automatically maps the location data so that it can immediately be used by the Inventory and Order Routing services. Previously, this did not happen automatically and required an engineer to manually perform the mapping.
  • Translated Tax Overrides: Previously in the Create Order API, an error would be returned if values for both itemTaxOverride and itemTaxRateOverride were sent. Now, the itemTaxOverride field will override the itemTaxRateOverride field. Likewise, the same error would be returned if values for both shippingTax and shippingTaxRate were sent. Now, the shippingTax field will override the shippingTaxRate field at both the order and item level. All of these values also accept decimals up to 5 places. For more information about these translated APIs, see the documentation.
  • Item Identifiers: Item identifier data is now returned in translated GET calls to the Order, Item, and Shipment APIs to facilitate importing and retrieving orders. The data can be updated when sending a request to the translated Transition Shipment State API to validate items in stock or validate an incoming transfer. This also supports the Fulfiller UI, as it allows fulfiller users from upgraded implementations using translated APIs to set their item identifiers (such as card numbers) in the FFUI and then view that information in their Order Admin UI and transactional logs. For more information about these translated APIs, see the documentation.
    When transitioning states, the user can update item identifiers such as in the below example. In GET responses, the array format is the same but the object is called customFulfillmentFields.
    “fulfillmentFields”: {
        {
            “key”: “Card Number”,
            “value”: “123”,
            “required”: true
        }
    }


Production Sandbox Features

Order Management & eCommerce Functionality

  • Flexible Auto Capture on Delivery: Shipments of the Delivery fulfillment type will now reference the existing flexible auto capture setting used for BOPIS orders in order to determine when payment is captured. See the Delivery and Auto Capture documentation for more information.
  • Tax Recalculation on Refunds: Similar to the Tax Recalculation update released with Version 1.2128, tax is now recalculated when a return is initiated and the user issues a refund. This calculation is based on the item tax value and ensures that the automatically-generated refund is for the appropriate amount.
  • Refunded Gift Card Number: When a refund is performed to a new gateway gift card, the full gift card number is now displayed in the Returns and Payments tabs when viewing an order in the Order Admin UI. This allows CSRs and Admins to reference the new gift card’s number if needed for the customer.
  • Order Grid Update: A minor update has been made to right align the amount fields in the Orders grid of the Admin UI.

Order Management & Fulfiller Functionality

  • HTML Pick Wave APIs: API support has now been added to retrieve the HTML data of pick lists and pick wave documents. This allows these documents to be printed via API rather than through the Fulfiller interface. These GET endpoints are: /commerce/shipments/{shipmentNumber}/rendition/html and /commerce/pickwaves/{pickWaveNumber}/rendition/html. The API documentation will be updated here with the release of this Kibo Composable Commerce Platform version.
  • Order Routing Filters API: A new Order Routing API endpoint (…/group/add-filters) has been added to support adding multiple filters to a location group. The request payload only requires a list of filter codes and the identifier of the group that those filters should be added to, as shown below. Order Routing API documentation will be updated here with the release of this Kibo Composable Commerce Platform version.
    {
        "selectedFilters" : [1,2],
        "groupID" : 1
    }
  • Custom BPM Update: A particular implementation’s custom BPM, used to transmit shipments to SAP, now has associated updates in the Fulfiller UI to facilitate that process. These updates add buttons for Done, Skip, and Back to allow fulfillers to navigate between (though not every step has every button, such as Skip not being allowed when receiving a transfer). This does not affect other fulfillment flows, such as the standard STH and BOPIS, that already include UI buttons to continue on to the next step.

B2B Functionality

  • B2B Account Hierarchy Update: When viewing the B2B account hierarchy on the storefront, the area where the hierarchy tree displays would be blank if the account was not part of a hierarchy. To reduce user confusion and assist them if they choose to add child accounts, a default root account node will now be shown with the current account name for those cases. See the B2B documentation here for more information about this hierarchy.

Search Functionality

  • Typo Tolerance vs. Min Match: Note that this feature was added to sandbox in Version 1.2128 but has now been moved to 1.2130. The Typo Tolerance options in the site search configurations are now hidden when Min Match is in use. These features cannot both be active at the same time, so Typo Tolerance will not be displayed if Min Match is set to a percentage other than 0 percent. It will be available only when Min Match is set to 0 percent. For more information about these features, see the documentation.


Bug Fixes

The following list summarizes resolved issues for this release.

StatusResolution
Targeted for Production TenantsThe shipment details tab of the Order Admin UI displayed product option codes twice, instead of the option code and its label. This has been corrected so that both values are properly displayed for shipment options.
Targeted for Production TenantsReturn labels were truncated and incorrectly sized in the print dialog screen when printing from the Order Admin UI. This has been fixed so that return labels can be fully printed in the correct size.
Targeted for Production TenantsEditing the shipping address of an order in the Admin UI and performing a validation check on the address resulted in both the billing and shipping addresses being changed. This has been corrected so that only the shipping address will be updated as intended.
Targeted for Production TenantsAttempting to perform an appeasement on a canceled gift card order and refund to a new gift card was not successful, as the UI returned an error message that the refund amount was required even when it was provided. In addition, canceling the order returned another gateway error message. This has been corrected so that refunds can be successfully made to a new gift card.
Targeted for Production TenantsThe item SKU field was missing from the packing slip model, preventing this value from being added to packing sheet templates. This model has been updated to once again include the item.sku field to use this data in pack sheets.
Targeted for Production TenantsLocations with a location code of 0 were not being added to inventory records, preventing inventory from being managed for those locations. This has been fixed so that the system accepts 0 as a valid location code.
Targeted for Production TenantsThe inventory service occasionally experienced performance issues due to the presence of jobs with null location codes when querying for jobs. This query has been optimized to ignore cases of null locations, allowing jobs to be retrieved more quickly and improve the performance of inventory processes.
Targeted for Production TenantsReturns transactional logs were not displaying credits correctly and did not match shipment information in the UI when there was more than one transaction. This has been fixed so that the Returns log will report the proper transactions related to a particular return and include accurate credit amounts, without duplications.
Targeted for Production TenantsRetrieving shipping labels from FedEx Cross Border occasionally included a commerce invoice, which was incorrectly saved as a PNG. This prevented the Fulfiller UI from printing the invoice. The document will now be saved as a PDF as intended so that it can be successfully printed alongside the label.
Targeted for Production TenantsThe Product Search filter was not persisting properly, as filtered product codes were not staying filtered after clicking a SKU. This has been updated so that the filter stays in effect until being manually cleared.
Targeted for Production TenantsPhrases were not being redirected on the storefront search despite being configured in the Search Redirects settings. This has been fixed so that searching phrases will properly redirect the user to the intended URLs.
Targeted for Production TenantsLocation type codes were not being properly updated from the import/export tool, as the Admin UI would only display one type for any location that had multiple values passed to it. This has been fixed so that multiple types can be applied to locations through the import process.
Targeted for Production SandboxesInventory refresh jobs were experiencing performance problems recently and taking more time than expected to process. Optimizations have now been made to improve the performance of the inventory refresh.
Targeted for Production SandboxesAvailable fulfillment locations were not displayed for a product during offline order creation if the product was not set to track inventory. This has been fixed so that the user will be able to select the default shipping location for these products when placing an order for direct ship or pickup.
Targeted for Production SandboxesProducts configured with the Gift Included extra property were not being cancelled when their order was cancelled – the order’s shipment status would remain in Pending Fulfillment due to those items. This has been fixed so that cancelling an entire order will properly cancel those order items as well.
Targeted for Production SandboxesWhen a tenant had a large number of locations, the Location Group UI would time out and freeze while attempting to load the locations for configuration. These processes have been updated to retrieve locations more efficiently and handle large quantities without timing out.
Targeted for Production SandboxesThe image groups displayed on the product details page did not include all of the expected image data, requiring additional API calls to get image paths. An “includeAllImages” parameter is now available for the …/catalog/storefront/productsearch/search GET API endpoint, allowing this data to be retrieved by a single API call and displayed on the storefront details page.
Targeted for Production SandboxesThe Avalara application was not properly saving configurations and returned an error instead, even though the application had previously reported a successful connection with Avalara. This application process has been fixed so that configurations are able to be saved.
Targeted for Production SandboxesInventory levels were occasionally not being affected by the purchase or fulfillment of items, where it would be expected for available inventory to decrease. This was occurring when the implementation had inventory tags enabled but no tag categories besides the default. The inventory logic has been updated to better handle this scenario and accurately update inventory levels for all items.
Targeted for Production SandboxesThe single/multiple assignment radio buttons for configuring routes in Order Routing did not properly reflect the settings, as the buttons would always default to “single assignment preferred” on initial page load regardless of the actual flag in the backend. This has been fixed so that these buttons will save correct in the UI and continue to reflect the chosen setting after a new page load.
Targeted for Production SandboxesThe inventory locator name field was not included in the translated APIs for upgraded clients, meaning that the field could not be populated in the Fulfiller UI and packing slips for these clients. This has been corrected so that the field is included in the API conversion and can be displayed.
Targeted for Production SandboxesThe Avalara application had multiple installation and enablement issues - the address validator would not properly install when a tenant had multiple sites, some event subscriptions would not enable, and the country selection drop-down was poorly displayed. These issues have been fixed so that Avalara can be enabled more effectively.
Targeted for Production SandboxesSome categories could not be used in facets because their ID was not being appended into the URL. Logic has now been added to the system to safeguard against this problem and allow all categories to be properly faceted.
Targeted for Production SandboxesA particular configuration’s fulfillment partner application (such as for drop shippers) was experiencing problems in sandbox, as the Get Shipment API call would fail in that partner’s tenant instead of returning shipment data. This was due to a failure in the associated arc actions preventing the application from authenticating. That has been fixed so these applications will work as expected.
Targeted for Production SandboxesA fix previously reported in Version 1.2128, in which product codes were not staying filtered in Product Search after clicking a SKU, was not successfully deployed. It is now being properly deployed with Version 1.2130 so that the Search filter persists until it is manually cleared.