Service Updates & Release Notes

Learn about new features and bug fixes for Kibo products.

Order Management System

18.12 Release – January 22nd Service Update (Early Access)

This is an Early Access Draft. Changes may occur up to the time of release. The functionality described here is scheduled for release on January 22nd, 2019, per the following holiday schedule:

  • November 13 – 18.12 Staging Release
  • December 11 – 18.13 Staging Release
  • January 8 – 19.1 Staging Release
  • January 22 – 18.12, 18.13, and 19.1 Production Release

Features

  • Order Status Notifications: New Order Status Change notifications are now triggered whenever an order goes into any of the Payment Hold, Payment Error, WFMA, or Order Canceled statuses. Additionally, a new Order Address Update notification is triggered when an order’s shipping or billing address is changed. See the Notifications guide for more information on how these notifications will appear.
  • Clean Variables in Packing Slip: Clean variables in the shipped_items array of the template_packing slip (order_total_clean and order_tax_clean) have been made more broadly available in the template_packing slip outside of shipped_items. They have not been removed from shipped_items, but can now be used when they are not item-specific.
  • Multiple Payment Types in Packing Template: The pack list template code, template_packing, has been updated to account for displaying multiple card payments. The card_type, card_num, and long_card_num variables are available for each card used to pay for an order. This data is stored in an array so that it does not matter how many payment types there are.
  • Images in Pick Lists: Product images can now be added into the printed picklist for stock associates. Images must be sent as custom_order_item_data, and the pick wave view will load and display the provided images so that pickers have a visual reference of the item they are picking.
  • Department Information on Picking Screen: The department name and number are now displayed on the Validate Stock item view of the Fulfiller UI, allowing store associates to know where to look for the item while picking. This information is passed as custom order item data as “deptNo” or “deptNm” parameters, which the UI will display if available. These datapoints have also been exposed to the packing list template.
  • Digital vs. Physical Gift Cards: OMS can now distinguish between digital and physical gift cards, allowing better gift card management and customer service. The Gift Card API now includes a boolean “isDigital” parameter, which can be set by the gift card payment cartridge. This follows the existing logic that digital gift cards include PIN codes and physical gift cards do not.
  • Assembly & Delivery Interface Tweaks: When Assembly and Delivery orders are viewed in the Fulfiller UI, the “Estimated Pick Up Date” field now says “Expected Delivery Date” instead. Additionally, the timestamp field has been removed so that the Fulfiller UI only displays the expected delivery date. This reduces user confusion about why a time appeared to already be assigned to the delivery.
  • Media URL Security: More media URLs have been replaced with secure versions, so that onBlocks sites continue redirecting to HTTPS and do not return warnings.

Bug Fixes: Customer Care

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
NAIf an order had identical shipping and billing addresses and the information was updated in Admin, there were inconsistencies with the address that was displayed in the CCUI. This has been fixed so that the CCUI displays the new addresses properly when they are updated.

Bug Fixes: Core Order Management

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00412158 & 00431653Certain dealers received "Available Order" email notifications for USD orders that they were not subscribed to, due to the emails sending based on manufacturer IDs and ignoring catalog preferences. This has been corrected so that the dealers’ orders are retrieved based on the proper catalog_id for their specific currency.
NAThe GET Inventory Inquiry API call did not filter by country as expected when a country code was passed in the requestLocation object. This has been corrected so that the results are restricted by country code when this parameter is present, and if not present then all locations within the radius are returned.
NAThe Assembly and Delivery columns of a product being assembled and delivered both displayed as "N" instead of "Y", due to parent items not updating with child service items assembly and delivery statuses. This has been fixed so that parent items will accurately reflect whether a product needs assembly and delivery.

Previous Updates

Features

  • Holiday Messaging: With the holiday season approaching, messaging has been added to Kibo checkout advising that orders placed after a certain date/time (9 a.m. Monday, December 17) may not be received by Tuesday, December 25. When appropriate, the messaging suggests Express shipping or In-Store Pick Up.
  • Promotional Shipping Restrictions: Items that don’t comply with a Manufacturer Special promo’s shipping restrictions are now prevented from being added to the promo. If an item can’t be shipped to the customer’s shipping address, then the promo will not be applied to their cart and an error message will be displayed indicating that the combination not compatible.
  • New Currency and Country Support: New non-commerce currency and country support has been added, allowing orders to be placed in the following: Saudi Arabia (SA), Israel (IL), United Arab Emirates (AE), Philippines (PH), Poland (PL), and Colombia (CO). See the OMS Standards guide for a reference of the currencies used by these new locales.
  • Exclude Express Shipping from Thresholds: In 18.8, default shipping options were implemented that allowed packages to default to a particular carrier when over a certain value or weight. This has now been enhanced to account for consumer-selected express shipping. Only standard shipping options will default to the selected carriers, and express shipping will not change even when over those thresholds.
  • Gift Card Emails Without PIN: A new catalog configuration, “SEND_GIFT_CARD_RECIPIENT_WITHOUT_PIN” has been created that allows Gift Card Recipient emails to be triggered in the case of gift cards that do not return a PIN with activation. Previously, these emails were not sent if there was not a PIN to provide. This configuration defaults to false.
  • Order Complete Email: A new email template has been created by request, called an Order Complete notification. This email will be sent when all ISPU items are picked up by the customer and when all items in a delivery order are delivered to the customer. This is based on the ISPU Order Ready template, with some tweaks for those particular scenarios. These emails provide the order item information, fulfiller address, and location hours.
  • Purchased Gift Cards in CCUI: Purchased gift card information has now been exposed to the Customer Care interface, allowing customer service representatives to view the delivery details of a digital card. This includes the recipient’s email, the gift message, and amount that were previously only visible in the Admin UI. This will allow CSRs to assist customers who call in with questions about their digital gift cards. The new catalog configuration to mask gift card information can be combined with this feature.
  • Gift Card Masking: Two catalog configurations have been added to support exposing purchased gift card delivery information in the CCUI, with “GIFT_CARDS_PURCHASE_EXPOSE_END_DIGITS” determining whether gift card numbers are masked or not in the CCUI and “GIFT_CARDS_RETURN_EXPOSE_END_DIGITS” determining whether gift card numbers are masked in the order notes for gift cards created on returns. Any number less than 0 will expose all gift card numbers. 0 will mask all numbers. And any number above zero will expose that many gift card numbers starting from the end of the gift card number. By default, both configs are set to 4.
  • Expose Pickup Contact: The pickupContact custom data from the shippingMethod object in the Create Order API is now exposed with each key (name, email, smsNumber) as its own new variable (pickupContact_name, pickupContact_email, and pickupContact_smsNumber). This allows pickupContact data to be used instead of shipping data points in the pick/pack lists.
  • Express Order Item Editing: If an express order uses inventory, then its item quantities can now be edited in the CCUI. Previously, no express order quantities could be edited even in the case of 3-day shipments that were not considered express by the fulfiller.
  • Unicode in Email Addresses: Email address validation did not allow some Unicode character in email addresses, even if they were valid UTF-8. This validation has been enhanced to allow more support for Unicode characters
  • International Tax Override: A new catalog configuration has been created to allow international shipments to override the restriction that tax cannot be above 20% of the item price. If “SKIP_INTERNATIONAL_TAX” is set to true and the carrierType of the order is “INTERNATIONAL”, then the order will not fail when the item or shipping tax is higher.
  • Disable Appeasement Email in CCUI: The Create Appeasement API provided a parameter to disable customer email notifications, but this option was not clearly exposed in the Customer Care interface. The checkbox that now says “Send appeasement email to consumer” will allow a customer service representative to control whether or not these emails are sent to the customer.
  • Order Notes Pagination in CCUI: The Customer Care interface has now been updated to use pagination while viewing the order logs section of order information. This prevents long loading times for orders with a long history.
  • Disable Late Order Emails: A new catalog configuration, “CUSTOMER_CARE_DO_NOT_SEND_LATE_ORDER_EMAIL”, has been added to enforce whether email notifications are triggered when an ISPU order fails to Customer Care. In cases where the fulfiller settings were set to not send that email, they were being triggered anyway. This configuration defaults to false, so any clients who wish to prevent these emails should set this to true.
  • Chargeback Fee Reason: A new fee reason, “Chargeback Representation” has been created in OMS. This is separate from the existing Chargeback Resolution Fee, as this will be charged by Kibo to dispute the chargeback on the fulfiller’s behalf.
  • Express Location Configuration: Support teams and Kibo admins can now enable/disable locations for Express orders in the manufacturer and retailer admin interfaces. This is a toggle that determines whether orders can be routed to a location when using Express shipping, and can also be set when importing location data from a file.

Bug Fixes: Customer Care

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00413884Recent billing addresses were not displaying in customer search results in Customer Care, due to changes in how they were formatted. This has been fixed so that these billing addresses are visible in the customer data.

Bug Fixes: Core Order Management

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00521790 & 00523338Trying to fulfill a shipment that was in the wrong status returned an Internal Service Error instead of a Bad Request error, which is more descriptive. This has been fixed so that the proper error message is received.
00375569 & 00313232The “Forgot Password Email” that customers can request from Kibo was not being sent in languages other than English, due to language tags not being passed. This has been corrected so that these emails are now sent in non-English languages.
00544810The "Upload Ship to Store Fulfillers" process kept getting stuck due to an exception when OMS attempted to update a nonexistent record. Enhancements have been made to log this error instead of killing the script, which should ensure that the process continues to run when that issue is encountered.
00546822When printing shipping labels for orders from the EU to the US, the Fulfiller UI showed only the US shipping types and not international shipping types for UPS. This has been fixed so that the user is able to see all applicable shipping types.
00563416When one carrier is set as the default carrier and another is set as the threshold default delivery type, some shipments were not being placed with the latter when above the package weight threshold. This has been fixed so that shipments default to the proper carrier when above the designated weight threshold.
00280931When rejecting a return for a Ship to Store (Automated) order from the retailer interface, then the return was completely removed instead of displaying a closed status. The “Reject Return” button functionality has now been changed to close RMA items and move the order to the proper “Return Accepted by Fulfiller” state if there were already other accepted return items.
00482590When Ship to Store (TISPU) orders were released from Customer Care after there was not enough inventory for a transfer, the orders would break if they were not manually assigned back to the original expected location. OMS now automatically assigns these cases back to the original location in the proper state so that they can continue the order flow.
00557217Some media elements in onBlocks templates were still calling HTTP content, causing Chrome security alerts in onBlock stores that redirect to HTTPS. These have been updated to refer to secure addresses, besides third-party elements such as PowerReviews that will need support from those parties to correct.
NAThe payment server occasionally failed to return a response when validating payment. A retry has now been added to validate the payment request again when no response was received, ensuring that orders do not fail on creation and instead are attempted again.
NAOrders became stuck in the fulfiller interface when the page didn’t fully refresh, such as when users quickly clicked a button to proceed before the page was fully loaded. The interface has been tweaked so that the order will finish processing regardless of whether the user stays on the page for the full load time.
NAWhen a transfer order was created with more than one shipment for the same item, one of the shipments would be missing the parentTransferItemID parameter in the Get Order request. This has been corrected so that all shipment order items are properly connected to the parent.
NAWhen an order was created with a service item and an actual item that required a transfer, the parent item stayed in the Print Pick List state instead of going into Waiting for Transfer. This has been fixed so that parents of transfer orders with physical and service items are successfully placed in the proper states for fulfillment.
NAWhen a second transfer was created and shipped to a particular configuration’s store, it could not be received due to a javascript error when clicking the "Cancel item(s) off order" button. This has been corrected so that transfer can be fully processed through the interface.
NAWhen a Transfer order item was rejected at the receiving store and the parent order created a new transfer, OMS sent a "Ready for Pickup" notification even though the order was not ready. Internal logic has been changed so that these notifications are not triggered prematurely.
NAThe GET Inventory Inquiry API call did not filter by country as expected when a country code was passed in the requestLocation object. This has been corrected so that the results are restricted by country code when this parameter is present, and if not present then all locations within the radius are returned.
NAThe /api/v5/inventory/delete request did not respect null values, so that when a parameter was provided with a null value then the field would not be filtered on. Filters now account for null values in the request body, so that items will not be included in the deletion results if their matching parameters (such as SKU or other product codes) are not null.
NAOrders that were placed with Assembly and Delivery service items did not trigger Order Ready for Pickup or Order Ready for Delivery emails. This has been fixed so that these email notifications are now sent to customers from Bronto.
NASome “clean” variables (e.g. subtotal_clean, item_tax_clean, etc.) were not being populated in the packing list templates, making these variables unusable. This has been corrected so that these variables are populated and can be used in templates.

The following updates have been resolved in an off-cycle release for the 18.10.2 version of OMS.

Support TicketResolution
NAAfter scanning a barcode, the number remained in the scan field instead of being cleared out on the next scan. This was an inconvenience that required the user to manually clear the barcode number. This has been changed so that input fields are automatically cleared.
NAWhen a store’s open and close times were the same time, such as when they both used 00:00:00 to indicate not being open on that day, messages were still scheduled and sent at the open time. This has been fixed so that notifications are not delivered at invalid times and are instead scheduled for the following day when the store is not open.
NAA particular configuration’s hourly gift card reports were being received randomly several times per day and did not contain all of the purchased gift cards. This has been fixed so that the reports are sent and received consistently with all gift card data included.
NAEmail and text notifications for order cancelations were missing the term “customer:” as intended by a particular configuration. The template has been updated to say that the order “has been canceled for customer: CustomerName”.
NAChild transfer orders without associated shipments caused errors that prevented the parent order from properly scheduling notification messages. The logic has been updated to handle this situation without throwing an exception and blocking messages.
NAEvent notifications were occasionally queued or sent out of order, such as when Waiting for Transfer messages were sent before Ready Shipment and caused the Order Assigned notification to repeat. Updates have been made to verify shipment states when scheduling notifications, removing unnecessary additional messages and improving the notification process.

