All Releases
June 5, 2026 May 28, 2026 May 21, 2026 May 14, 2026 May 7, 2026 April 30, 2026 April 23, 2026 April 16, 2026 April 9, 2026 April 2, 2026 March 26, 2026 March 19, 2026 March 5, 2026 March 12, 2026 February 26, 2026 February 19, 2026 February 12, 2026 January 22, 2026 February 5, 2026 January 29, 2026 January 15, 2026 January 8, 2026 January 1, 2026 December 25, 2025 December 18, 2025 December 11, 2025 December 4, 2025 November 27, 2025 November 20, 2025 November 13, 2025 November 6, 2025 October 30, 2025 October 23, 2025 October 16, 2025 October 9, 2025 October 2, 2025 September 25, 2025 September 18, 2025 September 11, 2025 September 4, 2025 August 28, 2025 August 21, 2025 August 14, 2025 August 7, 2025 July 31, 2025 July 24, 2025 July 17, 2025 July 10, 2025 July 3, 2025 June 26, 2025 June 19, 2025 June 12, 2025 June 5, 2025 May 29, 2025 May 22, 2025 May 15, 2025 May 8, 2025 May 1, 2025 April 24, 2025 April 17, 2025 April 10, 2025 April 3, 2025 March 27, 2025 March 20, 2025 March 13, 2025 March 6, 2025 February 27, 2025 February 20, 2025 February 13, 2025 February 6, 2025 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

May 7, 2026 release notes

