All Releases
January 30, 2025 January 23, 2025 January 16, 2025 January 9, 2025 January 2, 2025 December 26, 2024 December 19, 2024 December 12, 2024 November 28, 2024 November 21, 2024 November 14, 2024 November 7, 2024 October 31, 2024 October 24, 2024 October 17, 2024 October 10, 2024 October 3, 2024 September 26, 2024 September 19, 2024 September 12, 2024 September 5, 2024 August 29, 2024 August 22, 2024 August 15, 2024 August 8, 2024 August 1, 2024 July 25, 2024 July 18, 2024 July 11, 2024 June 27, 2024 June 20, 2024 June 13, 2024 June 6, 2024 May 30, 2024 May 23, 2024 May 16, 2024 May 9, 2024 May 2, 2024 April 25, 2024 April 18, 2024 April 11, 2024 April 4, 2024 March 28, 2024 March 21, 2024 March 14, 2024 March 7, 2024 February 29, 2024 February 22, 2024 February 15, 2024 February 8, 2024 February 1, 2024 January 25, 2024 January 18, 2024 January 11, 2024 January 4, 2024 December 21, 2023 December 14, 2023 December 7, 2023 November 30, 2023 November 16, 2023 November 9, 2023 November 2, 2023 October 26, 2023 October 19, 2023 October 12, 2023 October 5, 2023 September 28, 2023 September 21, 2023 September 14, 2023 September 7, 2023 August 31, 2023 August 24, 2023 August 17, 2023 August 10, 2023 August 3, 2023 July 27, 2023 July 20, 2023 July 13, 2023 July 6, 2023 June 29, 2023 June 22, 2023 June 15, 2023 June 8, 2023 June 1, 2023 May 25, 2023 May 18, 2023 May 11, 2023 May 4, 2023 April 27, 2023 April 20, 2023 April 13, 2023 April 6, 2023 March 30, 2023 March 23, 2023 March 16, 2023 March 9, 2023 March 2, 2023 February 23, 2023 February 16, 2023 February 9, 2023 February 2, 2023 January, 2023 December, 2022 November, 2022 October, 2022 September, 2022 August, 2022 July, 2022 June, 2022 May, 2022 April, 2022 March, 2022 February, 2022 January, 2022 December, 2021 November, 2021 October, 2021 September, 2021 August, 2021 July, 2021 June, 2021 May, 2021 April, 2021 March, 2021 February, 2021 January, 2021 December, 2020
View all releases

August 22, 2024 release notes

Highlights

Customer Portal

Create personal and company catalogs from an order

Your customers can now create both personal and company catalogs from an order in the Customer Portal. The process to do this is similar to creating lists from an existing order on an order’s details page. Once a new catalog is created, you will be able to assign a name to the catalog. You can also select a parent catalog and provide a short description if needed.

Check out the video below to see how to create catalogs from an order:

https://youtu.be/sD7XgTdzqBY

Leaving a ticket comment now updates the ticket last modified date

When a customer or an employee leaves a comment on a ticket, it will show a timestamp to indicate when the comment was added. You can now filter and sort the ticketing screen by the last modified date so that you can easily view tickets that were most recently updated. This will allow your team and customers to be able to better manage and stay up-to-date with the newest ticket comments.

See how to leverage this new feature in the video below:

https://youtu.be/41-I5qyuXUg

Commerce

FAQs at checkout are editable via point-and-click functionality

The FAQ section on your website’s checkout page is now fully editable using point-and-click functionality! In the past, these fields had to be added and updated via the website’s templates, but now they are easily accessible through your website’s Themer panel.

Watch this video to see how to edit the FAQ fields on your checkout page:

https://www.youtube.com/watch?v=xoEbm2ZgFj4