Features

  • Validate Stock Scanning: Scanning items in the Validate Stock Step of fulfillment is now supported in all In-Store Pick Up order types, including Ship to Store Transfer. One or more items can now be scanned from both a multi-line item perspective and a multi-quantity perspective for these orders, which increments the recorded quantity by 1. This functionality is enabled through a fulfiller setting called “ISPU Allow Scan on Validate Stock Step.”
  • Custom Data in Packing Lists: More custom item and order data has now been exposed to packing lists. The returnsBarcode and LineItemDiscounts parameters can now be displayed in these lists when configured in custom templates – they are not  part of the standard packing slip template and will not be used by any existing templates by default.
  • Cancellation/Rejection Reason Codes: Additional reason codes for order cancellation and rejection have been added to the Customer Care interface, Fulfiller interface, and APIs. The new reason codes for cancellation are “Customer changed mind,” “Damaged or defective,” “Item not available,” “Add additional items,” “Payment method change needed,” “Store error”, and “Purchase never picked up.” The new reason codes for rejection are “Customer changed mind” and “Damaged or defective.”
  • Deactivated User Updates: As a follow-up to recent improvements for deleting store associations, deactivating a user through View Fulfiller Users in the Admin interface does not remove store associations for that user. Meanwhile, shipment notifications have been limited to recipients who are active users so that inactive users will not receive notifications. This fixes the problem of deactivated users receiving unnecessary communication, without permanently deleting the user associations.
  • Bulk Receive Transfers: The Fulfiller UI can now bulk receive transfers based on the tracking number. Previously, a fulfiller had to reference the shipmentID which was not always printed on the box. A unique tracking number can be input into the search bar in the receiving transfer UI to receive the shipment, though this functionality requires that shipments are split based on how many boxes the shipment comes in. There is a catalog configuration called “RECEIVE_TRANSFER_SCAN_FIELD” which may be set to “SHIPMENT” to require a shipmentID as per the original functionality, and can be changed to “TRACKING_NR” or “BOTH” to enable this new feature.
  • Transfer Shipping Fees: Item-level shipping fees can now be charged to customers when items need to be transferred from another store using Ship to Store Transfer. OMS does this by recognizing the shipType for transfer orders the same way that it identifies Ship to Home orders, overriding the usual settings that usually exempt transfers from shipping fees. New catalog configurations, “TRANSFER_ORDER_OVERRIDE_SHIP_TYPE” and “TRANSFER_ORDER_SHIPPING_FEES_ENABLED” can be used to activate this functionality. The first configuration overrides the transfer order’s shipType with the customer order’s shipType, and the second is what actually allows shipping fees to be charged.
  • Create Order Modification Notifications: Notifications for order modification have been added, so that when non-fulfilled order items are changed (either via API or the CCUI interface) then a notification is triggered containing the new order and shipment information. Note that this is an internal notification for the merchant, not consumer email messaging.
  • Order Appeasement Notifications: Notifications for order appeasements have been added so that creating an appeasement triggers a notification to be sent that details the appeasement data. Note that this is an internal notification for the merchant, not consumer email messaging.
  • Shipping Address Management: A new catalog configuration has been created to prevent store addresses from a particular ISPU implementation from getting stored with customer information, which led to customers accidentally submitting a store address as their shipping address. This configuration is called “ALT_IMP_ISPU_SHIPPING_METHODS” and allows shipping methods to be specified and managed so that they will not display in address books. This configuration only has to be set for this particular implementation that experienced these incidents.
  • GiveX Special Cases: GiveX gift cards from certain manufacturers have PIN and card number lengths that are different from the default, requiring an update to gift card validation. This update has been made so that cards in this special case can be accepted and processed by OMS.
  • Inventory – Get All Locations: When making a Get Inventory API call, the type parameter would return all locations when set to “ALL_STORES” but it only worked with one item. Meanwhile, “ALL” worked with multiple items, but did not return null inventory locations. Thus, this call could not return comprehensive information of network locations for an order with multiple items. To support this case, the TYPE = ALL_STORES logic is now compatible with multiple items, including locations without a product in stock.
  • Get Routing Candidates by External ID: The GET Candidates API call, which returns a list of all possible routing candidates for an order, now accepts the pickupExternalStoreID as a pickup store identifier. This allows eCommerce integrations to send that external identifier to designate a location instead of the OMS pickupLocationID data point, which required Kibo Support to manually export all OMS locations and import them into eCommerce to keep identifiers in sync. Using an externalID in OMS allows these locations to be synchronized without that additional labor. See the Get Candidates API guide for more information.
  • New Transfer Inventory Configurations: Two new catalog configurations have been added to supplement Ship to Store Transfer (or TISPU) orders. These configurations can be used by clients who wish to adjust their inventory based on transfers and related allocations, in case the order is canceled and the items need to be accounted for at that location. The first configuration, INVENTORY_INCREASE_ONHAND_ON_TRANSFER_RECEIPT, adjusts the inventory of the transfer items at the pick-up location upon receipt. The second, INVENTORY_ALLOCATION_AND_DECREMENT_ON_TISPU_ORDER, allocates the inventory of the transfer item at the pick-up location upon receipt. Then, it decrements the inventory as fulfilled upon a completed pick-up.
  • External Fraud Type: To support use of an external fraud system alongside OMS, a new fraudType value has been created to allow these clients to move an order into Payment Hold during order creation. This fraudType is called “EXTERNAL” and can be used in a Create Order API call as in the following example. See the External Fraud guide for more details, but note that the linked schema will not be updated until this feature goes to production.
"fraudData":[{
        "fraudType":"EXTERNAL",
        "fraudScore":0,
        "fraudState":"REVIEW"
   }]

Bug Fixes: Customer Care

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
NAIf a line item had a quantity greater than one, then changing the item tax amount divided the amount by the quantity when it was supposed to be multiplied. A fix has been put in place to correct this until the Adjust Tax API is updated to calculate this tax properly.

Bug Fixes: Core Order Management

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00509334 & 00293308Company names were displayed in shipping addresses listed in the Admin and Customer Care interfaces, but not on the shipping label when printed. This has been fixed so that the company name is printed, but a setting “Don’t Send Company Name” has also been added to the Fulfiller Account Settings so that any fulfillers who don’t want this information to print on shipping labels can disable it. This applies to UPS and Canada Post.
00502161 & 00504433The allowSplit flag set during order creation was not being respected for non-order routing orders, causing orders to be split into multiple transfers. This has been corrected so that if the flag “allowSplit” is set to false and the “AUTO_ASSIGNMENT_MAX_SPLIT_ITEM_LOCATIONS” catalog configuration is set to 1, then a transfer order will not be split.
00391794Filters by year and month in Sales Total reports presented different results for each month. This has been corrected so that package counts are now consistent across all report filters. Additionally, the averages of ticket totals are now calculated more accurately.
00504618Several onBlocks template files referred to URLs that went to HTTP resources instead of secure HTTPS, causing a mixed content warning. Due to upcoming Chrome updates that will be less permissive of non-secure connections, these addresses have been updated to be secure.
00517131When preorders were released for fulfillment, they were sometimes split into two packages. One of these packages would be empty and the consumer would be double charged, requiring initiating a refund to correct. This has been fixed so that a second shipment is not created and charged for when preorders are assigned.
00509277OMS created transfer orders for a catalog that was not configured for transfer, due to an issue with external item IDs becoming linked to duplicate reference numbers. A recent fix addressed this partially, but another update now excludes the problematic reference type from child order IDs so that this linked duplication does not occur.
00195943Updating the tracking information via the UpdateTracking call of the Shipment API did not trigger a customer notification email as intended. This has been fixed so that an email is sent.
00438649Tests for the Customer Experience Bonus Tool of a particular configuration were stuck in pending for over 24 hours. A number of issues including syntax errors have been fixed to improve the functionality of this tool.
00479586Pick waves with duplicate items listed the order ID multiple times in the table column, which was unnecessary. This has been updated so that the order ID is only displayed once for each line item.
00530580UPS SurePost only printed two address lines even when three were provided. The label only displayed the second and third lines, ignoring the first. This has been fixed so that all address lines are printed.
NAThe customer name was overriding the billing name in some cases in which those names did not match. Both names would display correctly in the Admin interface, and then become overridden at the Print Packing List stage. This has been corrected so that the correct billing name is retrieved when applicable.
NAA previous fix updated dispositions so that the shipment_ID of a reassigned disposition was the original ID of the declined shipment. This change was only made to cases where order routing was enabled. Now, this has been extended to non-order routing cases as well.
NAThe orderType parameter was not being populated in the return notifications even though the field was passed, resulting in the parameter being given a null value. This has been fixed so that notifications properly report the order type.
NACustomers were able to change their address to countries unsupported by the catalog. This has been fixed so that catalog settings only populate the country list with the options that are supported. Selecting the option to apply these changes to all existing un-shipped orders only updates non-ready orders for that same manufacturer and catalog, preventing cross-catalog interference of address assignments.
NAThe “return_breakdown” array of a return’s payment data, where the data was separated by type, sometimes incorrectly recalculated the breakdown after the refund was credited. Improvements have been made so that this calculation is made more efficiently and properly reports the payment information.
NAWhen requesting a capture on a PayPal order that was already captured by the system, an Internal Server error would be received instead of a better error response that made it clear the capture did not need to be repeated. A more informative response is now received so that the user knows not to retry the capture.
NAA 500 Internal Server error was returned when updating location-level attributes via API, when the attributes should have been changed and a 200 OK response returned. This was due to an out-of-date method name that has now been corrected.
NAPending PayPal refunds sometimes failed due to an unverified ACH error, leading to customers waiting on or never receiving their refunds. PayPal orders that experience this error are now allowed to be automatically retried after a day, allowing enough time for Kibo to move funds for the order and successfully refund upon the retry.
NAFor a particular configuration, placing a split order under a certain catalog caused the order’s Validate Stock step to not work as intended for their use case because the default value of the “In Stock” option displayed the amount denied by the transfer. A new fulfiller account setting has been created to change this without interfering with other configurations’ uses of this feature. This setting, "Use Inventory Quantity in Validate Stock," is disabled for the configuration that wishes to default to the quantity of the item instead of the amount denied by the transfer order.
NAThe “Have Questions?” link in the consumer account space did not point to the correct URL, preventing the user from following the link. This has been fixed so that the customer is redirected towards a customer support page.
NAUSD and CAD orders displayed currency code and symbol prefixes in the packing list, but orders in other currencies did not. This has been fixed so that currency prefixes are always displayed and currency symbols are also used where applicable.
NACARS validation did not reflect Canada Post’s requirement of a sender phone number, resulting in generic error messages when calls were made to Canada Post to print labels. These messages have been made more specific to identify the missing information to the user.
NAOrder Routing was not able to split orders for configurations using the Immediate Order Processing Tool of the XML-RPC APIs, due to orders incorrectly being assigned codes that limit fulfillment locations. In addition to this bug fix, the XML payload now supports the "SplitAllow" parameter which can explicitly enable order splitting when set to true ("1").
NAWhen a pickable bin had zero inventory but a non-pickable bin did have inventory, then the order did not go into Pending status as it should have to wait for pickable inventory. Instead, it was assigned without going into a pick wave. When fulfilled, it did not allocate or deallocate inventory. This has been fixed so that orders are assigned to bins properly.

The following updates have been resolved in an off-cycle release for the 18.9.2 version of OMS. Order Routing updates were released on September 21st.

Support TicketResolution
00550551, 00552347, & 00554990Order Routing experienced outages due to website traffic that sent a large number of the same request to OMS at the same time. Enhancements have been made to the routing application to better handle high demand without going offline.
00547525 & 00546798A particular configuration failed to receive transaction logs due to a shipment without a locationID causing the script to fail. An update has been made to prevent this from happening again.
00546791The credits transaction log and schema did not match in reflecting that the externalOrderID is optional. This has been updated to reduce confusion.
NADigital gift card fulfillment emails are currently unable to be triggered for certain kinds of cards that do not use a PIN for security. A script has been made for those affected that creates a report of gift card information so that this information can be communicated to the customer. This is temporary until a future update allows emails to be triggered automatically without a PIN.

Features

  • Transfer Order Creation Retry: When an ISPU order failed to create a transfer order in a particular configuration, the order was pushed to Customer Care and caused issues with the fulfiller notification service. This situation returned an error stating that payment data could not be stored on the server. Although a rare scenario, functionality has been added so that OMS will attempt to reestablish and send the data again.
  • Payeezy Gift Card Refunds: Payeezy Valuelink gift cards can now be refunded. The new gift card with the refund is created and an email is sent to the customer. The new giftcard info is also displayed on the order. Previously, when an order was paid for with a Payeezy gift card and then cancelled, the credit took place but no Virtual Credit email was triggered because Payeezy cards capture immediately on authorization. This made it unclear whether the gift card was truly being credited/credited.
  • STSA Multiple Returns: Previously, Ship to Store (Automated) orders could not have multiple returns made in the retailer and manufacturer interfaces, due to how OMS tracked the existing return status. New functionality has been added to support additional returns on a single STSA order, whether returning multiple line items or returning one item of multiple quantity.
  • Updated Pick List Data Points: New data points that were recently exposed to pick lists required two enhancements. First, the item_inventory data was an aggregate total across all locations which has now been updated to reflect only the inventory for the store fulfilling/picking the order. Second, the email_orderLastFour custom data point was reflecting the incorrect customOrderData key for the client(s) trying to use it. This has been updated so that the data is exposed properly.
  • FFUI and CCUI Refund Enhancements: In the Customer Care interface, the refund type of a return is selected during return creation. In this case, the Fulfiller interface will not allow the user to change the type again during the Process Return step. This cleans up the process to eliminate user confusion, as the refund type is already set.
  • Replacement of Transfer Items: If a store rejects items from a received transfer and transfers are configured to “ALWAYS” be enabled, a new transfer order is now created for the rejected items and the parent order goes back into Waiting for Transfer status. This allows stores to effectively request replacements for transfer items that were missing or damaged on arrival. This also includes a button that allows for items to be canceled off of the parent order at this stage when necessary.
  • Company Names on Shipping Labels: While company names have been displayed in shipping addresses listed in the Admin and Customer Care interfaces, but they have not been included on shipping label when printed until now. In order to make this a configurable option for fulfillers, a new setting called “Don’t Send Company Name” has been added to the Fulfiller Account Settings. This applies to UPS and Canada Post shipments.
  • Override Default Carrier/Service Type: Clients can now override the default carrier and service type on the order level, which gives them more control over orders. This allows clients to select a specific carrier and service type when creating an order, through the optional fields of carrier, carrierType, and serviceType that have been added to the ShippingMethod object. Supported carriers are FEDEX, USPS, and UPS. Supported carrierTypes are US, Canada, and International. All existing serviceTypes (such as UPS_Ground) are supported. For more information and a carrier override example, see the Create Order guide.
  • SmartPost with Customer Reference Numbers: Support for FedEx’s updated SmartPost barcode labels has now been added. FedEx’s update uses the customer reference numbers that Kibo provides in the generateLabel call, but this was not immediately compatible and barcodes could not generate as expected if there were reference numbers provided. This functionality has been updated so that SmartPost barcodes can now be used in combination with customer reference numbers and the reference is displayed on the resultant shipping label.

Bug Fixes: Customer Care

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00510615New orders were not being properly created from the Customer Care interface when using a TD Bank account, due to failing authorization. This has been corrected so that valid TD Bank accounts are authorized and new orders are allowed to be created.
00481897A particular configuration was not able to add a new payment to any Ready order through the CCUI, receiving a 400 Bad Request error. This was due to the submission form sending a state value in Canadian billing addresses, and is now updated so that these addresses can be properly submitted in new CCUI payments.

Bug Fixes: Core Order Management

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00412011 & 00420597Orders shipping to Ireland failed to be captured if they didn’t have a postal code. Postal codes were required by default, but should be optional for Ireland. OMS shipping validation has been fixed so that Irish addresses are validated without a postal code.
00501367When sending the backup plain text emails to customers of a particular configuration, the wrong order number was displayed. This has been corrected so that proper order numbers are referenced in these emails.
00466890When there are multiple items in the shopping cart on the mobile site, removing any item caused the first item to be removed regardless of which was clicked. This has been fixed so that selected items can be successfully removed from the cart.
00464165A particular configuration received errors when making Pull Inventory calls for their orders, requiring the orders to be manually moved to the next stage. This was potentially caused by deadlocks from concurrent transactions preventing calls to the Pull Inventory API as well as order creation and other FSM transition events. As part of the fix to avoid these deadlocks, an update has been made so that OMS checks the database before attempting to proceed.
NAWhen removing a user in the Fulfiller UI settings, existing store associations were not being deleted. This caused deactivated users to continue receiving notifications. This also occurred from the admin console when checking off the inactive radio button and saving the user updates. This has been corrected so that store associations are fully deleted when inactive.
NADue to buttons on the Fulfiller Interface being enabled at the same time, an order with failed payment capture could be cancelled and followed by OMS processing credit in CyberSource that should not be refunded. The interface has been tweaked to disable some buttons when applicable, preventing invalid credit from occurring.
NACustom headers in notifications occasionally were converted into a hyphen instead of the correct value. Updates have been made so that notifications can better handle dashes, spaces, and special characters.
NASeveral fields included in transaction logs were not listed in the schemas – the transactionStatus for credit and return logs, and the externalOrderID for credit logs. The .xsd schema files have now been updated to reflect this data for more accurate reference.