Tickets

  1. KOD-11904: Migration
  2. 35589: Configure - Fraud detection - Hold suspicious orders to release to ERP
  3. 35590: Configure - Fraud Reporting Option for ERP Order on Hold
  4. 43203: Configure - Product Redirect for Discontinued Items
  5. KOD-29306: Core Return Flow
  6. KOD-29627: Update credit card error messaging on website
    • Regression Tests
    • Case 1
      • Go to the operations portal.
      • Open Orders → Orders, select order for test. On the details page in the right sidebar click on the button “Request Payment”, generate email and copy “Review and Pay” link.
      • Open it, check that cod payment form looks good, and there’s no broken UI.
    • Case 2
      • Log in as a customer on the e-commerce portal.
      • Add some items to the card, and go to checkout. Check that the third checkout step looks good, no broken UI. Check that everything works as expected.
    • Case 3
      • Log in as a customer to the e-commerce portal.
      • Add some products to the cart and go to checkout.
      • On the third step, try to submit an order with an already existing card. See that the server error happens, and in the UI alert block shown at the top of the checkout page. Check that everything works as expected.
    • Tests
    • Case 1
      • Try to submit COD payment form with the invalid card data.
      • Check that the alert block appears above the payment button.
      • Check responsive, to make sure that margins are looking good between the error block and payment button and other content above.
    • Case 2
      • Go to the ecommerce portal and log in as a customer.
      • Add items to cart and proceed to checkout.
      • Select Credit Card as payment method.
      • Enter invalid card details in the payment iframe (e.g., wrong card number, expired date).
      • Click Place Order.
      • Verify: An error message appears below the card fields (inside the payment section), not at the top of the page.
      • Verify: The error text is the specific message from the iframe (not a generic "something went wrong").
      • Verify: The Place Order button is no longer in a loading state.
    • Case 3
      • Proceed to checkout with credit card selected.
      • Trigger a server-side error (e.g., use a test card that passes iframe validation but is declined by the backend).
      • Verify: The top-of-page alert displays the specific error message from the server response (e.g., "Card declined").
      • Verify: The page scrolls to the error alert.
      • Verify: The button loading state is removed.
    • Case 4
      • Select ACH as payment method at checkout.
      • Submit with details that will cause a server error.
      • Verify: The specific server error message is shown in the top alert (not a generic message).
      • Verify: Button loading state is removed.
  7. KOD-30178: Move integration, punchout, CMS server side endpoints to separate serverside apis
  8. KOD-30327: Move cmsLanguage and internalFile server side endpoints to separate serverside apis
  9. KOD-30459: Fix pricing in UX for unitSell2 with matching unit conversion
  10. KOD-30728: Discounts being applied to credits
    • Regression tests
    • Case 1
      • Confirm, discounts are applied to invoice payments regardless of disableDiscountsOnCredits setting.
      • Invoice payments have invoiceAmount > 0.
      • Confirm, discounts are applied to credit payments if the disableDiscountsOnCredits setting is disabled.
      • Credit payments have invoiceAmount < 0.
      • Confirm, short payments are still working as expected (no changes).
    • Tests
    • Case 1
      • If setting  disableDiscountsOnCredits is enabled, discounts should not be applied to credit payments.
  11. KOD-30734: Item History UX screen
    • Regression Tests
    • Case 1
      • Navigate to a company catalog page with products and sidebar filters.
      • Select a sidebar facet filter (e.g. Store) and verify the product list filters correctly and the chip appears.
      • Click Clear All on the chips and verify all products are shown again.
      • Verify the grid , list , and catalog view switcher buttons toggle views correctly.
      • Navigate to a non company catalog page ( customer or group catalog) and verify the date pickers do not appear and the input search works as before.
    • Tests
    • Case 1
      • Navigate to a company catalog page that has products with different lastPurchaseDate values.
      • Type a partial product code in the search field and click Search ; verify the results are filtered and searchString appears in the URL.
      • Set From to a date that excludes some products (leave To empty) and click Search ; verify products purchased before that date are excluded and lastPurchaseDateFrom appears in the URL without lastPurchaseDateTo.
      • Click Clear , set To to a date that excludes some products (leave From empty) and click Search ; verify only products purchased on or before that date are shown and lastPurchaseDateTo appears in the URL without lastPurchaseDateFrom.
      • Click Clear , set both From and To to the same date, click Search ; verify only products purchased on that exact date are returned.
      • Expand the date range to include all products and click Search ; verify all products are returned.
      • Combine a text search with both date filters and click Search ; verify results match both the text and date criteria, and all 3 params appear in the URL.
      • Click Clear and verify all products are shown, fields are reset, and searchString , lastPurchaseDateFrom , lastPurchaseDateTo are removed from the URL.
  12. KOD-30836: PIM Category Tree Cache Eviction
  13. KOD-30860: UX Kodaris - Product Custom Fields Follow-up - Ability to Update on Grids
    • Regression Tests
    • Case 1
      • Verify that product fields can be edited and saved in the grid.
      • Verify that custom fields are not cleared after editing a standard field.
    • Tests
    • Case 1
      • Verify that custom fields can be edited in the Product Data Grid.
      • Verify that after editing a custom field, the value is saved and displayed after a refresh.
      • Verify that users with productView or productEdit permissions can open the Custom Fields tab.
      • Verify that users with productEdit permissions can edit custom fields in the Custom Fields tab.
  14. KOD-30884: Back arrow navigation in Shared Drive folder Follow-up
    • Regression Tests
    • Case 1 Folder navigation
      • Click through several nested folders.
      • Expected:
      • URL updates to /folder/{id}
      • at each step
      • Breadcrumbs show full path
    • Case 2 Breadcrumb navigation
      • Navigate using breadcrumbs.
      • Expected:
      • Goes to the correct folder each time.
    • Case 3 Browser Forward
      • After using Back, click Forward.
      • Expected: Returns to previous folder.
    • Case 4 Page refresh
      • Refresh (F5) on root - should stay on /all
      • Enter a folder, refresh - should stay in the folder with breadcrumbs.
    • Case 5 File preview and Back
      • Click a file to preview.
      • Click browser Back.
      • Expected: Preview closes, stays in folder (not navigates away).
    • Case 6 Direct link (deep link)
      • Copy folder URL from address bar.
      • Open new browser tab.
      • Paste and navigate to the URL.
      • Expected:
      • Opens the correct folder.
      • Breadcrumbs show the full path to the folder.
    • Tests
    • Case 1 Back to root stays in Shared Drive
      • Navigate through several folders.
      • Click Back multiple times until you reach root.
      • Expected:
      • Final Back returns to Shared Drive root.
      • Does NOT redirect to Operations portal.
    • Case 2 Sidebar expands to selected folder
      • Navigate to nested folder.
      • Expected:
      • The sidebar tree expands to show the current folder.
  15. 59801: Order Confirmation Email to Punchout Users
  16. 59804: CRM portal request 3 - Enhancement to opportunity screen to link quotes-UX
  17. 59818: CRM Portal Request 2 - Update email templates to include job name-UX
  18. 59899: Send payment link with expiration timer
  19. 60110: Create New Quoting Template with Group Breakdowns
  20. KOD-30892: UX - Filter price book templates by catalog in Export Price List
    • Regression Tests
    • Case 1
      • Navigate to a company catalog page that has products.
      • Click Export Price List.
      • Verify the price book template dropdown populates with available templates.
      • Navigate to a customer group catalog page that has products.
      • Click Export Price List.
      • Verify the price book template dropdown populates with available templates.
    • Tests
    • Case 1
      • Navigate to a company catalog page that has products.
      • Open the browser Developer Tools and switch to the Network tab.
      • Click Export Price List to trigger the template loading.
      • Locate the request to /api/account/companyProductCategory/priceBookTemplates in the Network tab.
      • Verify the request URL includes the query parameter companyProductCategoryID with the correct catalog ID value.
      • Navigate to a customer group catalog page and repeat steps 2-5.
      • Verify the companyProductCategoryID parameter is also present on the customer group catalog request.
  21. 60169: Cookie Consent Modal Updates - Engineering
  22. 60433: Kodaris - Add Customer Notes and Internal Notes to Search
  23. 60903: Add cookie policy popup/modal
  24. 60972: Order notes and Product comments by customers on orders - Engineering
  25. 60998: Engineering - Product Configurator Remove default selection
  26. 61045: COD Payment page throws error
  27. 61086: Update for Nonstock Flow
  28. 61544: Kodaris - Add New Fraud Settings to Configuration Screen
  29. 61562: Format Issue when Opening Custom Fields Export in Excel
  30. 61576: Company Name Display Enhancement - Engineering
  31. 61616: Catalog/Shopping List Issues
  32. 61675: Make Company Field Required for Opportunities
  33. 61792: Incorrect Inventory in Mobile App
  34. 61805: Add to Quote functionality in mobile app
  35. ENG-62839: Product Number Display in Configurator
  36. 62851: Company catalog product add search box search results limited to 10 issue
  37. ENG-62900: Add calculate button for vendor invoices
  38. ENG-62925: Footer & Logo Update
  39. 62930: Character in Blog Post template.
  40. 62982: Add Tax Numbers to templates
  41. KOD-30891: UX - Assign price book templates to catalogs in the Operations Portal
    • Regression Tests
    • Case 1
      • Navigate to a Company Group > Catalogs tab.
      • Select a catalog from the category tree.
      • Verify the product grid loads with existing products.
      • Use the product autocomplete to assign a product to the catalog.
      • Verify the product appears in the grid.
      • Delete the product and verify it is removed.
      • Repeat steps 1-6 for a Company > Catalogs tab.
    • Case 2
      • Navigate to a Company Group > Catalogs tab.
      • Create a new catalog.
      • Verify the new catalog appears.
      • Select the new catalog and edit its name.
      • Verify the updated name is reflected.
      • Delete the catalog and verify it is removed.
      • Repeat steps 1-6 for a Company > Catalogs tab.
    • Case 3
      • Navigate to Company Templates and select a template.
      • Verify the Details, Content, Header, and Footer tabs all load correctly.
      • Make an edit on the Details tab and verify it saves.
    • Tests
    • Case 1
      • Navigate to a Company Group that has catalogs with assigned templates.
      • Click the Price Book Templates tab.
      • Verify the category tree loads on the left sidebar and the first category is auto-selected.
      • Select a catalog from the category tree.
      • Verify the grid shows only templates explicitly assigned to that catalog (not all/generic templates).
      • Verify sorting by column headers, and column filtering work correctly.
      • Use the + Assign template autocomplete in the grid footer to search for and select a template.
      • Verify the assigned template appears in the grid.
      • Select the newly assigned template row and delete it.
      • Verify the template is removed from the grid.
    • Case 2
      • Navigate to a Company that has catalogs with assigned templates.
      • Click the Price Book Templates tab.
      • Select a catalog from the category tree.
      • Verify the grid shows only templates explicitly assigned to that catalog.
      • Use the + Assign template autocomplete to assign a template, then delete it.
      • Verify the template appears after assignment and disappears after deletion.
    • Case 3
      • Navigate to a Company Group > Catalogs tab.
      • Select a catalog.
      • Click Generate Price Book.
      • Verify the template dropdown shows templates relevant to the selected catalog (assigned + global/unlinked templates).
      • Close the dialog, then click Generate Price Book for All.
      • Verify the template dropdown shows the same relevant templates.
      • Repeat steps 1-4 for a Company > Catalogs tab.
    • Case 4
      • Navigate to Company Templates and select a template that has catalogs assigned.
      • Click the Catalogs tab.
      • Verify the grid loads and shows linked catalogs with code, name, and active columns.
      • Verify additional columns are available via the column picker.
      • Select a catalog row and delete it.
      • Verify the catalog is removed from the grid.
      • Go to the Price Book Templates tab on the corresponding company/group, re-assign the template to the catalog.
      • Return to the Company Templates > Catalogs tab and verify the catalog appears again.
    • Case 5
      • Navigate to Company Templates and click Add.
      • Verify the "Assign To" dropdown defaults to "Global".
      • Change "Assign To" to "Company" and verify the Company autocomplete appears.
      • Select a Company, then switch "Assign To" to "Customer Group".
      • Verify the Company autocomplete is replaced by the Customer Group autocomplete.
      • Switch "Assign To" back to "Global" and verify no autocomplete is shown.
      • Fill in required fields with all 3 “Assign To” and verify the templates are created using the correct endpoint.
  42. ENG-63338: Amount tendered in CSD is greater than the order total because shipping doesn't shown up.
  43. ENG-63400: Support XLSX,XLS,CSV,TSV files in the Document Automation Studio
  44. ENG-63424: Terms Checkbox & Email Template Fix
  45. 63459: Display Request a Quote Always
  46. ENG-63507: Implementation - Line Items notes
  47. ENG-63510: Updates to FAQ page in the operations portal
  48. 63638: Kodaris - Update User Search Content Page Endpoint to Support Multilingual FAQ Translation
  49. ENG-63727: Kodaris - Allow Import punchout user with parent relationship
  50. 63729: Kodaris - To add ability organized FAQ page by category
  51. ENG-63789: Add ability to select transaction account when creating a consumer company
  52. ENG-63945: Allow Deletion of Leads
  53. ENG-63946: Allow Deletion of Internal Files on Leads
  54. 63985: Configure - Generate a statement template
  55. 64029: Configure - Generate a statement mailer template
  56. 64226: Add Event for Consumer Registration Flow
  57. ENG-64269: Recently Purchased Orders "Last Modified" issue
  58. 64284: Request a Quote missing
  59. 64302: Implementation - Install Applications
  60. ENG-64515: Deprecate order discrepancies v1 in favor of v2 automation engine discrepancies
  61. ENG-64737: Fix state code validation on the company detail screen
  62. 65119: Customer Part Number Upload and Line Item Aggregation
  63. ENG-65346: Fix Company and Ship-To selectors on mobile view
  64. ENG-65415: Kodaris - Apply companyType != vendor on company searches
  65. ENG-65442: Allow user to define rule type based on trigger in the automation engine
  66. ENG-65447: Company Sync Integration
  67. ENG-65448: Add ERP Logic Integrator
  68. ENG-65661: Template Updates for Public Pricing Launch
  69. ENG-65741: Update import export app run export logic
  70. ENG-65792: Add enable/disable emails for form submissions with custom setting
  71. ENG-65937: Vertex Tax Integration: Support V2
  72. ENG-65998: Will Call Option Updates
  73. ENG-66047: New pricecalcs api
  74. 66216: Catalog enhancement - Add Price Unit to company catalog creation flow
  75. ENG-66225: Kodaris - Remove column in price book no matter the user
  76. ENG-66408: Add Actions button to Catalog pages and UI Improvements
  77. 66512: Vendor Invoices - Round web whole unit price to 5 decimals instead of two
  78. ENG-66559: Inventory Negative Number Update
  79. ENG-66560: Remove projectManager role from location/budget endpoints and add fine-grained budget roles
  80. ENG-66561: Add enableTaxesByJurisdiction to employee configuration endpoint
  81. ENG-66690: Send Account activation emails