Tickets

  1. KOD-16335: Create useVersionedGutenbergBuilds setting by default
  2. KOD-18139: Setting clearOrderDiscountsBeforeApplying
  3. KOD-18160: Project Saturn Updates
  4. KOD-18605: Setting employeeNotificationsOn turned on by default
  5. KOD-19105: Upgrade Metrics for Strategy Dashboard
  6. KOD-19988: Kodaris Ops Platform - Sales Tax Mapping
  7. KOD-20415: Pull Monthly Statements out of IDM
  8. KOD-20553: Configuration - Prepare screenshots for Customer App Listing
  9. KOD-20661: Support uploading files in the cart
  10. KOD-20686: Add the ability to add items to list from an order in the customer portal
    • Regression Tests
    • Case 1
      • Navigate to the order detail page. In the Add List dropdown menu, select the option to add a personal list.
    • Case 2
      • Navigate to the order detail page. In the Add List dropdown menu, select the option to add a company list.
    • Tests
    • Case 1
      • We need to navigate to the order detail page. In the Add list dropdown menu, select the option to add a personal catalog. After this, we can select the available customer categories as the parent list (by default, the parent catalog will be null); specify the name and description.
    • Case 2
      • We need to navigate to the order detail page. In the Add list dropdown menu, select the option to add a company catalog. After this, we can select the available company categories as the parent list (by default, the parent catalog will be null); specify the name and description.
  11. KOD-20721: ERP configuration
  12. KOD-20914: Recently Viewed Products
  13. KOD-20934: Short Pay - unable to clear out short pay selection
    • Regression Tests
    • Case 1
      • For this test, we need to go to > Open Invoices > Scroll Horizontally to end > Column “Amount to Pay“.
      • Make sure that the different options of pay reason and the amount to pay work correctly.
    • Tests
    • Case 1
      • For this test, we need to go to > Open Invoices > Scroll Horizontally to end > Column “Amount to Pay“.
      • When the status is different than “Pending”. It should show the option “None“ with the Combobox to allow the user to put reason of the option as default.
  14. KOD-20981: Shipping Methods
    • Regression Tests
    • Case 1
      • Test that we still can see shipping methods if there are any.
    • Case 2
      • Test that delivery and payments page works as usual.
    • Tests
    • Case 1
      • Test that if we don't have any shipping methods, we will not see shipping method panel, and the purchase order panel will have the top border.
  15. KOD-21049: Update Last modified date for the tickets
  16. KOD-21055: Fulfillment Solutions Page
  17. KOD-21084: Adding active and incactive flag to cross references
    • Regression Tests
    • Case 1
    • Make sure that the cross reference screen in the operation portal continues to work as expected and we can create/edit product cross references.
    • Case 2
      • With useSearchPreprocessing disabled, navigate to commerce website and search for products making sure it works as expected. No product cross reference should appear since that setting is disabled.
      • Then, we have to validate the search for a cross reference product is working as expected (Only while the ProductCrossReference is active, which it will be since it was added as active as default).
        • Preconditions:
        • 1 - enable useSearchPreprocessing.
        • 2 - Have a product reference associate to a active product.
        • 3 - Find the product using the alternative code after logging in.
    • Case 3
      • Now endpoint /api/user/product/substitutes should return only productCrossReference ACTIVE (For the first time, all will be active, so make sure that the endpoint still returns the expected products).
      • It is only available for ErpLogicEngine = InforCSD so make sure to have that setting modified.
      • Then send a altProductCode which has some products associated and the productCrossRerence Type must be 'S'.
      • Response (2 products):
        • {
        • "success": true,
        • "code": 200,
        • "messages": [],
        • "errors": [],
        • "data": [
        • {
        • "dtoType": "Customer",
        • "customFields": {},
        • "productID": 20,
        • "code": "hacksaw",
        • "seoCode": "seo-hacksaw",
        • "code2": null,
        • "name": "generic-hacksaw",
        • "smallImage": null,
        • "mediumImage": null,
        • "largeImage": null,
        • "mediaFileLinks": [],
        • "attributes": null,
        • "settings": null,
        • "url": null
        • },
        • {
        • "dtoType": "Customer",
        • "customFields": {},
        • "productID": 18,
        • "code": "lasagna",
        • "seoCode": "seo-pasta-lasagna",
        • "code2": null,
        • "name": "lasagna",
        • "mediaFileLinks": [],
        • "attributes": null,
        • "settings": null,
        • "url": null
        • }
        • ],
        • "requestId": "LNUBAV-20240820112644"
        • }
      • Then, modify active = false in one of the product in the response and make sure that it doesn’t appear anymore.
    • Case 4
      • Endpoint /api/user/product/crossReferenceProductsByTypes should work as expected. If I understood correctly, it was supposed to be implemented here: So check same regression tests.
      • Make sure the setting erpLogicEngine is set to ‘InforCSD’.
    • Case 5
      • Delete endpoint /api/account/productCrossReference/{companyID}/{productCrossReferenceID} should still work as expected (Will only delete the crossReference if it is active = true, if not, you will get an error due to not finding the productCrossReference)
    • Case 6
      • Make sure this endpoint /api/account/productCrossReference/{companyID}/list continues to work as expected. It should bring you active productCrossReference. Besides, since the active field was added as part of possible filters in the SearchParams, you could modify this behavior by asking for inactive records using this query request:
        • {
        • "page": 0,
        • "size": 10,
        • "sortBy": "id",
        • "filterFields": [
        • {
        • "name": "active",
        • "not": false,
        • "operation": "IS",
        • "value": "false"
        • }
        • ]
        • }
      • Then, use the following endpoints to create:
        • /api/account/productCrossReference/{companyID} Making sure that ‘active’ flag is TRUE as default (You can check it in the operations portal after creating it).
        • Try removing a productCrossReference using:
          • /api/account/productCrossReference/{companyID}/{productCrossReferenceID}
        • In this section, ‘Your Part’ should appear and makes a request to the endpoint mentioned.
    • Case 7
      • If we have a productCrossRerence of type ‘web_replacement’ then that product should be added to the cart instead of the altProductCode.
      • Then if we added the ‘Drill01’ product we should get ‘lasagna’ as the replaced product.
      • Part of feature test: If that was inactive, it shouldn’t replace the product ‘Drill01’.
    • Tests
    • Case 1
      • When reindexing a product in solr, the field ‘altCodes’ is populated with the alternative code from its ProductCrossReference only for those which have type ‘I'.
      • For example:
        • Since I have 2 productCrossReference active to my product 'hammer’ then after reindex my altCode will have both productCrossREference alternative product codes:
      • Then, try changing the ‘active’ flag to any of the productCrossReference and make a reindex in the product (You can update any field. If not try with seoCode).
      • Validate that the altCode in the search product list doesn’t contain the inactive product cross references.
    • Case 2
      • Validate new field ‘active’ is in ProductCrossReference (You can inspect network tab) and verify also that all of the products have the active in TRUE as default the first time. (You can use endpoint described below to confirm that there is no product cross reference inactive).
      • Use swagger endpoints to change the field to false or true.
      • Besides, now the /list endpoint allows filter and sort by active.
      • So, you can use swagger and hit endpoint: /api/system/productCrossReference/list
      • With request:
        • {
        • "page": 0,
        • "size": 10,
        • "sortBy": "active",
        • "sortDirection": "desc",
        • "filterFields": [
        • {
        • "name": "active",
        • "not": false,
        • "operation": "IS",
        • "value": "false"
        • }
        • ]
        • }
      • Note that the value is ‘FALSE’. This will be useful to check that after deploying you should not see any results.
    • Case 3
      • Now, search for product cross reference in customer side (commerce site) to ensure it works only for those that are active.
      • Preconditions:
        • 1 - enable useSearchPreprocessing.
        • 2 - Have an active product reference associate to a active product.
        • 3 - Find the product using the alternative code once logged in.
      • Then, try changing the cross reference product active field to ‘false' and reload the page. It shouldn’t find anything.
  18. KOD-21090: Graphics for Blog Article
  19. KOD-21113: Scope breaking out Search Rule types into individual pages
    • Regression Tests
    • Case 1
      • For this test, we need to go to Search Rules. We need to make sure that everything still works as expected.
      • We can start with the Show / Hide columns button. Then we can test the editing of the cells, the filtering, make sure it is sortable when available and the redirect as well.
    • Tests
    • Case 1
      • For this test, we need to go to Search - Beta.
      • We are going to test every tab for this case.
      • We can start with the Show / Hide columns button. Then we can test the editing of the cells, the filtering, make sure it is sortable when available and the redirect to the details page as well.
    • Case 2
      • For this test we need to go to Search - Beta.
      • We are going to test every tab for this case.
      • We are going to create a new Search Rule on every tab. We need to make sure you can only create Search Rules that relate to the tab you’re on.
      • You can see that in “Search Rules” the “action” field is filled automatically.
      • In Synonyms, that’s the case for ruleType field, as well as in Replacements.
      • Finally, in category redirects, that’s the case for the action, ruleType, pattern and searchType.
      • We need to verify you can’t see rules from a different screen.
    • Case 3
      • For this test we need to go to Search - Beta > Click on the arrow on any Search Rule to go to Details screen.
      • Now, we are going to test that the fields update the information properly.
      • We can go back to the table to make sure the new information is there.
  20. KOD-21115: Implementation - Mobile App
  21. KOD-21164: Direct ship icon updates needed
    • Regression Tests
    • Case 1
      • Employee Portal → Order Details screen
      • Expected behavior:
        • It worked as expected.
    • Tests
    • Case 1
      • Employee Portal → Order Details screen
      • Order contains direct products only.
      • User splits the order.
      • Expected behavior:
        • Order was split successfully.
        • The Push to Vendor button appeared without page reload.
    • Case 2
      • Employee Portal → Order Details screen
      • Order contains direct and non-direct products.
      • User splits the order.
      • Expected behaviour:
        • Order was split successfully.
        • User was redirected to Back Orders tab.
        • The Push to Vendor button hasn't appeared.
    • Case 3
      • Employee Portal → Order Details screen
      • Order contains non-direct products only.
      • User splits the order.
      • Expected behavior:
        • Order was not split.
        • The Push to Vendor button did not appear without page reload.
  22. KOD-21167: Configure pricing
  23. KOD-21189: Design - Acquisitions Page
  24. KOD-21212: Updated syncCompany / CSD flow
  25. KOD-21222: Design - Header
  26. KOD-21223: Design - Contact Page
  27. KOD-21224: Design - Careers Page
  28. KOD-21225: Design - People Page
  29. KOD-21236: Pricing issue
  30. KOD-21242: Design - Privacy Policy
  31. KOD-21244: Design - Quality Page
  32. KOD-21243: Design - Terms & Conditions
  33. KOD-21248: Cart update
  34. KOD-21262: Breadcrumbs do not appear
  35. KOD-21274: Schedule monthly statements to be sent out on a specific day
    • Regression Tests
    • Case 1
      • Test payment statements can still be sent as expected in MonthlyIntervalJob.
    • Tests
    • Case 1
      • Test newly added endpoint.
      • /api/system/setting/{settingKey}/monthlyScheduleConfig for configuring monthlyStatementsSchedule setting.
    • Case 2
      • Test running payment statements in HourlyIntervalJob.
    • Case 3
      • Test running payment statements in HourlyIntervalJob.
  36. KOD-21279: New host URL for Test Server
  37. KOD-21313: system update 1
  38. KOD-21322: system update 2
  39. KOD-21324: ARIS System
  40. KOD-21331: Sales Order Email Automation
  41. KOD-21342: Create a video on how to work with dynamic FAQs
  42. KOD-21349: Cart update
  43. KOD-21351: Implementation
  44. KOD-21359: Implementation - Install applications
  45. KOD-21360: Implementation - Update email templates
  46. KOD-21383: Pull statements
  47. KOD-21384: Set up order templates
  48. KOD-21402: Addon and cash discount updates to invoices
  49. KOD-21415: Add default store per Customer Field
  50. KOD-21419: Create New Banner Image
  51. KOD-21429: Test taxes
  52. KOD-21430: Inventory for main website
  53. KOD-21431: AP automation parsers
  54. KOD-21435: Pricing not Calculating Correctly for Box/Case Without Price Record
  55. KOD-21436: Welcome email
  56. KOD-21437: Fix close icon
  57. KOD-21441: Re-sync Order Discounts
  58. KOD-21443: Website Branding & Auth Flows
  59. KOD-21446: Customer portal
  60. KOD-21445: Commerce as a logged in user
  61. KOD-21444: Commerce as a public user
  62. KOD-21447: Make Google SSO work Globally
  63. KOD-21450: Add InforCSDV4 to priceEngines Setting
  64. KOD-21455: Add creditManagerCode to details page
    • Regression Tests
    • Case 1
      • Go to the companies detail screen in the operations portal and make sure the page loads properly.
    • Tests
    • Case 1
      • Go to the companies detail screen in the operations portal → notice the new field of creditManagerCode → update the code → click out of the box and reload the page → notice that updated code is still present.
  65. KOD-21457: Update Integration to 'Finish' the order in CSD
  66. KOD-21472: Fix setting list bug for interceptors
  67. KOD-21481: Fix close icon
    • Regression Tests
    • Case 1
      • Check that we can still open and close the register popup.
    • Case 2
      • Check that you can still login.
    • Tests
    • Case 1
      • Check that the close icon looks and acts normal.
  68. KOD-21482: New Field Labels for Sequence 2 of Checkout (Billing and Shipping Address)
  69. KOD-21484: Cross reference setting update
    • Regression Tests
    • Case 1
      • Check cross reference type product indexing.
      • First, check setting: addCrossReferenceTypeToIndex and whether it changed to mediumValue type. If you have an empty value, just add value: “P“.
      • Then add cross reference record with type: “P“.
      • Updat some fields in selected product to trigger solr indexing process.
      • Copy altProductCode and try to search on employee/customer side.
    • Case 2
      • Check cross reference type product indexing (listenerUtils side).
      • Add cross reference records with type: “P“.
  70. KOD-21483: Auto Populate Data for Authenticated User.
    • Regression Tests
    • Case 1
      • Make sure that we can still place an order as a guest and logged in customers.
    • Tests
    • Case 1
      • For logged in customers - all of the billing fields should be readonly and should not have validation on them. For guests, the ux should remain the same as it was before.