The following updates have been resolved in an off-cycle release for the 18.8.2 version of OMS.

Support TicketResolution
NAThe Canada Post “Notify Pickup” request requires address fields to be limited to 35 characters. Thus, if a line is over 35 characters then OMS will substitute common abbreviations for street suffixes (e.g. “rd” for “road”). If the line is still over 35 characters, OMS will wrap remaining words onto the second address line. Other requests allow 44 characters per line.
NAThe UPS carrier service experienced a bug that caused the first line of multiple-line addresses to be omitted from shipping labels, only printing the second line. This has been fixed so that UPS shipping labels can properly print these addresses.

Features

  • Default Shipping Options: If a package is over a certain value or weight, then it can be defaulted to a particular carrier or shipping method without triggering a pop-up or requiring manual selection. This is managed with new configurations under Fulfiller Account Settings that will set the weight threshold and default shipping type for exceeding the threshold. These configurations are “Delivery Confirmation Threshold”, “Package Weight Threshold”, and “Threshold Default Delivery.”
  • Skip Pre-Auth Tax Override: A new catalog configuration called “SKIP_PREAUTH_TAX_OVERRIDE” has been added that excludes the catalog from forced pre-auth tax overrides. This primarily affects clients using PayPal via the Create Order API and pre-authorization, as PayPal usually required tax overrides which did not make sense for catalogs without special tax-related products. Enabling the configuration for these catalogs allows them to successfully use PayPal without providing that override.
  • Canada Post Pickup Retries: If a request is made to Canada Post for pickup on a weekend day, holiday, or any other day that Canada Post considers invalid (which is returned as an error message), then OMS automatically sends another pickup request for the following day. This will repeat until a valid date is accepted by Canada Post. This process will not be visible to the requesting store; the store user will only see the acceptance message for the valid date.

 

Bug Fixes: Customer Care

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00438071, 00431867, & 00443137The return tracking number was no longer displayed in the Fulfiller and Customer Care interfaces when the numbers were generated through the UI. Both interfaces now display the return tracking numbers appropriately
00404159 & 00410765Order logs were not visible in the CCUI for orders with a high number of logged events, as they would time out and fail to load. These cases are now handled so that logs can be viewed.

Bug Fixes: Core Order Management

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00404159 & 00410765Order logs were not visible in the CCUI for orders with a high number of logged events, as they would time out and fail to load. This has been improved by tweaks that avoid logging unnecessary events in these scenarios.
00417483Dealers that were not shippable storefronts were still appearing in the list of in-store pickup options for customers of a particular configuration. This was due to how the checkout search grouped retailers with multiple locations, so a filter has been added to better exclude those invalid options.
00414219Shipping was not being added to the order total in confirmation email notifications. This value now calculates shipping into the total.
00464858When logged into the Manufacturer UI, users were unable to manage store associations because the list of locations failed to load. This has been fixed so that the locations are properly displayed.
00461402Cancellation notifications were not triggered for a particular configuration when split orders had cancelled line items. These emails are now triggered when line items or shipments are canceled during the Split Order process.
00479132When an order was reassigned, the disposition that was created had a new shipment_id associated with it, not the original ID of the shipment that was declined. This has been changed so that when a reassign disposition is created, the shipment_id that gets stored is the original ID of the declined shipment.
00511988Resending gift card emails failed in the Manufacturer interface, despite working in Admin. This prevented customer service representatives from resending the email to customers, and has now been fixed so that the email is successfully triggered.
00458489When a full bin audit was performed, the Fulfiller interface and audit requests returned all items regardless of inventory quantity. This caused problems for a configuration user’s who did not have those items on hand to scan as required for completing the audit. Items without inventory are now removed from bins for the affected configuration.
NAThe Ready Order Download API for Ship to Store (Automated) orders displayed the subtotal rather than the fulfiller amount in the fulfiller_total field in the response. This parameter has been updated to properly return fulfiller totals.
NADouble clicking using the keyboard when canceling a single item resulted in doubling the credit for the canceled item. This has been fixed so that the credit is only triggered once.

The following updates have been resolved in an off-cycle release for the 18.7.4 version of OMS.

Support TicketResolution
NAIn a specific configuration, the order details tab of the Print Pick Step of the Fulfiller interface was displaying transfers from a different manufacturer. This was related to a bug fixed in 17.7.3 that continued to occur for this configuration after the fix was released. It has now been updated with a filter to prevent unrelated transfer shipments from being displayed or interfering with functionality.

The following updates have been resolved in an off-cycle release for the 18.7.3 version of OMS.

Support TicketResolution
00508164 & 00511938Some configurations received a transfer order from another configuration due to external item IDs that became linked to duplicate reference numbers. This has been fixed so that these unrelated transfers are not automatically created.
NAThe “return_cleared” notification can now be triggered for returns with an amount equal to 0. Previous, this was not triggered if an order was not captured before the return was accepted, or if the item had a cost of $0. In a case such as BOGO sales, if a free item was later returned then the notification was not sent. Additionally, the total is also now included in all return notifications.
NAReturn Receipt Payment Breakdown: Recently, return email notifications were changed to itemize the payment data for orders based on payment methods, allowing no-operation payments to be excluded. This has now been extended to return receipts in the Fulfiller UI. This data is now broken down by payment type of the return in a similar format as a “return_breakdown” array of the return data.

The following updates have been resolved in an off-cycle release for the 18.7.2 version of OMS.

Support TicketResolution
00506291Some backorder items were experiencing double shipping, due to duplicate shipments being created on release of the backorder. This has been corrected so that backorders are only shipped once.
NAThe new data point for item quantities in transactional messages did not display the correct value when used in the Close RMA email. This has been corrected so that the correct quantity is provided. Related parameter tags have also been shortened to comply with Bronto tag standards.
NAReturn email notifications now split payment data for orders paid for with multiple payment methods, instead of displaying the refund amount as a single sum total. The payment types are listed in a “return_breakdown” string that excludes no-operation "AR" payments. Additionally, this data includes the masked card number so that customers can identify which card is credited for each amount when applicable.
NANew data fields have been made available to packing lists. These do not appear in the default templates but can be added to custom templates as desired. These fields are: VSN (custom item data), item_UPC, item_inventory (the quantity in inventory for each item), item_fullPrice (as opposed to the sale price), order_pickQTY (total quantity of items to be picked, such as 5 total across several line items), and email_orderLastFour (custom order data).
NATransfer orders with duplicate line items could not be received by the pick-up location, only rejected. This was due to incorrect quantity count that prevented further processing. This has been updated to allow these transfers to successfully be received.

Features

  • Auto-Rectify Orders Update: A feature to automatically rectify orders was recently released, however, the initial functionality only covered rectification after updating the price paid and quantity values for an item. This has been extended to editing tax for individual items and editing any values under the “Shipment” card (Shipping & Handling, Tax, etc.). This means that upon modifying these values, the order will immediately rectify itself instead of requiring the user to click the Refund button.
  • Store Hour Format Configuration: A new catalog configuration has been added to specify the format for store hours in emails. The default is to display store hours in 24-hour military time, but this configuration allows the hours to be displayed with the 12-hour time format. This configuration is called “EMAIL_STORE_HOURS_FORMAT” and can be set to 12 as desired.

Bug Fixes: Customer Care

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
NAThe location and catalog names were not shown in the order details when looking at an order in the Charge/Refund Failure queues. These details now display appropriately in those categories.

Bug Fixes: Core Order Management

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00421276In-Store Pick Up orders with duplicate line items went into Available status instead of Ready, due to how OMS recognized items and assigned IDs. This has been fixed so that these orders are put into the proper Ready status.
00462026If a PUT call was made to the User Management API without changing any fields, a 500 Internal Server Error response was received. To rectify the cause of this call being made in a particular configuration, passwords now get an extra 2 years before they must update their passwords (admins must update every 90 days). Password verification has also been added to the User Management call so that passwords can be updated in the request.
00440570Users were unable to save their In-Store Pick Up location hours in the retailer interface, as it always displayed the old store hours even after attempting to update them. This has been fixed so that updates are processed and displayed appropriately.
00406969A particular configuration had duplicated customers appearing as different accounts with the same email addresses. This has been cleaned up to merge duplicates and centralize their transactions.
00408806Inventory refresh files became stuck for several clients and could not be moved to the archive folder. This caused future inventory refresh files to be unable to process. Changes have been made to improve file management and make the system more resistant to these errors.
00458489Sending a request to audit a full bin resulted in no products being returned, instead of the full known contents of the bin as expected. This has been updated so that only providing a bin name in the request returns the full contents of the bin.
See ResolutionExpress orders were frequently getting stuck in the resolve queue, due to the resolve script erroring out and failing to run again later. This has been updated with additional checks to handle errors and allow the script to run again next time. Support tickets include 00469422, 00484137, 00468234, 00482427, 00479370, 00468247.
NAOMS erroneously flagged In-Store Pick Up orders as gifts when they were created with a populated pickupContact array. This meant clients also could not provide alternative pickup contact information for receiving messages without flagging that order as a gift. This has been changed so that these orders are not marked as gifts.
NAThe status of returns (“accepted” or “rejected”) displayed in incorrect languages on the French, German, and Italian email notifications. This has been updated so that the data is correctly translated.
NAThe Fulfiller UI displayed incorrect stock quantities for orders after a transfer order was created. If there were multiple line items of the same item with multiple quantities, then the stock defaulted to 0 and prompted the user to create another transfer order. This has been corrected so that products are properly identified and calculated for quantity.
NA“Transfer Created” email notifications were triggered for transfers that were automatically created straight out of payment hold. These emails were not supposed to be fired when a transfer was created in this manner, so this has now been fixed and the notifications are not sent.

The following updates have been resolved in an off-cycle release for the 18.6.3 version of OMS.

Support TicketResolution
NANo-operation payments for a particular client using them as rewards payments now refund last. This means that in the case of split payments being refunded, the refund amount will be maxed on the credit card first and then rewards second.
NARecently, OMS enabled location hours to be maintained through APIs. As an extension of this feature, consumer transactional emails have been updated to pull accurate location pickup hour data from those APIs
NAWhen searching for locations, the store hours were not returned even with an “includeHours” flag included in the query. This has been changed so that these calls can provide store hours for the resulting locations.
NACompletePackage notifications were not triggered for a particular client while fulfilling orders assigned to the manufacturer, nor when orders were fulfilled in the Admin UI. This has been corrected so that the CompletePackage message is sent when a shipment is fulfilled, regardless of fulfillment method.

The following updates have been resolved in an off-cycle release for the 18.6.2 version of OMS.

Support TicketResolution
NAA new catalog configuration (CONSUMER_ORDER_TO_PRINT_PICK_LIST_ON_TRANSFER_CANCEL) has been created to allow parent orders of canceled transfers to be returned to the Print Pick List step of the fulfillment process. Previously, canceling a transfer order and modifying the parent placed the parent back into Validate Stock, which could cause confusion as new slips could not be printed. Moving the parent order into the Print Pick List step allows for a pick list to be reprinted with updated quantities.
NASome transfer orders were not showing as fulfilled once they were received at a store and processed via API call, as the orders became stuck. This has been corrected by tweaks to shipment/action/received that will properly fulfill the shipment when the same API call is used.

June 12, 2018 — 18.6 Release: Service Update

Features

  • Payeezy E-Gift Cards: OMS now supports the ability to purchase and activate Payeezy e-gift cards, through Valuelink and FirstData implementation. These are identified by setting the cardIssuer parameter as “VL”, in the gift card information block of the Create Order API.
  • E-Gift Return Credit: When returning orders in either the Fulfiller interface or the Customer Care interface, there is now the additional option to apply return credit to a new e-gift card instead of the original payment method. This functionality can be enabled or disabled for both interfaces through the catalog configuration “ALLOW_REFUND_TO_E_GIFT_CARD”.
  • Preferred Location Setting: A new fulfiller account setting has been created to facilitate adding a customer’s preferred location to their new orders. This setting takes in a string for the name of the Customer Custom Data that holds the Location ID of a customer’s preferred location.
  • Store Location Hours API: Store location hours can now be updated via Location Attributes data in the Location APIs. This applies to GET and EDIT requests for both new and existing locations. This data is shared with the Get Shipment Notifications API to allow shipment notifications to reference more accurate store hour information.
  • Credit Card Expiration Extension: Credit card expiration options have been extended into the future to allow newer credit cards to be entered as payment methods. These new options appear in the dropdown menu when entering or updating credit card information. This expiration period extends until 2038.
  • Shipper Reference Numbers: Shipper reference numbers, indicating the EXTERNAL_ORDER_ID and SHOPATRON_ORDER_ID fields, have now been added to UPS shipping and return labels. Previously, they were only printed on Canada Post, FedEx, and Endicia. This can be toggled on and off through Fulfiller account settings.
  • Set Store Association on User Creation: Previously, when a new Fulfiller user was created there was no way to set their store associations except for an administrator editing the user after creation. If a user tried to log in before this edit took place, they would be redirected. Now, store associations can be set during user creation so that the admin does not have to edit them separately to set associations.
  • Auto-Rectify Orders: Orders can now auto-rectify when necessary, rather than requiring users to click the Refund button in the Customer Care interface after modifying the order quantity or price.

Bug Fixes: Customer Care

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
NAThe Charge Failure order queue in the CCUI displayed a total count of orders that did not match the actual total. This has been fixed so that the actual order amount is displayed.

Bug Fixes: Core Order Management

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00340923 & 00340868The total tax indicated in transaction logs did not match individual tax items due to a rounding error. Tax is now recalculated for logs to be more accurate.
00403948, 00440021, & 00357628Some returns were not being displayed in transaction logs, due to OMS trying to process the refund before the payment was captured and failing as invalid. This has been fixed so that the system no longer tries to refund orders until they are captured.
00438649The Customer Experience Bonus Tool was failing, as a script behind it errored out due to a missing parameter. This has been corrected so that the tool functions properly.
00414219The total cost of an order was displayed incorrectly on the order confirmation emails sent to the customers of a particular configuration. This was due to calculating the order tax twice. This is now fixed, and emails report the proper amount.
00362663All of the forced HTTPS redirects that were introduced due to Chrome security warnings appeared as temporary 302 redirects, affecting SEO. These redirect types have been updated to type 301.
00390702The move_order XML-RPC API was not able to fully move an order out of backorder, leaving the order stuck in that status. This has been adjusted so that orders and associated shipments are thoroughly removed from backorder when they are released.
00357653A particular client’s custom dealer performance report did not calculate the customer satisfaction score (CSAT) the same way as it is displayed in the interface. This has been updated so that the record and UI reflect the same scoring.
NARetailer locations were not always sorted and ranked properly by distance when close retailers were searched for. This logic has been corrected so that locations are listed closest to farthest consistently.
NADuplicate SMS messages were sent when orders were ready for pick up. This has been tweaked so that only one SMS message is triggered.
NAAfter scanning a barcode, the number remained in the scan field instead of being cleared out on the next scan. This was an inconvenience that required the user to manually clear the barcode number. This has been changed so that input fields are automatically cleared.
NAIf a user tried to cancel a single item from a multiple item ISPU in the “Provide to Customer” step of the Fulfiller interface, then an error would be returned indicating an issue with 0 or less quantity. This has been corrected so that the user can cancel a single item when needed.
NAThe Fulfiller UI included items as non-returnable when they were actually returnable duplicates of other non-returnable line items in the order. This has been fixed so that in the case of returnable and non-returnable duplicates being ordered together, the returnable items can be successfully returned.
NATransfer orders were not being created automatically for partial stock of duplicate items, and instead relied on a user to manually request a transfer. This has been fixed so that transfers are automatically initiated for duplicate line items based on real available inventory.

The following updates have been resolved in an off-cycle release for the 18.5.2 version of OMS.

Support TicketResolution
00461891 & 00463539During mobile checkout, the checkout would be rendered blank if a customer filled their cart and then entered login credentials. This has been fixed so that checkout is still properly visible after logging in.
NAMore order data has been exposed to email notifications. These are not used by any existing templates or the standard template, but can be added to custom templates if desired. The data exposed to the Order Pickup Ready, Transfer Order Confirmation, and Cancel Order emails includes the order subtotal and shipping. The Cancel Order email also can use the order tax and total fields.
NAA new catalog configuration has been created that allows bundled manufacturers to override Canadian tax. Canadian manufacturers who want to specify their own tax instead of Kibo calculating it can enable this configuration to do so.
NAA new catalog configuration has been added to control when transfer order confirmation emails are sent out. This allows the criteria that triggers the email to be narrowed down to only when the store realizes they do not have an item in stock. Otherwise, the email is always sent even when the store does not have inventory in the system.
NASome imported users with Employee and Associate roles did not show up in the fulfiller interface, preventing managers/owners from editing them. This has been corrected so that imported users are properly displayed.
NAWhen Ship to Store (TISPU) orders experienced a problem, the kind of error that was returned was a 504 Gateway Timeout error with no information about the issue. This has been changed so that a 400 Bad Request error is returned instead and provides more detail about the problem.

Features

  • Privacy Policy Update: On May 25th, the General Data Protection Regulation (GDPR) goes into effect for purchases made by European consumers. Thus, the privacy policy has been revised for all onBlocks stores and checkouts. Clients that were using custom templates for their privacy policy pages have had those pages reverted to the default to allow for the update of the privacy policy information.
  • Order Notes on Packing Lists: The Order Notes field has been exposed to pick sheets and packing list templates, so that any notes can be listed with the standard order information on these print-outs.
  • ISPU Return Receipt Templates: ISPU return receipts have been updated to use a template, which allows for customized versions to be made. The standard, default template is similar to the email that was previously sent. Those clients who wish to customize this messaging may work with Kibo Professional Services to edit this template. All existing information from the standard receipt as well as additional data points may be utilized in the modified messaging.
  • Payment Hold in Fulfiller UI: Orders in payment hold are now displayed in the Fulfiller UI. Previously, they were omitted which could cause problems when customers went to the store and the order could not found. Now, these orders can be found when needed and are indicated to be in payment hold with a flag. Detailed information about the contents of the order are not revealed.
  • Manufacturer Reporting Enhancements: As requested by Support Ticket 00369356, the Custom Report interface in the Manufacturer UI account space has been cleaned up to better manage report dates. Previously, it brought reports for each day which was not sustainable over time. This has been changed so that the quantity of custom reports is limited to display reports for the previous 60 days.
  • Ready Notification After Payment Error: When an order is moved out of Payment Error by merchant support and into the Ready state, a ready_shipment notification is now triggered. This will improve the fulfillment process by making it clearer to the fulfiller that the order has just changed states and can be processed. It is similar to existing ready_shipment notifications that are already sent.
  • Historic Order Creation Date: Previously, the Historic Order Import API only recognized the date that the order was imported into OMS and not the original creation date of the actual order. A new field has been added to the importOrder request, a date-time string called “importedCreationDate” that overrides this by setting the order date to the importedCreationDate value when provided.
  • Fulfiller UI Displays Orders Without Shipments: Orders without shipments, such as those in the Waiting for Manufacturer Acceptance or Payment Hold statuses, can now be displayed more clearly in the interface. A fulfiller account setting has been added for Displaying Orders Without Shipments, and when display in chosen then the interface will search for and include these orders in its results. It will indicate the exact status as well as order details. This also applies to Discontinued, Preorder, Customer Care, Digital Gift Card Charge, and other cases where an order is locked and a physical shipment may not be immediately assigned.
  • Shortages Return Reason: “Shortage” has been added as a possible return reason in the Fulfiller and Customer Care interfaces. Fulfillers and customer support representatives can now select this when initiating returns, if applicable.

Bug Fixes: Customer Care

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
NAWhen returning items in the CCUI, the interface showed a "400 bad request" error message if the item in question was non-returnable. Since non-returnable items do not make sense to be provided as options for creating a return, this has been changed so that the UI does not display these items at all.

Bug Fixes: Core Order Management

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00352318 & 00397860A configuration was experiencing discrepancies in available inventory versus onHand inventory counts, due to the configuration’s use of multiple SKUs resulting in over allocation. The allocation process has been corrected to handle this case more efficiently.
00301927A configuration’s Ship Duration report was failing to load, due to the quantity of order data it was handling. This report has been optimized to improve performance.
00406979Special French characters in the shipping address were not being displayed correctly on shipping labels, appearing as HTML-encoded characters instead of UTF8. These characters are now printed successfully on the label.
NAIn the Order History view of the Fulfiller UI, an order in the “Transmitted to SAP” state was displayed as being moved to an “unknown state”. The UI now properly displays the state name.
NAAfter recent fixes, orders with child service items did not display properly in the Fulfiller UI. When creating an order with a child service item, then viewing it from the "Search orders" page, additional "blank" rows were displayed for each child service item in the order. This has been fixed so that blank rows are not created in the order table.
NAThe orderPayment schema was missing fields, causing some calls to fail validation. These references have been added.
NAThe order and checkoutResponse schemas both referred to the same “shippingAddressID” field of the customerAddress schema but indicated different data types. To improve efficiency, customerAddress has been updated to accept either of these data type; string or Int.
NAA few FSM states no longer displayed the quantity of orders for a certain configuration, such as in Assembly/Delivery and Customer Pickup related states. This was due to a conflict between the CSS styling and how the states were displayed in the interface. The interface design has been tweaked to be allow these CSS changes without interfering with the display of order data.

The following updates have been resolved in an off-cycle release for the 18.4.3 and 18.4.4 versions of OMS.

Support TicketResolution
NAUpon submitting a request to recover a forgotten OMS password, a blurb now appears to indicate that an email was sent to the user with a temporary password.
NATo support an eCommerce-OMS integration that needs to perform partial captures on a single authorization, OMS now handles the appropriate CyberSource sequencing fields to allow this to happen.
NAThe Kibo phone numbers on the special signup and policy pages have been updated to the new contact information.
NAFulfiller store managers were redirected to the retailer interface endpoint after updating an expired password, instead of the fulfiller interface endpoint. This has been fixed,and also applies to any case of a fulfiller manager trying to go to the retailer endpoint instead of fulfiller.
NAThe return status column of the Fulfiller UI was not displaying the "Return Initiated" text for a particular configuration when returns were created and processed. Additionally, the returnable item message was displaying for non-returnable items in the same configuration. These issues have been fixed so that returns display correctly.

The following updates have been resolved in an off-cycle release for the 18.4.2 version of OMS.

Support TicketResolution
NAThe return status column in the Fulfiller UI was not displaying the appropriate text when returns were created and processed. This has been fixed so that the proper status is indicated in the table.
NACancel TLog records were not being generated for shipments that were canceled from backorder. This prevented reconciliation and has now been corrected to record backorder cancelations properly.
NAAs the old phone number for German support was deactivated, the support number in the relevant customer-facing notices have been updated to the new number.
NAText on the Validate Stock picking screen was not displaying for a particular configuration, missing fields in the order information table. This has been fixed so that all fields are shown.

Features

  • New MasterCard Ranges: MasterCard recently added a new BIN range (the digits that identify the card provider) to the list of accepted cards. The OMS Core application and Payment Server have been updated to accept this information and process new cards, as well as other areas of OMS logic where applicable.
  • AddTax Total in TLogs: The tax total has been added to the totals section of the V4 Transaction Logs. This appears as the “totalTax” data point.
  • New Order API Fields: To support new assembly and delivery orders, several fields have been added to the Order Item level and can now be returned by the api/v2/order, api/v2/shipment, and api/v2/orderItem APIs. These parameters are expectedDeliveryDate, deliveryMethod (or availability – in the case of these orders, “SERV” denotes service), and serviceType (such as “DELIVERY”).
  • Order Locking: Orders are now locked while being resolved and while any Order Manager action is being executed, so that conflicting user actions are not processed. If a request to edit a locked order comes in, it will be rejected and the user can evaluate whether the request still makes sense. This provides an option to wait for the lock in the case of actions that need to happen no matter what, such as canceling an order from a point of sale that cannot be ignored.
  • Northwest Territories Addresses: The option “NT” for “Northwest Territories” has been added to the list of options for addresses in the Customer Care interface. After selecting Canada as the country while updating the billing and shipping addresses of customers, this option can be chosen from the “State” dropdown menu offering provinces and territories. This allows customers of this region to be served without contacting Kibo for address changes.
  • Preferred Location: Customer preferred locations can now be set while creating a new order in the Customer Care interface. When a catalog is enabled for location-based pricing, a user can create an order from the Customer record page, select the merchant and/or catalog, and add items with location based pricing for the customer’s preferred location. If the user already has a preferred location set, changing it in this step will update the saved location. If the customer does not have one set, selecting a location in this step will save it and it will appear as preferred in following sessions.
  • Reprint FedEx Labels: Previously, functionality to reprint UPS return shipping labels from the Customer Care interface was implemented. Similar support for shipping labels that originate from FedEx has now been added, so these labels can be downloaded and reprinted as necessary.
  • Toggle for Testing Automatic Pickup API: A specific configuration’s feature to automatically send shipment pickup requests to Canada Post can now be tested with the use of a supplemental API. This API toggles CARS functionality on certain locations, allowing the automatic pickup requests to be tested from these locations. Make a POST request to /api/v2/location/toggleCARS and use the body of the request to toggle CARS for a list of locationIDs, as shown in the example below. Once toggled, the pickup can be tested and a notification will be generated if successful. A query can also be performed on a list of locations by making a GET request with only locationIDs in the body.
{
    "enabled": false,
    "locationIDs": [
        00000,
        11111
    ]
}

Bug Fixes: Customer Care

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00407009 When searching for orders in the payment hold queue, the button to apply filters was not appearing. It is now displayed so that orders currently in payment hold can be searched for and viewed by customer service representatives.
00403390 When an order was paid for with a gift card and a credit card, the interface did not display the order’s separate charges with the correct totals. The same issue applied for orders split between store rewards and credit cards. This has been fixed so that the amounts for each payment method are accurately displayed.

Bug Fixes: Core Order Management

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00357653A configuration’s custom reporting was being delivered without data, due to an incorrect file path. This has been fixed.
00405297Under the “Provide to Customer” step in the Fulfiller UI, the dropdown option to change the quantity to the customer did not provide any options for newer orders. This has been corrected so that quantities can be successfully changed.
00401619Tracking numbers entered for the DPD carrier pointed to the UK version of the DPD site, which will not find DPD.com orders. This has been fixed so that DPD and DPD (UK) are more distinct within OMS and tracking can be searched in the appropriate locale.
NAWhen an order was cancelled on the “Provide to Customer” step in the Fulfiller UI, an error message was displayed despite the order being successfully cancelled. This has been corrected so that a misleading error message is not displayed.
NAOMS interfaces were displaying incorrect tax and fee calculations for STSA orders, though the actual payment amounts in the system were correct. These displays have been updated to reflect the actual amounts.
NAA configuration’s returns Transaction Logs were displaying the unit tax of the returned items instead of the actual total tax if an order had a line item with a quantity of two or more and all items were returned. This has been corrected so that the correct tax data is retrieved.

The following updates have been resolved in an off-cycle release for the 18.3.4 version of OMS.

Support TicketResolution
NAOrders that are in the Customer Care state can now be viewed in a new queue in the CCUI.
NAThe transfer status of an order is now exposed in the order list of the Fulfiller UI, similar to how it is displayed when viewing the order page directly. This allows the user to know what the status of the transfer is before they begin processing the transfer.
NAA drop-down menu in the Fulfiller UI included an option in the incorrect language. This has been fixed so that the text is in English.
NAThe “returnRestriction” parameter of an order can now be set to “NON_RETURNABLE” at the order item level during order creation. This is primarily for the eComm-OMS integration, as this allows eComm to use the information during order creation.
NATransfer orders were being duplicated in the Received & Ready area of the Fulfiller UI in the received step. This has been corrected to prevent duplicates from appearing.

The following updates have been resolved in off-cycle releases for the 18.3.2 and 18.3.3 versions of OMS. They were released from March 27th to April 4th.

Support TicketResolution
00418738 For a certain configuration, Store Decline notifications were being sent for fulfilled orders a couple of hours after they were completed. This was triggered by using serial numbers on the Validate Stock step of the Fulfiller UI and has been corrected.
00427578 A configuration could not enter required serial numbers in the Validate Stock step of the Fulfiller UI due to a missing option. The interface now displays this functionality.
00412040 & 00414679When "Use Retailer Overrides" was enabled, the call to create a pick wave did not reference the correct IDs. This prevented the affected configuration from filling orders with pick waves and has now been fixed.
NATISPU/Ship to Store orders were not included as options for Pick & Pack in the Fulfiller UI, even after enabling ISPU orders. They can now be used so that pick sheets and packing slips can be printed for these orders.
NADisplaying a STH order in the Fulfiller UI did not render properly. This has been corrected so that the loading does not crash and all orders are displayed.
NAWhen processing a return in the Fulfiller UI, an empty dialogue box was sometimes displayed that prevented the order return from completing. This has been fixed so that the proper dialogue is presented.
NAAfter creating users for a store in a particular configuration, the users were not shown in the user lists of their associated locations. This has been fixed and all users are listed.
NAThe location search in the CCUI did not return results with the right distance calculation from a zip code. This has been changed so that the search function calculates the proper response.
NAThe Fulfiller UI was not displaying orders in the Detailed Validate Stock step for a particular configuration. This has been corrected so that Validate Stock will properly finish loading.
NAItem-level discounts were not copied from the parent order to the child when creating transfer orders. This discount data is now applied and copied to the child.
NAISPU pack lists did not handle transfer orders and instead exposed items still in transit. A pick sheet template has now been added to only show items that the store is validating stock for.
NAFor service orders such as Assembly/Delivery, the steps in the Fulfiller UI including Validate Stock and Search Orders now display a "Service" column. This displays the option data and is only provided on orders with service items.
NAAfter the Preparation step of the Fulfiller UI, transfer orders present the same instructional popup notification as a standard ISPU order. Service orders display a popup with the appropriate directions to finish fulfilling the order type.

Features

  • Rewards Purchasing: Rewards Purchasing has been implemented for an eComm-OMS integration, allowing retailers with customer loyalty rewards programs to enable these options as customer payment methods. OMS can now accept Store Credits or Rewards Vouchers as payment information from eCommerce, including split payments with other credits/rewards, credit cards, etc. OMS identifies these rewards with a new no-op type and can return voucher numbers in the Get Payment API.
  • STSA Shipment Upload: Previously, the Shipment Data Upload XML-RPC API did not upload tracking information for Ship to Store (Automated) orders. Now, the manufacturer client can send tracking information for STSA orders in xml_upload_shipment_data and the tracking number is added to the order. Once this information is added, the order state transitions from 400 (Fulfiller Requests Items) to 500 (Shipper Sent Product).
  • Test Order Filter Toggle: The Test Order Filter was recently added to the fulfiller interface and hides test orders from queue and search results when enabled. To prevent confusion in customer support staff, a toggle to display the filter has been added to the fulfiller account settings. This toggle disables the filter by default; changing it to enable will display the option to users.
  • Exposed Data for Packing/Emails: Order Date and SKU data fields have been exposed to packing slips and transactional emails. These fields are not added to existing packing slip templates by default, and clients with custom templates can choose whether to use them or not. Additionally, it is now possible to pass the credit card issuer data to the packing lists of no-op clients via custom data. The packing list can now recognize a “CARDTYPE” value in custom data and display it appropriately.
  • ISPU and TISPU Store Decline Notifications: Previously, OMS only sent Store Decline notifications for Ship to Home orders. These notifications have been expanded to include In-Store Pickup and Transfer orders as well. These notifications have similar structure and data as Ship to Home notifications but are triggered when ISPU and TISPU items are declined by their assigned store.
  • Bronto Return Email Variables: The “accept_item_subtotal_wtax” variable was previously made available to the “Return-close” template of Bronto emails, in order to display subtotals of closed returns. Complementary variables have now been added to other standard templates related to returns. The equivalent variable “item_subtotal_wtax” has been added to the “Return-open” template and “reject_item_subtotal_wtax” has been added to the “Return-close/rejected” template. This ensures more consistency in displayed refund values and improves communication with the customer.
  • Fulfiller UI Header Enhancement: When processing an order in the fulfiller interface, the header that displays on top of each page denotes the order step. However, this does not automatically distinguish between ISPU and TISPU. To overwrite this when a client wishes to have this information displayed in the header, the CSS of the page has been changed so that it is more configurable by a Kibo Professional Services designer.
  • Custom Shipping Confirmation Text: The text above the shipping confirmation button in the fulfiller interface displays a check list of instructions by default. These instructions did not match the business process of some stores, so an override has been created that replaces the text for affected fulfillers with more appropriate instructions. This customization is only configurable by Kibo.
  • Preferred Locations in CCUI – An enhancement to the process of creating a new order has been made that makes it clearer when a manufacturer’s preferred location has been selected. Notes indicated which location is selected has been added to the Preferred Location page, the cart, and the final Create Order page. Additionally, a location must now be selected before performing a product search on the Find Product page.
  • Assembly/Delivery TISPU Orders: As part of the Assembly and Delivery project, a new fulfillment state and structure now supports pickup items that require assembly. This is a modified TISPU (Transfer In-Store Pickup) process with a new state called “Prepare” and additional transitions (from Validate Stock to Prepare, from Wait for Transfer to Prepare, and from Prepare to Customer Pickup). Additionally, items that require delivery after assembly or just delivery are also supported with similar modified TISPU processes. The fulfiller interface has been updated to provide the appropriate instructional prompts for these new fulfillment types. Notifications and Create Order functionality is already built for the Assembly and Delivery project to support this feature.

 Bug Fixes: Customer Care

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
NAWhen creating a new order using a manufacturer with preferred locations, the location code was not cleared out if the user switched to a manufacturer without preferred locations. This has been changed so that the checkout session is cleared after New Order is clicked.
NAWhen progressing through the New Order flow, the selected manufacturer and catalog selector were not displayed in the header. This has been fixed and the correct data is displayed in the header.
NAOn the “Customer Record” page, the order creation date was not visible under the “Placed on” column of the order history table. The table now displays the creation date appropriately.
NAThe Customer Care interface showed a payment error for rare cases that did not actually have a payment error. This was due to rounding issues when checking information on subtotals and payments. The precision for these variables has been increased to reduce rounding issues.
NAIn the case where an order included multiple items with different preferred locations, only one location ID was displayed. This has been changed so that the different locations are shown for all items.

 Bug Fixes: Core Order Management

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00266104When a particular configuration’s shipment was canceled, the information about who canceled it and when it was done were not displayed in the event logs nor the Customer Care notes. Checks have been added to the logic in order to log changes and update the database when appropriate for canceled shipments.
00362469 & 00365529Several configurations’ store fulfillment reports took an extremely long amount of time to load. This logic has been improved to pull data more efficiently so that the reports run faster.
NAThe batch import tool in the admin interface did not allow for multiple store IDs or non-numeric IDs. If uploading a list of external store IDs through the batch import tool in the admin interface, OMS did not manage the list as intended which caused it to silently ignore store associations. Non-numeric external store IDs did not work either. These issues have been corrected.
NAOrder confirmation emails were not passing option data correctly, such as size and color product options. This information was not being delivered as the variables and corresponding values that it should have been listed as. Additionally, a Ship-to-Store delivery fee was inaccurately noted in this emails when there are no fees for ship-to-store. These emails now display this data correctly.
NACreating an order in a configuration’s custom FSM state resulted in a bad request error if the quantity was edited before editing the “Shipping and Handling” or “S&H Tax” options. Although this was observed in the Customer Care interface, this was due to a core OMS issue that has now been resolved so that the proper data is referenced to prevent request errors.
NAThe Ready Orders Request XML-RPC API struggled with high volume. Adjustments have been made so that this API can better support multiple orders by improving its efficiency and methods for handling data.
NAUPS would return an error if address lines were longer than 35 characters. OMS now avoids this by substituting street suffixes for abbreviations and truncating or wrapping addresses into additional lines as necessary.
NATax information was not being provided at the item level for orders made with Canadian (CAD) currency. Item level tax and tax overrides are now returned for clients with unbundled payments when tax overrides are provided for all items on the order.
NATISPU orders sometimes sent fulfill requests to inventory for items that were not allocated to the pickup store, causing double fulfillment. This has been corrected so that TISPU orders do not request these unnecessary fulfillment items.

The following updates have been resolved in an off-cycle release for the 18.2 version of OMS.

Support TicketDescription
N/AWorldline endpoints for the Netgiro payment gateway have been updated in the payment server and core OMS. All clients using Netgiro are able to continue processing payments as usual.
N/AA custom pick wave type was failing to find orders, creating longer fulfillment times. This has been corrected so that these pick waves identify the correct quantity of orders.

The Customer Care application was pushed to production again on February 21 to enable CCUI support for opt-in notifications.

Features

  • Configurable Late Order Queue: The late order queue in the Fulfiller UI previously showed orders that were one day late. This is now configurable to a specified number of days late, which can be changed in the Fulfiller Account Settings. This new option is under the current setting for “Use tabbed order alerts table” and modifies both the tabbed and untabbed versions of the alerts table.
  • Test Order Filter: Previously, there was no way to hide orders sent with a testOrder flag of “true” in the Customer Care and Fulfiller interfaces. A new configuration option has been added to both of these interfaces to hide these flagged test orders, so that they will not appear in order queues or search results.
  • New eCommerce Languages: Several languages were previously non-commerce languages that have now been added as eCommerce languages. Orders can now be accepted in Russian, Japanese, Korean, Cantonese, Mandarin, and Traditional Chinese. These languages can also be set up in catalogs and email notifications such as order confirmation can be made with their language_id tags. However, the content of these emails will only display in English until they are translated.
  • CCUI Appeasements: Improvements have been made to the Customer Care interface functionality for processing appeasements. When an appeasement radio button is selected, the appeasement reason is set to the appropriate default option. For instance, if the “Shipping” radio button is selected then the reason automatically changes to “Shipping Appeasement.” Additionally, there was not a radio button for S&H Tax and this has now been added.
  • Location Data Table: As part of an inventory scalability project to improve the process of getting locations in a network, which previously required JOINing the results of various tables, the information has been consolidated to a single roll-up table. This table represents all locations in the specific network with their attributes calculated from various possible perspectives. This allows location network data to be queried in a simpler and more efficient way. If a catalogID is not provided, it can be queried by qry_mfg_id IS NULL. If a catalogID is provided, query by qry_mfg_id = ?
  • Assembly Messaging: As requested by a particular client, a new type of email notification can be sent to the customer alerting them that their item is being assembled. This is sent after the store has picked the item, and before the order is ready to be delivered or picked up in-store. This will be accompanied by the new FSM state created for item assembly.
  • Service and Physical Items: As part of the same assembly functionality as above, the Create Order 2 API has been updated to allow service items that are dependent on a physical item. Assembly will be the separate service item (designated with the product availability marker for a service) that has a dependency on a physical, deliverable item. Fully mixed orders with independent service and product item types are still not supported.
  • Front-End Product Mapping: Previously, custom product mappings had to be done in the code by Kibo developers. Now, a new front-end webpage has been created in Inventory (/coex/custom-product-mappings) that allows users to efficiently search, create, update, and delete custom product mappings themselves. The existing product mapping settings page has also been updated with a link to the new custom mappings page, and fulfillerIDs on that page now also link to the new page with the relevant fulfiller already queried.
  • Obliterate Inventory Attributes: There was not an existing method for clients to change or delete inventory attributes, but clients who set up this information often did not know what the final attribute set would be. Functionality has been implemented to allow clients to better manage their inventory attributes after set-up. The Inventory Obliterate tool (/coex/delete-all-inventory) can now wipe out the inventory attribute map when all locations for the fulfiller are selected via the checkbox. This will delete all selected attribute entries that are no longer needed.
  • Duplicate Customer Script Update: The script used to clean up duplicate customer records has been updated with a new version, which merges records based on manufacturer prefixes that may have been added or removed after go-live and caused duplicates. The script now takes in the manufacturer prefix to be searched on (a three letter string) and a flag indicating whether to keep prefixed email customer records (TRUE) or plain email customer records (FALSE) . Note that this script does not support having mixed customer records with some manufacturer prefixes and some without. This script is run by Kibo, with the appropriate information provided by the client.
  • Opt-in Associate Notifications: Store associates can now opt in to receive text messages and email alerts for ISPU and return orders coming to their store, which includes information such as where the return originated from (API, CCUI, etc.). Return notifications are sent for not only the creation of a return, but also for each stage of return processing. This opt-in option is accessed in the Fulfiller UI as a check box under Account Information and can be further configured to only receive either text or email alerts, or both. It is defaulted to opt in if both email and phone number for text messages have been provided, and for the provided contact channel if only one is present. These notifications have also been made secure with the ability to store a secret key in the header in the notifications system. This can be set up by Kibo during the notification subscription configuration process.

Bug Fixes: Customer Care

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
NAEditing an order’s shipping address in the CCUI resulted in an error message and incorrect field validation. This has been fixed so that shipping address can be appropriately edited by both KIBO and MFG admins.
NAThe cache delay for custom order data in the CCUI was 2 hours, which meant that customer service representatives could not immediately view custom data added via API. This has been changed to a few minutes, so that order data can be edited sooner when necessary.
NAThere was a lingering issue with currency formatting in the CCUI, as currencies with anything more or less than two digits after the decimal could not be displayed properly. This affected a few known currencies with either zero or three digits after the decimals: JPY, KRW, HUF, and KWD. The currency library has been updated to handle these formats, though there are additional defects with KWD in regards to rounding and browser locales that will be addressed.

 Bug Fixes: Core Order Management

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00255037Due to a rounding error in a particular configuration, the amount refunded for shipping when a single item is returned was 0.01 less than the expected amount. This calculation has been corrected.
00309244Some onBlocks mobile sites were not displaying product images correctly when the “additional photo” and “color option” settings were changed. This was an issue with a mobile template type that did not update the display image when new selections were made. The JavaScript of these templates have been fixed so that they correctly update image options.
00340744In the Credits transaction logs, the externalOrderID field was not displayed at the order level. It has now been added to the Credits log.
00394916In a particular configuration’s Order Routing, orders were being assigned to Ready Backorder even when there was inventory available. This was due to inventories not being fully returned to OR because of the number of locations with inventory being more than the default inventory limit. Order Routing algorithms have been adjusted so that these orders are assigned appropriately.
00277771The Core Location API operated very slowly for requests containing a large number of locations, causing Order Routing requests to time out occasionally. A new query has been implemented to retrieve data from that table, replacing older queries in interfaces and internal logic to improve loading time and reduce time outs.
NADuring the Validate Stock step in the Fulfiller UI for an ISPU order, if there was only one item on the order and it was rejected then no Store Decline notification was sent. This has been corrected so that appropriate decline notifications are sent for these orders.
NAWhen scanning an item during fulfillment, the column for “Available Quantity” in the Validate Stock table was missing from the interface. This column now displays properly.
NAAdding gift cards to existing orders in the admin interface only provided options for CC, GX, and CyberSource. The interface has been updated so that the correct payment type options show up for a manufacturer/catalog combination.
NAThe Google Analytics of a particular client site was not working due to special characters in product names breaking the JavaScript during checkout. This has been corrected so that all Google Analytics information is recorded as appropriate.
NAWhen scanning an item barcode for fulfillment, the interface cursor defaulted to the search field. This has been changed so that the cursor defaults to the scanning field.
NADuring Ship to Store Transfer, TISPU orders became stuck in the Waiting for Transfer state if the transfer order was accepted before validating stock on the parent order. The orders could not be moved on to the Customer Pickup state. This has been fixed so that transfer pickup orders can be successfully moved through the fulfillment process.
NAAs part of the ongoing performance improvements on slow APIs, the fulfillment email notification was changed so that it gets item images from the product catalog instead of the media server when possible.
NAFor a particular configuration, shipment status notifications were sending the incorrect orderType for ISPU orders during the picked and completePackage steps. The type was displayed as Ship to Home instead of ISPU. This has been fixed so that notification messages report the correct order type.
NAFailed captures/credits were displayed in the V4 TLogs without any indication if the capture was successful or failed. This caused clients to not be able to reconcile accurately via the TLogs, and overstate revenue when there was a capture failure. The transaction status (success/failed) of each capture has now been added to TLogs to prevent this confusion from happening.
NAThe SAP fulfillment flow integrated in 18.1 was only configured properly for one location, so it could not be processed with other retailer locations. This has been corrected so that others can process SAP orders as necessary.
NAOrders were not properly displaying in the Fulfiller interface, as the results for multiple fulfillment states were fewer than the total amount of existing orders. All orders are now visible again.
NAAn internal script to fetch imported inventory files would exit if it found an incomplete upload, meaning that all future imports could not be completed until the incomplete file was cleaned out. This has been improved so that the script skips incomplete files and moves on to the following imports.
NAThe way that order routing queried inventory involved a number of calls that were inefficient and contributed to slow performance. These calls have been replaced and consolidated where possible, improving the speed of the routing query and reducing timeouts.
NATLogs were displaying the wrong data type for returnToStoreID as an integer, when the returnToStoreID is actually a string for the external location name. This prevented some TLogs from being validated against the schema, but the schema has now been updated to allow for returnToStoreIDs with either data type. Both integers and strings are now supported.
NAAn improvement was made to reduce confusion in the order transfer view when scanning and entering order numbers. The instructions "Scan and advance orders to Ready for Pickup" has been replaced with "Scan / Enter shipment number to advance orders."

Patch Enhancement and Bug Fixes

The 18.2.2 patch released on February 27th includes a feature enhancement and notable bug fixes.

  • Get Parent Order Item ID: Previously, clients could not easily determine what an order items’ parent IDs were when making a transfer order. Now, the “parentOrderItemID” value has been added to the Get Order API. This value is returned in the response when making a GET call to Ship to Store Transfer orders. This allows clients to track the line items of transfers back to the parent order. With the parent order number, clients are able to reconcile back to the parent order item number for information such as “actualPrice” and “quantity”.
Support TicketResolution
00406398The location roll-up table released with 18.2.1 missed some locations, which assigned these locations as "inactive" and prevented order routing from being assigned to those locations. The database has been corrected to consider the case that these locations fall under.
00378356Passing Google Analytics code across domains via a new URL parameter required an update of the XML Checkout API. This API logic has been changed to accept the appropriate parameter type.
NAOrderReady notification emails were not being sent when transfer orders were received and a TISPU order was moved to the Ready for Pickup state. This process has been corrected so that customers are alerted that their order is ready for pickup.
NAFor a particular configuration, shipment status notifications were also sending the incorrect orderType for ISPU orders during the acceptTransfer event. The type was displayed as Ship to Home instead of ISPU. This has been fixed so that notification messages report the correct order type.

Due to the holiday code freeze in December, the first release of 2018 combines the work done for version 17.12 with 18.1.

Features

  • Customer Search Extensions: The customer search in the CCUI now supports catalog-based restrictions. The search filters all customer results to those designated for that manufacturer account and catalog level. Additionally, the orders displayed for each customer are restricted to orders from that manufacturer.
  • Order Notes Links: It is now possible to add active links into the order notes field in the CCUI and Fulfiller UI. When the user types a URL, it will be converted to a clickable link.
  • CCUI Support for Editing Order/Item Custom Data: Custom order and item data can now be edited and saved through the Customer Care interface. Customer service representatives can now change this information when necessary.
  • CCUI Lifetime Orders by Currency: Customer support representatives can now see the total lifetime spend of a customer broken down by currency. This record now presents multiple values, one per currency type that the customer has purchased orders in before. This allow representatives to better troubleshoot customer issues.
  • Retailer Settings Override: A setting at the manufacturer account level can allow retailer overrides for fulfiller settings. If enabled, the system will use configurations specified in retailer accounts instead of manufacturer settings, in the event that multiple retailers and catalogs exist under one manufacturer group and need specific shipping configurations.
  • Cache Clearing: Caches can now be cleared with an admin tool in the OMS admin interface. This is only accessible by Kibo admins.
  • Location-Based Pricing: A new fulfiller account setting for location-based pricing can now be enabled in Core. This will be reflected when creating an order in CCUI. In the event that product pricing varies between locations, the appropriate price and location will be determined during the create order process as long as this fulfiller setting is active.
  • Return Tracking Number: Shipment APIs now support return tracking numbers so that this value can be queried and returned when it exists. This is a part of the trackingInformation data for a shipment, called returnTrackingNumber.
  • Postal Code Sort: The Location API can now filter and sort on the postalCode variable, which allows searching for a customer’s preferred location. This can be done with adding a postalCode={code} parameter to the Location API search call.
  • Manage Fraud by External ID: The Release Fraud and Cancel Fraud APIs can now accept the externalOrderID instead of the OrderID for the Kount Fraud cartridge. This enables it to act without loading up the order from Core first, which can be slow.
  • Allowed Catalogs Exposure: After making an authentication call (a POST request to /api/usermgmt/v1/authentication), a list of “allowedCatalogs” is returned as a series of integers. This data can be passed to other systems such as the CCUI. This data is only provided when allowed catalogs have been associated to that user.
  • Subtotals in Bronto: The order confirmation and shipment tracking email messages in Bronto can now display the order subtotal alongside the usual data. The email payloads include the new field $order_subtotal.
  • Custom Data on Packing Slips: Order custom data has been exposed to the packing list so that templates can display those fields when applicable.
  • Barcodes in ISPU Fulfillment: Functionality has been built within the In-Store Pickup process that allows the user to scan or enter a product barcode to verify that the correct item is being shipped. When the barcode is input, the appropriate product will be searched for on the step fulfillment interface to validate that it is on the list.
  • International UPS Shipping Labels: Shipping labels can now be created in the Fulfiller Interface for UK, DE, AT, and IT currency codes and with shipping locations in each of the respective countries. This also includes a description of the shipment.
  • Reprint/Download of Prepaid Return Shipping Labels: Customer Care Interface users can now reprint or download the prepaid return shipping label that was generated when the original shipment was fulfilled. This can be done from the returns section on the order in the CCUI.
  • Inventory Replenishment Relationships: Inventory at a location that is available for Ship to Home can now be distinguished by inventory available for replenishment to a store for Ship to Store Transfer. This includes a new API (/api/v1/routing/candidates) that returns locations available to replenish inventory to other locations, and additional work has been done with the Inventory API and Order Routing to allow this as necessary. This has been implemented primarily as support for the NG-OMS integration but could be leveraged as needed.
  • NG-OMS Preferred Location: The preferred location identifier of an order can now be passed to NG from OMS in an integration configuration, as part of the order custom data. When a new order is created in the OMS Customer Care Interface with a preferred location selected, the Create Order 2 payload includes a “preferredLocationID: {location ID}” field.
  • SAP Fulfillment Flow: Clients that process orders with a SAP system and wish to integrate it with OMS can now use a custom FSM flow. This flow supports only Ship to Home orders and includes a new state denoting that the order has been transmitted to SAP. If an order needs to be canceled, this allows the customer service representative to know whether they can cancel the order in the OMS CCUI or SAP. The new steps after the Ready state are Transmitted_to_SAP, Picking, and Fulfilled.

Bug Fixes: Customer Care

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00282964 The customer’s first and last names were not displayed in the Billing/Payment and Shipping addresses for a particular configuration. These values have now been added.
00290694 The order notes column for the time of note creation was not always being populated. All notes are now displayed in the table with the appropriate timestamp.
NAWhile adding a tracking number, the “PostNL (NL)” carrier option was not visible. Additionally, clicking on the tracking link of an existing fulfilled order with the PostNL carrier caused the user to be navigated to another URL instead of the carrier tracking site.
NAMultiple other carrier options were not visible when adding a tracking number, while an incorrect carrier was visible and selecting it would cause an error. The correct carriers are now able to be selected during this stage.
NAOrders created with the CNY (Chinese Yuan) currency format did not load. The Order Details page would attempt to load, but then throw an error message. This has been fixed so that CNY orders now load properly.
NAA number of currencies were not being formatted correctly in the CCUI, including AUD which had been missed in previous currency support work. A number of corrections have been made so that all currencies are formatted as appropriate.
NAAfter adding a payment method, interface errors caused the billing, shipping, and order notes menus to overlap each other which made it impossible to add another payment method when necessary. This has been corrected for a better user experience.
NAOnly up to 10 catalogs were visible in the “Select Catalog” drop-down menu of the Order Queue feature. This has been changed so that all available catalogs are visible.
NAThe CCUI sidebar was occasionally cut off in the screen. This menu has been changed to a scrollable section so that elements are no longer lost.
NALogging out was difficult due to the dropdown menu disappearing if the user’s mouse moved outside of a precise area. The hover area has been increased so that it is easier to navigate.
NAWhen “All Catalogs” was selected in the manufacturer/catalog option, custom data was unable to be added to a customer. An error was returned stating that the input was blank. This has been fixed so that customer custom data can be added when all catalogs are selected.
NAWhen a new customer order data value was added, the value was not immediately displayed on the custom order data tab. The cache is now cleared when data is added so that the new information is displayed immediately to reduce confusion.
NAWhen selecting the amount under “Offer Appeasement”, the currency ISO code was displayed instead of the symbol. This has been changed so that the appropriate symbol is displayed for the appeasement currency.
NAIn different views, the tax and total values of orders with the Danish Krona currency type were not being displayed. This occurred because null values were being passed in for these parameters, so a check has been added and the values display correctly.
NAThe manual assignment option did not function with any currency type except USD. This meant that an order under another currency would be unable to proceed to Ready status. This has been fixed so that orders are assigned to the correct store for non-USD currencies.
NAA number of bugs relating to watched orders were fixed. This includes that the Watched On date was not shown on the dashboard even when it was displayed on an order detail page. Also, the pagination links of Watched Orders did not progress through pages as expected. As an enhancement, a link to Watch Order was added to the sidebar under Actions.
NAAttempting to add custom data to a customer that already had custom data triggered a misleading success message. This has been edited so that the message is more uniform and holds less potential for confusion.
NACurrency support for AUD was missing from the CCUI after being enabled in Core. This support has now been added.
NAIf a user had two or more pages of customer custom data and the last page was completely filled, the “next” button would appear incorrectly. Clicking the button resulted in navigating to an empty next page. This has been cleaned up so that no blank table pages appear.
NACustomer custom data tables were supposed to indicate the current amount of data values currently being displayed in relation to the total (e.g. “1-5 of 20”), but this was not appearing. Custom data tables now provide that information.
NAWhen creating a new order with a manufacturer and catalog already specified in the title bar, the manufacturer catalog selector was not automatically populating with those values. These fields now auto-populate as intended.
NAWhen there was only one customer custom data entry left for a customer and that entry was deleted, a null pointer exception occurred and replaced the table. Checks for null custom data have been added and the table now updates cleanly.
NAWhen a user with "allowedCatalog" parameters selected "All catalogs" from the manufacturer/catalog dropdown, the order queue counter displayed the count of all orders within the "manufacturerID" parameters, even when all proper orders were listed. This was fixed so that order queue counts remain accurate under allowedCatalog.

 Bug Fixes: Core Order Management

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00340877 The firstName and lastName values for a particular configuration’s logs and packing slips were being pulled from billing information instead of shipping. These properties are now filled from the proper shipping data.
00312465 A particular configuration’s custom report was showing incorrect data by displaying a WebCustNbr parameter in place of LoyaltyID (WME ID). This has been resolved so that the parameters are accurate.
00340939 A particular configuration’s transaction logs were showing a different value for the shipment level fulfillerTotal and the item level fulfillerTotal. The calculations have been fixed so that both fulfillerTotal parameters now match.
00369276Returns could not be created from the customer account space if the interface was in French or Canadian French. This error has been fixed and French-speaking customers can now create returns.
See ResolutionThe language of the fulfiller interface suddenly shifted to the order’s language (if different from the interface language) when viewing pages that contain orders. The system sometimes ignored attempts to switch the language back by adding a language_id to the query string. This has been corrected so that the chosen language for the interface user is maintained. Support tickets include 00310517, 00309526, 00328874, 00360693, 00367858, and 00308721.
NAThe Get Order and Create Order schemas did not list the isBilling and isShipping parameters and their definitions. The schemas have now been updated.
NAAlthough test orders are never assigned, the system still made a regular call to OrderRouting to try to assign them. The release_wfma_orders cron has now been altered to exclude test orders on production environments from being automatically released. This relieves load on order routing.
NADisabled admin users were still able to access the user management APIs. A check has been added so that disabled users are not able to access functionality.
NACustom attributes for networks were not returned in GET calls to the Location API, even after being added successfully. Custom data has now been added to the response body so that the information can be retrieved when needed.
NAThe search retailer widget only worked the first time each page was reloaded. Suggestions did not always appear properly when search strings were entered and then deleted by backspace. This has been fixed so that suggestions appear live whenever characters are entered into the text field.
NAThe Assigned Orders table in the Fulfiller Interface did not clearly distinguish between ISPU and TISPU orders, and needed some backend work to make it more easily editable. The table has been updated to include these improvements.
NAThe order page failed to display due to an unknown timezone exception triggered by New Zealand orders whose timezone was being referenced based on currency. This has been changed so that the New Zealand currency and timezone do not return errors and the order can load.
NADecision Manager was unable to update orders while checking fraud when the External Order ID did not match the CS Merchant Reference Code, which were used to communicate between OMS and Cybersource. The Cybersource cartridge has been updated with multiple checks so that the order does not become stuck in Payment Authorization.
NADuring the Validate Stock Step in the fulfiller interface, rejecting a line item appeared to cause an error. However, refreshing the page would reveal that the rejection processed properly. Interface improvements have been made so that the page immediately updates.
NAWhen a new order is created with an address that was already used in another order under a different email or customer ID, an "address matches existing customer" message and link appears. This link usually led to a page with an empty table where it was supposed to show matching customers, but sometimes listed customers that did not actually match the address. The table references have been updated so that this table displays the appropriate customers.
NAWhile creating locations in the Location API, an error would be thrown if Shopatron-User-ID was not passed in the header. Additionally, specifying a locationID would return an error for duplicate locationIDs. This has been fixed so that locations can successfully be created through API in these cases.
NAWhen re-printing a shipping label through the Fulfiller UI, all return shipping labels were identical regardless of corresponding shipping label inputs. This has been fixed by updating the tracking number reference, as well as defaulting the weights of return labels to 1 pound.
NAOnBlocks stores that were redirected to https displayed non-secure image content warnings for images that still used http source URLs. A script has been written that replaces applicable image URLs with secure https versions.
NAShip to Store transfer shipments were not following the proper transfer routes set up in order routing. This has been corrected so that the appropriate order routing rules are now enabled for transfer shipments.

API Documentation

Progress on online API documentation is continuing. In the past couple of months, a number of new guides have been added and existing ones have been enhanced. Upcoming guides include Inventory, Customer, and XML-RPC APIs, as well as some functional improvements.

Features

  • Chrome Security Updates: This year, Chrome browsers began implementing changes to alerts regarding the security and connection settings of pages. With the October update of Chrome, security alerts were expected to be displayed on HTTP pages of Kibo client stores with password or credit card fields. To handle this, stores and sites hosted on OMS Core and Kibo-hosted custom sites will default to HTTPS throughout and should not have security errors if the client has an approved SSL certification for the domain.
  • Location Management (Phase 1): Locations can now be better managed through APIs to add, edit, and delete location networks and attributes, including custom attributes. These can be accessed through endpoints such as /api/system/v1/location/ and /api/system/v1/network/ for the appropriate elements in and out of networks. See Kibo Project Team for more instructions and request samples.
  • External Customer Data: A new ManufacturerConfig field in the ManufacturerConfig API, called externalCustomerDataSource, has been added. This indicates whether an external source should be used for customer data or not and can be toggled in the Fulfiller Account Settings user interface.
  • Ship to Store Transfer Messaging: Email messaging has been added to enhance Ship to Store Transfer functionality, so that customers will be informed if they cannot pick up their order immediately. When the store does not have stock, a notification email explains that the order is being transferred to the store. When a replacement transfer is made due to a damaged or incorrect transfer item, a similar email notifies the customer of the transfer in progress.
  • Alliance Data Systems Payment: Payment with Alliance Data Systems (ADS) credit cards has been added to Create Order 2 as an authorized payment type. Any new manufacturer wanting to use ADS in Create Order 2 needs to make sure the “gateway_configuration” value in the database has the column “use_co2” set to true.
  • Vantiv URL Override: Kibo OMS previously did not support custom URLs for Vantiv implementations. This made certification difficult for some clients who needed to do testing with Vantiv eProtect. OMS now has the ability to override the default URL on a manufacturer or catalog basis for Vantiv gateways. If override information is present, then it will be used in place of the default. This information is provided in an overrideParameters element when calling /api/v2/payment/action/registerEProtectPayment, as in the example below. The manufacturer gateway has the URL set to “https://request.eprotect.vantivcnp.com/eProtect/paypage”.
    {
      "manufacturerID":00000,
      "catalogID":1,
      "currency":"USD",
      "paymentType":"LV",
      "cardIssuer":"DC",
      "cardNumber":"<credit-card>",
      "cardSecurityCode":"<cvv>",
      "overrideParameters":{
        "payPageID":"SDkj23LKdn1JRL",
        "merchantID":"1111111"
      }
    }
  • Delete Inventory API: There is now an additional inventory API that can delete inventory products based on a specified locationID and partNumber, UPC, or SKU for a given fulfiller. The new API endpoint can be called using an HTTP DELETE request and the endpoint /api/v5/inventory/delete?fulfillerID=<ID>, such as in the below example.
    {
        "items": [
            {
                "locationIDs": [000000, 111111],
                "itemIdentifier": {
                    "partNumber": "InventoryItemA",
                    "upc": "InventoryItemA",
                    "sku": "InventoryItemA"
                }
            }
        ]
    }

Bug Fixes: Customer Care

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00278699Splitting orders in the CCUI with manual assignment was not allowing splits to be done by quantity, only showing 0 or the total as the quantity options. Now, orders can be split by any quantity up to the total.
00293004When selecting a location for manual order assignment, the order was being automatically assigned instead. This has been fixed so that the correct location ID is taken from the page.
00249816When selecting "Nova Scotia" in the territories field, the abbreviation would automatically be set to "NT" for Northern Territories. This abbreviation has been updated to become "NS".
NATo combat CCUI slowness, a number of tweaks have been implemented. This includes caching in the order queues page, fixing parameter ambiguity errors, and decreasing the amount of API calls made behind the scenes.
NAIn the "Ready/Backorder" order queue page, users were not able to update the values of "Price Paid", "Unit Tax", or "Quantity" fields as expected even though a validation message was generated. This was caused by a loop error and has been corrected.

 Bug Fixes: Core Order Management

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00279071Some dealers with special characters in their username were unable to sign up and log in with the generated password that they received, due to special characters. Usernames are now restricted to alphanumeric characters, so dealers will see an alert if they attempt to use special characters.
00246808Gift card recipient emails had a field for an image of the card type, but this field was never populated. Images have now been mapped to gift card sources, so they will be displayed in these emails.
00277771Tron received a new OAuth token every time it made a call to order routing, which was unnecessary and caused additional requests to the OAuth server that could be skipped. OAuth tokens have now been cached to simplify this process.
00296047Support for European locales and default currencies have been added to the Create Order API, following failures in Belgian catalog orders that caused errors due to their locale/currency combination.
00289873A particular client’s Ready Order Download, customer comments, and some gift order details were not working as CDATA due to incorrect coding of special characters after the move to PHP 5.6. This has been corrected and the relevant manufacturer added to the CDATA list.
00296421A particular client’s input file required a new endpoint and upload folder to be created. This has been taken care of so that the relevant file is uploaded to the correct directory.
00277771Slowness in order routing sometimes caused orders to fail. As part of ongoing improvements on this issue, a certain slow query has been optimized.
NASome order routing filter comparisons were failing due to data type mismatches, meaning that certain ready orders were assigned to locations when they should have been canceled per the filter criteria. The comparison logic has been updated to correct this.
NAAn edge case for a client’s custom reporting held the potential for causing exception errors if there were no orders placed that day. This has been handled so that the report will display no content instead of errors.
NAThe maximum string length for creating bins in the Pick & Pack menu was not being respected, allowing for the creation of bins with too-long names. This has been corrected so that a pop-alert is generated and prevents creation instead.
NASearching for manufacturer catalogs and specifying 200 results per page displayed only 100 results. The allow perPage size for this Get Catalogs call has been upped to account for this request.
NAIn particular clients’ fulfiller interface, the displayed audit status was not updated upon cancellation of the audit and a manual refresh of the page was required to reflect this change. This has been corrected so that the displayed status updates without a refresh.
NAThe “Create Shipping Manifests” link in the fulfiller interface did not make sense to be displayed under certain scenarios, such as when using Canada Post and CARS. Additional logic has been added so that this link only displays when necessary.
NAWhen a particular client placed orders using Ship to Store Transfer or In Store Pick Up, the retailer was unable to advance through fulfillment from the stock page due to a logic error that affected the displayed options for the order. This has been fixed for both types of orders.
NACanadian tax overrides were being displayed in the admin interface for bundled clients, under “Edit Shipment > Change Shippers”. As these should only be displayed for unbundled clients, logic has been added to disable the override tax in the case of order creation if the client is bundled.
NAIf a manufacturer’s catalog had the catalog_type 4 (SIMPLY_COEX), customers created for all other catalogs through Create Order 2 were given the manufacturer prefix. This has been corrected so that customers only show the manufacturer prefix when applicable.
NAOrder assignment occasionally caused deallocation of unrelated items after the assignment and rejection of shipments, due to old shipment IDs being preserved as arguments. The logic now discards these old IDs so that only the relevant items are deallocated in inventory.
NAOMS fees were not being calculated properly for credit card payments, because weighted percentages were set incorrectly upon order creation. This has been fixed so that these percentages and fees are properly calculated based on the card issuer.

Patch Fixes

As 17.11 is the last major release before the holiday season, there have been more issues addressed in patch than usual. The most significant issues released in patches after November 14th have been noted here.

Support TicketResolution
00277771There have been more Order Routing optimizations to reduce slowness. This includes enhancing a particular query, removing duplicate calls, and shortening timeouts.
00321715After editing the ISPU location of an order, the location data was deleted and the store set to inactive when it should not have been. This has been corrected.
00314391Due to conflicts caused by a double click, In Store Pick Up orders in a particular configuration were stuck between the acknowledgment and Print Pick Sheet stages. Protections against this have been implemented for the future.
00305849 & 00306879In Store Pick Up orders were being moved to the stock validation stage after an order item was canceled, when they should have remained in Waiting for Transfer. This has been fixed so that orders stay in the proper status.
00252731 & 00303450Orders of a particular configuration that had some of their items canceled became stuck in payment hold, as their fraud restriction was unable to be removed. This has been corrected so that fraud can be removed and the order released from hold.
NARemoving fraud after cancelling part of a shipment caused both items to be moved into Ready status, rather than one item in Ready and one in Cancelled.
NAIn CCUI, the charge failure order queue count and order cards did not match up when a catalog was specified as it appeared to be pulling a cached version of the charge failure of all catalogs. This has been fixed so that the queue and cards match for the proper catalog.
NAAt client request, the checkboxes in the In Store Pick Up menu of the Fulfiller UI have been moved to be more user friendly.

Features

  • Default Shipping Carrier: Merchants and fulfillment partners can now set a default shipping carrier in the OMS Admin view. In addition, the default shipping carrier will be at the top of the carrier list on the ‘Enter Tracking Info’ screen. When the user is entering shipment data, this default carrier is pre-selected. This will save time and cut down on user error.
  • Product Details Hyperlink: A hyperlink to an external details page can now be added to product names that will be displayed in the Customer Care and Fulfiller interfaces. This optional productDetailsURL field has been added to the Create Order API call for the page URL to be passed in, as part of Order Item > Product objects.
  • New Currency Support: Non-commerce currency support for a number of new countries has been added. Orders can now be placed in the following additional currencies: HKD, JPY, MXN, RUB, SGD, KRW, CNY, DKK, PLN, RON, ARS, BRL, HRK, CZK, UAH, HUF, INR, IDR, IRR, KWD, TWD, QAR, SAR, THB, AED.
  • Order Type in Notifications: The order type property (STANDARD, ISPU, TRANSFER, etc.) has been added to order notifications so that clients can distinguish the difference between different order type notifications.
  • Search by Shipment ID: The Shipment ID parameter has been added as a search option to the Order Search and Quick Search in the Customer Care interface, alongside the Order ID.
  • Exposed Capture Function: A Capture Payment API has been created so that funds can be captured on request. This should only be used by manufacturers who are decoupled and will use the external payment configuration. This capture will be at the order level and can only be performed on orders that are in Ready or Fulfilled statuses. An example of when this might be used is if an In-Store-Pick-Up order is not in stock and the distribution center ships the product to the store. The client could capture the funds here since the order is already en route.
  • Edit Users as Admin: Manufacturer administrators can use the User Management API to reset a user’s password and edit other information. Previously, only Kibo administrators could do these actions. Calls to this API use the endpoint https://{{core-url}}/api/usermgmt/v1/user/{{userID}}with the information to be changed in the body.
  • Pick Process Configuration: A new configuration has been added to specify the final/exit state of the pick process, based on the client’s workflow. Previously, when the pick process was complete then the items would always be automatically pushed into the first step of FSM. Now, when items are picked they can be moved directly into the specified state to bypass the initial acceptance step when necessary. Catalog configurations have been created for each state (e.g. FSM_SKIP_TO_STATE_ISPU). In Store Pick Up orders can be configured with “FSM_CLOSE_PICK_WAVE_EXIT_STATE_CODE_ISPU” set to a numeric state code.
  • Register Payment API: A new API has been created to implement eProtect paypage registration. This API allows for the use of Vantiv eProtect to register payment data and return registration IDs. The POST request is made using the endpoint /api/v2/payment/action/registerEProtectPayment.The body contains the card information:
    {
      "manufacturerID":00000,
      "catalogID":0,
      "currency":"USD",
      "paymentType":"LV",
      "cardIssuer":"VI",
      "cardNumber":"0000000000000000",
      "cardSecurityCode":"000"
    }

Bug Fixes: Customer Care

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
NACustomer Service Representatives were experiencing long delays and the inability to load retailer accounts and retailer lookup pages in the OMS front end. This functionality has been enhanced so that results should be loaded quickly on multiple browsers.
NAThe date and time were not displaying application-wide across the Customer Care interface, and there was a discrepancy between browsers regarding whether both date and time were listed for returns. This has been corrected so that the appropriate information is displayed across the application.
NAThe Customer Care interface has been updated to follow dependency rules established by the 17.9 feature "Product Dependencies". Item displays now show the product associations, cancelling a parent item in CCUI now cancels the child items, and items with dependencies are not split by quantity.

 Bug Fixes: Core Order Management

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00252297Some locations were being stored incorrectly in the Inventory Location cache. To manage this, a page has been added to the COEX interface with an option to clear that cache entry on request. This page includes a search form with fields to select the location code. Location results from this search can then be deleted from the cache.
00271793Report delivery has been moved to a S3 server to improve reliability over sending them through SFTP. A new interface under Reports has been built for clients to retrieve their custom reports from S3 on demand. Clients who need to continue using FTP servers can still access their reports through an additional script that syncs files between S3 and SFTP.
00294580For a number of clients’ manufacturer sites, the external store numbers on the Waiting For Manufacturer Acceptance and Backorder screens were being displayed as Kibo store numbers. This has been changed to display the appropriate external store number.
00257283Dealers whose primary location has shippable set to “no” in the shippable location table could not update In-Store-Pick-Up locations successfully, as all info was wiped on save. Corrections have been made so that these locations can be edited.
00237067Some site elements on the manufacturer and retailer Reports page were misaligned, hiding buttons and obstructing functionality in some browsers. These elements are now aligned properly.
See ResolutionBundled clients received notification emails for failed charges, when they should not receive them due to Kibo managing the payment processing. These emails will now only go to unbundled clients. Tickets raised for this issue were: 00297404, 00297409, 00297413, 00297415, 00297417, 00297421, 00297481, and 00297959.
NAIn Ship to Store Transfer, when a transfer order was rejected then that store was considered unfillable for the item. This means that any new transfer orders sent to the store for that item would automatically go into Customer Care. Now, a new transfer order is automatically created when a shipment is rejected which prevents that store being permanently marked unfillable.
NAOrders received from Swedish Krona catalogues were needlessly being flagged for fraud review due to their perceived high value, as the total value of the order was being recognized as USD instead of SEK. Now, the total is converted to USD before being sent to fraud so that these flags will not occur.
NAA particular client’s InventoryOrderAssignedFulfiller notification emails were not being queued in Bronto when an order was reassigned, because the code to send emails was not being triggered after reassignment. This has been fixed so that emails will be sent to the queue automatically.
NAIn the Create Order Authorize call, a configuration for PAYMENT_TYPE_ALLOWED_SHOPATRON_TOKEN was not required to be enabled, but the next step of Create Order required it. Thus, Create Order Authorize now checks that this value is enabled first.
NAWhen a certified order was cancelled and uncancelled, it was put into "Available Certified" status when it should be in regular "Available". This was due to legacy code that has now been updated so that uncancelled certified orders go into the proper status.
NAClients that do not use security codes on their gift cards were encountering errors with ValueLink payments, as OMS expected a code and could not capture the card. This has been changed so that a security code is not necessary with ValueLink cards.
NAIn Store Pick Up orders that were fulfilled via API call were still listed with READY status. This did not affect orders fulfilled through the user interface. These orders are now moved to the fulfilled state.
NAA client was not receiving warning messages when uploading a bin inventory file with a significantly large quantity change. This warning message now generates before confirming the file import.

Patch Fixes

The following list summarizes some post-release enhancements and resolved issues.

Support TicketResolution
NAA configuration’s reports were not uploading to the new S3 server. This was identified as being due to file path and segmentation faults, so it has been corrected and all relevant reports should now upload to S3.

Features

  • Enhanced Location Import: To streamline the process of uploading retailer and manufacturer locations in bulk, the Admin UI now has improved import processes that accept CSV files. The existing XML uploader has been updated to be more effective and flexible in how it processes the new data.
  • Branded Credit Cards: Clients can now identify when their private branded credit card is used so that they can award additional reward card points to the customer. When a payment is processed through CyberSource, the sales Transaction Log passes the information to the client who can recognize a branded credit card by the first six digits and then credit the consumer’s account with the appropriate amount of reward points.
  • Editing Custom Order Data: As requested by multiple clients, custom order and item data can now be edited via APIs after order creation. When an order is created and sent to Kibo OMS with custom order data fields, the data may need to be modified after creation. That modification is now possible with GET, POST, PUT, and DELETE API functions at the endpoint order/{orderID}/customData/{customDataID}.
  • Product Dependencies: Services, such as gift wrapping, can now be tied to products and displayed in the Customer Care interface. These services can be captured by OMS either immediately when the order is placed or when the item is fulfilled. This will improve customer support through managing these products and associated services, such as refunding the service if needed. This functionality will be a configuration on the client payment plan.
  • Customer Custom Data: The Customer API now allows for the creation and modification of custom data for individual customers. The Create Order API also accepts customer custom data as acceptable input during order creation. To view a customer’s custom data, use the standard Customer GET method with the unique customer ID. The custom data will be included in the response. The below example creates a new customer with custom data via an HTTP POST request and the endpoint: /api/v2/customer/.
    {  
       "firstName":"John",
       "lastName":"Smith",
       "email":"qa12341234123412r4@shopatron.com",
       "phone1":"555-555-5556",
       "password":"Quality01",
       "customData":[  
          {
             "name":"Non-MFG/CATALOG",
             "value":"TESTING"
         },
          {  
             "manufacturerID":"3456",
             "catalogID":"1",
             "name":"Custom Value 3456.1",
             "value":"Value 1"
          },
          {  
             "manufacturerID":"3456",
             "name":"Custom value 3456",
             "value":"Value 1"
          },
          {  
             "manufacturerID":"15569",
             "name":"Custom value 15569",
             "value":"Value 1"
          }
    ]
    }

Bug Fixes: Customer Care

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00231066Gateway time out errors in a particular configuration were forcing orders into Customer Care. The frequency of these time outs should now occur less frequently.
NAOn the Customer Care order details page of an order with a transfer, the order items were all listed for each shipment due to the items not being organized by shipment ID when displayed. They are now organized so that only the items belonging to a given shipment are displayed on the card.

Bug Fixes: Core Order Management

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00284807A couple of configurations’ orders were not being checked for fraud after recent changes, as the configuration was referencing the wrong default fraud option.
00286868Order resolve stopped working whenever it encountered a particular SQL failure. Protection has been added to handle these failures so that the resolve process remains functional.
00277146Orders released from the CyberSource Decision Manager of a particular configuration were not being released from Payment Hold at the same time. This functionality has now been implemented.
00136411When a preorder was placed, no inventory was decremented which could lead to overselling. Now, preorders are tracked relative to inventory and allocate inventory accordingly.
NAThe filters on the Late Orders page of the Fulfiller UI were being ignored, resulting in incorrect sorting and some slow load times. These filters now properly categorize orders.
NAWhen using a configuration in IE 11 and Chrome 56.0.2924, clicking “ready for pickup” while validating inventory for an in-store pickup returned the user to the top of the page with no record of the process in the logs. The button now properly updates the pickup order status.
NADuplicate line items caused incorrect ISPU order assignment for a particular configuration. The Inventory tools now consolidate duplicate items and thus assign orders properly.
NAA configuration’s inventory import process was not properly mapping part numbers when the uploaded file was in CSV format. This prevented any inventory from being queried in the Fulfiller UI. Mapping is now successful and the correct data can be accessed.
NAThe Inventory Refresh page of the application recently began displaying MySQL errors instead of inventory data. This has been fixed so that the page works as expected.
NAThe External Item ID parameter was not included in the GET response of the Order Item API. It has now been added to the response.
NAThe setting “Send Customer Pickup Reminder” for in-store pick up orders was integrated with the pickup deadline in a way that was not ideal. The function has been improved, and customers will receive daily pickup reminders until the order is either canceled or picked up.
NAA particular configuration’s gift cards were not being charged before credit cards or other payment gateways. They have now been set as the priority so that they are always charged first.

Features

  • Ship to Store Transfer (Phase 2): This phase of Ship to Store Transfer will expand the functionality of Ship to Store by enabling clients to transfer inventory from one location to another within the Kibo system utilizing Kibo’s Order Routing capabilities, Fulfiller Interface and Fulfiller messaging. Clients will now be able to transfer inventory from one store to another to facilitate an in-store pick up order. This transfer of inventory will be synchronized to consumer messaging and integrated into the existing Fulfiller Interface. Additionally, the capabilities of Order Routing have been improved to effectively select where the inventory can best be sourced from.

Bug Fixes: Customer Care

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00262954The Customer Care interface would timeout when trying to display an order’s items if there were a large number of items (in this case, over 40). Now the list of order items loads much more quickly and displays correctly.
NAWhen viewing the Available/Requested Inventory on the order queues page, sometimes it would be difficult to see the information due to how it was loaded and displayed. Interface improvements have been made.
NATrying to view Charge Failure or Refund Failure order queues as an Admin resulted in a Page Not Found error. This has now been corrected to display the appropriate queue.

Bug Fixes: Core Order Management

The following list summarizes enhancements and resolved issues for this release.

Support TicketResolution
00254577In a particular configuration of PayPal, the “refund” button remained clickable even after the refund was processed. Clicking the button repeatedly sent multiple refunded payments to the customer. This has been fixed by a previous patch.
00263924In a particular configuration, using the Search Returns API with a parameter to specify how many results should appear on each page caused a 500 Internal Server Error. This has been fixed to allow for pagination.
00266729When orders were placed with multiple order items for the same product, a bug in the logic of the script summed up the deltas on product IDs. This resulted in the appearance of over-allocation in inventory, ultimately causing negative allocates.
00276825A few configurations experienced empty packages with payment totals being included in some orders. The automatic order resolution process was picking up inventory orders when it did not need to, creating these empty packages.
NASome configurations were experiencing high amounts of order routing failures due to some filters being marked NULL, which caused errors. Now any NULL filters are automatically changed to DIMENSIONLESS which is an acceptable type.
NATables in the PayPal payment gateway configuration were out of date or incorrect, preventing the processing of refunds. The PayPal tables were updated in all environments.
NAThe billing name for payments was sometimes not displayed in the Admin view of a particular configuration even while it was displayed in Cybersource. This resulted in failed Cybersource captures but has now been corrected by removing redundancies in how billing information is provided.
NAGetting inventory information failed if a postal code that was provided could not be resolved to a latitude/longitude. It was possible for codes to not be resolved due to invalid postal codes, a mismatched country code, or a lack of records in other APIs such as Google Geocode. Now all inventory results are returned with at least a best guess for the distance value instead of failing.
NATransaction Logs were experiencing fatal errors after a recent release, caused by an undefined method that has now been corrected.
NANew clients’ default set-up for Transaction Logs did not include the collection, transform, or transport values. This prevented the logs from generating. New default values have now been set.
NAWhen a consumer order had an associated transfer, the order logs displayed $order_link instead of a text link to access the transfer. This was caused by an extra space in parameter values and now appears correctly.
NAA particular configuration’s user search function only returned results with manufacturer associations. Now the search also returns results with retailer associations.
NAShipping refund amounts were displaying incorrectly in the Return summary for some EU orders. The logic has been changed to correctly reflect the amount.
NAThe "Available On" date in backorder emails was in the US date format when sent from EU merchants, causing confusion and unnecessary cancellations of items put into backorder. The format has now been updated to support EU formatting.

Features

  • Multi-Catalog Cybersource: Catalog-specific and multi-catalog support is now available in the Cybersource Fraud Cartridge.
  • Transfer Order Logs: The Customer Care interface now displays transfer order logs in the transfer order and the related consumer order.
  • Custom Order Routing: Orders can now be routed based off of custom item data and product identifiers by adding new filters.
  • Custom Return Locations: Users can now specify a return location that’s different from the stored return location.
  • Returned Product IDs: Product number, SKU, and UPC can now be displayed when creating and managing returns.
  • Get Return Location: The return location can now be retrieved in Customer Care.

Bug Fixes

The following list summarizes enhancements and resolved issues for this release:

Support TicketResolution
00142875Order queues were not displaying in Customer Care due to an error when transfer orders were present.
NAThe Order Watch table was labeled with the incorrect date, and other interface improvements were made.
NASome orders with both credit card and Clutch payments were not queuing confirmation emails properly.
NASome transfer order shipping labels had incorrect contact info.
00165321Some late orders were not displaying in the Fulfiller interface.
NAAn error message was displayed when searching by SKU or UPC in the Fulfiller interface.
NAManually creating a TLog failed repeatedly for some clients.
NAA particular inventory client’s orders were not converting to In Store Pick Up orders..
NAGift card registration dates did not take Daylight Savings into account.
00221719The tracking link for shipments via Canada Post were improperly linking back to the Customer Care Interface.
00189408 & 00234056Decline notifications did not include a reason code for some clients.
00237921Sales reports were not generating for certain clients.

Features

  • Vat tax is now included in the Refund Price on return emails.
  • Added Tax-From and Shippable toggle to the view Manufacturer and View Retailer admin screens.
  • Enabled the ability from within the account to specify where returns need to go.
  • Created packing list variables to display Customer’s Company Name and Tax ID.
  • Improved the logging of transactional logs by saving more ifnormation and adding to S3 in order to make them available in fulfiller_account-settings.
  • Added more checks/validation to our transactional logs to prevent missing orders in the future.
  • Added PostNL to the list of OMS carriers supported.
  • Added “Department” to dropdown option for Product identifier for Pickwaves.
  • External Order ID is now able to be displayed in the Fulfiller UI rather than just the Kibo Order ID.
  • Added a catalog config in order to enable functionality that allows returns to physical gift cards.
  • refundType has been added to the output parameters for the Return API.

Bug Fixes

The following list summarizes enhancements and resolved issues for this release:

Support TicketResolution
N/ACanada Post sometimes would respond with error on shipment cancel.
N/ATransfer In Store Pick Up orders failed to create when transfer creation failed.
0021317Pick waves were not populating in English for some clients.
N/ACanadian Tax Overrides were being displayed in Admin interface and CCUI for bundled clients.
N/AProduct availability “D” (Discontinued) was being ignored by CO2.
N/AVAT Taxes were being applied inconsistently
00189408Some clients were not receiving Reason Codes or Reason Descriptions in some store decline notifications.
00238775Guam was incorrectly being treated as a country separate from the United States.
00159119Single item discounts were not working for some Pro Store clients.
N/AEuropean dealers were not receiving an “assigned orders” notification when a Ship to Store or Shoppers Choice order had been placed.
00236800Failures were seen when trying to create/print Canada Post labels.
N/AAdded integration to Postcodes.io to get missing UK Postal Code information.
N/AReturn locations were not working for international return addresses.
N/AWhen clicking the auto-assign button on the Waiting For Manufacturer Acceptance order queue when there was not an existing valid location with inventory available, a success banner was appear even though the order remained in WFMA and was not assigned.
N/ACharge and Refund failure order queues were missing from the navigation in Customer Care UI.
N/ASearching for product in Customer Care was not working with accounts with multiple catalogs.

Features

  • Added a New Reason Code within CCUI— “No Inventory” is now a valid cancellation reason within the CCUI
  • Display of Customer’s Shipping Company Name and Tax ID— On Order View, we now display the customer’s shipping company name and tax ID in CCUI and order view for retailer and manufacturing accounts.
  • Canadian Tax Overrides—The system now supports tax overrides for our Canadian clients.
  • Reference ID in downloadable statement—A column has been added to downloadable statements to show Reference ID.
  • Dealer Participation in Denmark and Lithuania—Participation of dealers in Denmark and Lithuania has been enabled.

Bug Fixes

The following list summarizes enhancements and resolved issues for this release:

Support TicketResolution
N/AOrders on the waiting for manufacturer acceptance order queue page could not be auto assigned.
N/AThe user API call has been removed from customer care order notes and instead will just populate the name returned with the order note call.
00133212Some orders, notifications were seeing an error when transitioning from step code 100 to 200 due to a UTF-8 encoding problem.
00138640EUR currency was not allowing the English language because the locale field was used to determine both the language and currency of the order. A new locale (currencyLocale) has been added
00159119Single item discounts were not working for certain Pro Store clients.
N/AJava error when trying to view expected delivery date in the fulfiller interface.
N/AIncorrect statement displayed under the shipment details header on the Admin interface after removing the existing tracking number of a “Ready” order.
N/ACurrency symbol was unnecessarily displayed in exported Customer Orders reports in XLS format.
00172063Consumers were unable to purchase gift cards using PayPal as their payment method from some clients.
N/AMerchandise credits were not processing for some orders.
00171566Promotional code discounts could not be removed when the items were removed from the shopping cart.
N/AStore decline notifications did not work for line item edits.
N/AThe Kibo OMS “Help” tab was directing users to Kibo Community “Login” page.
00246811The returns API calls were failing to process for some clients’ point of sale systems.

Features

  • Improved Group Creation Workflow—The group creation workflow now has fewer required steps. Some of the changes include:
    • The Request Logic section only displays when Use inventory is selected.
    • The fulfillment limits only display when a route is selected. Otherwise, Standard Ship to Home is selected by default.
    • All groups display in the menu for adding locations to a group.
  • Canadian Postal Code Update—The internal databases now reflect all necessary Canadian postal codes.
  • Order Deallocation Limit—You can now configure a deallocation limit under Order Routing to limit the number of times a single order can be assigned, rejected, or re-routed.
  • Search Locations in Order Routing—You can now search the Order Routing table based on the following criteria:
    • Location Name
    • Address
    • Location ID
    • External ID
  • New Route Story UI—The UI for the route story is now updated based on usability testing. You can now leverage the context of the whole route, including other groups, to choose after actions when creating or editing a group. Similarly, the Edit, Copy, and Delete group functionality is now removed based on feedback. All other functionality remains the same.
  • New Locations Page—The Locations page is now updated.
  • Password API—You can now use the API to manage the password for internal employee accounts. The new operations are:
    GET /api/usermgmt/v1/user/{userID}/location/
    POST /api/usermgmt/v1/user/{userID}/location/
    DELETE /api/usermgmt/v1/user/{userID}/location/{locationID}
  • New Pick Up Request API—You can now leverage the notifyPickup API to automatically trigger a Pick Up Request after completing the Prepare for Shipment step in the Fulfiller UI.
  • New Packing List Variables—You can now leverage company_name and tax_id packing list variables for the customer’s shipping address .

Bug Fixes

The following list summarizes enhancements and resolved issues for this release:

Support TicketResolution
00211865Fixes an issue that prevented transfer orders from leveraging correct catalog settings.
00206427 & 00210420 & 00204910Fixes an issue that prevented the application of electronic gift cards to an order.
N/AFixes an issue that prevented capturing and displaying MaxMind data successfully for some orders.
N/AFixes an issue that prevented manufacturers from exporting single inventory configurations. Now you can export a single inventory configuration to all FTP locations for that configuration using the export_id parameter. To send the configuration to only one FTP location, you can use the export_id and ftp_id parameters in conjunction.
00192609Fixes an issue that prevented the Checkout page from displaying the promotion codes applied to the order.
00144387Fixes timeout issues between Kount and Kibo.
00179864 & 00240194Fixes an issue that prevented monthly fees from being charged to a credit card.
N/AFixes an issue that caused French language pages to display incorrectly, with incorrect translation, characters, and non-functioning buttons.
N/AFixes an issue that prevented refunding the shipping tax on an order.
00161855 & 00136849 & 00147722Fixes an issue that caused incorrect store hours to display in emails sent to customers.
N/AFixes an issue that prevented certain manufacturers from displaying in the Order Routing search bar.
Angela FausoneRelease Notes – OMS