All Releases
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

June 26, 2025 release notes

Highlights

Operations Portal

Company Address Assignment for Opportunities in Operations Portal

The Operations Portal now allows users to assign company addresses to opportunities after they've been created. This enhancement provides greater flexibility in the opportunity management workflow, enabling you to create opportunities quickly and add company information later when it becomes available.

To use this feature, simply create an opportunity and then access the "More" dropdown from the opportunity details page. Select "Assign Company Address" to open a selection window where you can choose both the company and its specific address. After assignment, the relationship is automatically established and visible in both the opportunity details and the company address record under the Opportunities tab.

Available now in the Operations Portal. For a step-by-step demonstration, please refer to our tutorial video.

https://youtu.be/pet-Sd60e-A

Original Interceptor Reference Tab

The Operations Portal now includes an "Original" tab within the Interceptors section, allowing users to view the standard interceptor code as originally provided. This new tab appears alongside the existing "Editor" and "Revisions" tabs when viewing interceptor details.

The read-only "Original" tab serves as a reference point for users who have modified their interceptors but need to compare their changes against the default version. This feature eliminates the need to remember or document the original code, making it easier to verify customizations or troubleshoot issues by comparing current implementations against the standard version.

The Original tab feature is now available to all Operations Portal users. For a walkthrough demonstration, please refer to the instructional video showing how to access and use this reference capability.

https://youtu.be/CUJjjRTCCeY

Tickets

  1. KOD-23029: Add resync button on event record
    • Regression Tests
    • Case 1
      • Navigate to the operations portal. Go to the Events page. Check if the grid is displayed correctly without any issues.
    • Tests
    • Case 1
      • Go to the Events screen. Here on grid check if for records where "Type" starts with MappedPayload have an additional icon with dropdown on the last column.
  2. KOD-25070: Validate warehouseCode in CustomerAsset customer side.
  3. KOD-25092: Link CompanyProductCategory to CustomerAsset - UX
  4. KOD-25518: Kodaris- CRM Opportunities Need to Be Able To Be Assigned to a Ship To
    • Tests
    • Case 1
      • Operations → Opportunities screen.
      • Add opportunity.
      • Expected:
      • It’s possible to select shipto while adding.
      • If the company is not selected - shipto field is disabled.
    • Case 2
      • Operations → Company Address screen.
      • Expected:
      • There is an Opportunities tab.
      • Should provide the same functionality as the one in Company details.
    • Case 3
      • Operations → Opportunities → Opportunity details screen.
      • Lead
      • Quote
      • Shipto was not set.
      • Expected:
      • It’s possible to set a shipto.
      • If company was not assigned - the company dropdown will appear in assign shipto dialog.
    • Case 4
      • Operations → Opportunities → Opportunity details screen.
      • Lead
      • Quote
      • Shipto was set.
      • Expected:
      • It’s not possible to set a shipto.
  5. KOD-25554: Master order/budgets - Enable customer adding line items
  6. KOD-25576: Pricing Tolerances
  7. KOD-25659: Add Information to Opportunity Notification Email
  8. KOD-25715: Duplicate product meta description tag
  9. KOD-25731: Ticket #171 - Created From Ticket 23372
    • Regression Tests
    • Case 1
      • Confirm that the category page loads without errors and that we can see the list of products and filters.
    • Tests
    • Case 1
      • Confirm that there is no horizontal scroll on the category pages, but vertical scrolling is present.
  10. KOD-25742: Implementation
  11. KOD-25818: Order not Picked Notification
    • Tests
    • Case 1
      • The script should get the recipient from settings. If they do not exist the email notification won’t be sent.
    • Case 2
      • The script should filter and notify only orders in "Entered" or "Ordered" statuses.
    • Case 3
      • The script should use a predefined email template orderNotificationTemplate-EJS to send the email notifications.
    • Case 4
      • The script should limit the number of orders in each email to a maximum of 500 entries.
  12. KOD-25826: System Randomly Choosing Cart Warehouse Created From Ticket 21190
  13. KOD-25944: Update API to set language when inserting orders
  14. KOD-25954: Scope Tagging Orders
  15. KOD-25974: Implementation Updates
  16. KOD-25978: Offer discount on web orders Created From Ticket 24425
  17. KOD-26013: Add UX to allow users to see the standard interceptor provided by Kodaris in a tab
    • Regression Tests
    • Case 1
      • Make sure you are able to open the Interceptor Editor with no issues.
    • Case 2
      • Make sure the top nav on the interceptor works with no issues. When switching between tabs pages are loaded with no issues.
    • Tests
    • Case 1
      • Open Interceptor.
      • Make sure at the top nav between Editor and Revisions you can see the new Tab: Read Standard. Open that Tab.
      • Make sure the URL is /read for this tab.
      • Make sure this Tab contains editor styling. Make sure you cannot edit the interceptor on this page since this is read only tab.
      • Make sure on this tab is displayed the standard interceptor provided by Kodaris. And data is taken from this GET endpoint response:
      • api/system/script/interceptor/standardScript/interceptor name
      • Check data → source in the response.
  18. KOD-26020: Implementation - Updates
  19. KOD-26063: Implementation
  20. KOD-26080: Implementation Testing
  21. KOD-26081: Implementation - Adjustments
  22. KOD-26086: PIM Extract with one row per product + assigned category
  23. KOD-26093: Vendor Invoice Parser
  24. KOD-26102: Request a Quote products on homepage
    • Regression Tests
    • Case 1
      • Confirm that the homepage loads without errors.
      • Confirm that the homepage displays the sliders Featured Products, Popular Items, and New Arrivals, each showing products with the text "Log in for Pricing and Inventory". However, when logged into the customer portal, the actual price should be displayed.
    • Case 2
      • Confirm that product pages for both quote and regular products render correctly.
    • Tests
    • Case 1
      • Confirm that when logged in, if a product has productDisplayType === "CQuote", the "Request a Quote" message is shown instead of the price.
  25. KOD-26125: Implementation
  26. KOD-26126: Implementation - Updates
  27. KOD-26131: Fraud Pricing Page
  28. KOD-26146: Order Item's customerProductCode is not updated at cart
  29. KOD-26148: Add UX for new estimate and actual fields from Ticket
    • Regression Tests
    • Case 1
      • Check that the fields in the table look correct on the Ticket Search & Data page.
      • Check that the fields are displayed correctly on the product details page.
      • Check that the values ​​in the fields are correctly added, deleted, edited.
      • Check that the values ​​in the fields are correctly synchronized on the Ticket Search & Data pages and the product details page.
    • Tests
    • Case 1
      • Check that 2 new fields are available for display on the Ticket Search & Data page - Actual and Estimate.
      • Check that 2 new fields are displayed on the ticket details page - Actual and Estimate.
      • Check that the values ​​in the new fields are correctly added, deleted, edited.
      • Check that the values ​​in the new fields are correctly synchronized on the Ticket Search & Data pages and the product details page.
  30. KOD-26150: Update UX for new server side import for vendor pricing table
    • Regression Tests
    • Case 1
      • Check that the Vendor Pricing page looks correct.
      • Check that the export works correctly.
    • Tests
    • Case 1
      • Check that the import functionality > Update Only works correctly.
      • Check that the import functionality > Create Only works correctly.
      • Check that the import functionality > Update & Create works correctly.
  31. KOD-26153: Header subtotal update
    • Regression Tests
    • Case 1
      • Check that In Stock items are added to the cart as expected.
      • Check that Out Stock items are added to the cart as expected.
      • Check that the header layout in the cart part looks correct.
      • Check that there are no errors in the console.
      • Check that order creation works fine.
    • Tests
    • Case 1
      • Check that if at least one Out of Stock item is added to the cart, the price in the header is not displayed.
      • Check that if you remove all Out of Stock items from the cart and leave only In Stock items, the price is displayed correctly.
  32. KOD-26156: Issue with Wrong Warehouse Being Selected
  33. KOD-26177: Can't View Fraud Data on Frauds Screen with fraudDataEdit or fraudDataView
    • Regression Tests
    • Case 1
      • Check that the Fraud Data screen looks good.
      • Check that the Fraud Data Details Page screen looks good.
      • Check that there are no errors in the console.
    • Tests
    • Case 1
      • Check that the Fraud Data Details Page opens if the user has the fraudView or fraudEdit roles.
      • Check that the Fraud Data Details Page does not open if the user does not have the fraudDataView or fraudDataEdit roles.
  34. KOD-26186: Fix Automated Statement Delivery Submit Button
    • Regression Tests
    • Case 1
      • On the automated statement delivery screen, click actions → send statements → make sure the pop up still appears and you are able to add in a company and email address → click submit and make sure an email comes through to the email you provided.
    • Tests
    • Case 1
      • Click on actions → send statements → now add a company but don’t include an email → click submit → an email should be sent to the primary email on the company (company.email1) as long as that company has an invoice transaction type of 11, 5, or 3.
    • Case 2
      • Do the same thing but this time add an email but don’t put in a company → click submit and it should send an email to the address provided of all of the companies that have the invoice transaction types of 11, 5, or 3.
    • Case 3
      • If you don’t include either a company or an email and click submit, the primary email of each of the companies in the system with those transaction types should receive an email.
  35. KOD-26199: Kodaris - Implement UX for FiAccount and FiAccountSettings table
    • Regression Tests
    • Case 1
      • Make sure Operations Portal Routing works with no issues.
      • Make sure you are able to reach different tabs.
    • Tests
    • Case 1
      • Make sure the new tab Financial Accounts was added at the bottom of the System Section in the left nav.
    • Case 2
      • Make sure you are able to reach this tab with one of the following roles: administrator, superuser, fiAccountView, fiAccountEdit.
    • Case 3
      • Make sure the Financial Accounts tab contains a grid.
      • Make sure you are able to add a new Financial Account record, edit existing Financial Account record, delete and check all Financial Account records in the grid.
      • Note: while creating a new Financial Account record you will need to specify Fi Account Code and Host Code.
      • Host Code column should contain a dropdown with available hosts.
      • Warehouse ID column should contain a dropdown with available warehouses.
      • Make sure per each Financial Account record you are able to see the details button in the grid.
    • Case 4
      • Click the details button.
      • Make sure you are redirected to the detail page.
      • Make sure in the header you see 2 available Tabs: Details and Custom Fields.
      • Make sure on Details you can see multiple fields and you can edit values on them with no issues.
      • Make sure after editing fields on the Details tab you can see updated values for Financial Account in the grid.
    • Case 5
      • Click details button.
      • Make sure you are redirected to a page with the only Custom Fields Tab available.
      • Make sure you are able to check this tab with one of following roles:
      • administrator, superuser, fiAccountSettingsView, fiAccountSettingsEdit.
    • Case 6
      • Make sure at the top you are able to see breadcrumbs. Financial Accounts breadcrumb link should lead you to the Financial Accounts tab. And Financial Account Code should be displayed after.
      • Make sure the Custom Fields Tab on the Financial Account includes a regular Settings Grid.
      • Make sure you are able to add a new setting record, edit existing setting record, delete setting record from the grid.
  36. KOD-26212: Make the More drop-down menu items on the Companies screen as links
    • Regression Tests
    • Case 1
      • The "More" dropdown button should work as before.
    • Tests
    • Case 1
      • The options under "More" dropdown should work as links like in the other tabs.
  37. KOD-26215: Price Issue - Quantity Pricing
  38. KOD-26249: Make Shop by Category more visible
    • Regression Test
    • Case 1
      • Check desktop and mobile view.
      • Make sure welcome & other pages styling is not broken.
      • Make sure at 960px screen width we are switching to mobile view.
      • Make sure for mobile view any styling was changed (menu and breadcrumbs).
      • Make sure breadcrumbs are visible and breadcrumb links are clickable.
    • Tests
    • Case 1
      • Check the welcome page.
      • On maximum screen width: Shop by store styling should be updated according to design Option 1. Make sure implemented styling updates look good for Shop by store menu.
      • Make screen width smaller and keep checking styling updates until screen width reaches 960px, where mobile view is triggered and desktop view is hidden.
      • Breadcrumbs: on any product or category page make sure breadcrumbs are visible and the whole breadcrumb area height is increased.
  39. KOD-26254: Updates Created From Ticket 17229
  40. KOD-26264: Check on Delivery Phone # and Billing Phone # data for Invoice Templates
  41. KOD-26278: Install Applications
  42. KOD-26277: Need updates on all Templates
  43. KOD-26292: Order Email Subject Shows Quote Request
    • Regression Tests
    • Case 1
      • As logged user place an order on the site.
      • Confirm order is placed and email is sent and received.
      • Confirm order status is “Your Order Details”.
    • Tests
    • Case 1
      • As a guest user place an order on the site.
      • Confirm order is placed and email is sent and received.
      • Confirm order status is “Your Order Details”.
  44. KOD-26310: Min Order Fee - Remove from Will Call
    • Tests
    • Case 1
      • Place an order on the commerce site with shipping Will Call.
      • Check in system events if response doesn’t contain value for charge.
      • Check if the order that we placed contains a charge for min order cg.
  45. KOD-26312: Parser not picking up the last 3 lines
  46. KOD-26314: DDA - Issues with optimization
    • Tests
    • Case 1
      • Make sure that issue, when two copies of the same screen are not pushed to the view.
    • Case 2
      • When the Trips screen has a lot of elements, the app should not lag on low-end devices.
    • Case 3
      • App should work faster in general.
  47. KOD-26326: Configure the hosts
  48. KOD-26327: Closing Browser and/or Signing out Clears the Cart
  49. KOD-26353: Ticket #201 - Update Contact Form
  50. KOD-26363: Top categories issue: search does not return category
  51. KOD-26367: Remove the dotted line around pictures Created From Ticket 26655
  52. KOD-26368: Order Auto-Delivery Address and Name Fields Created From Ticket 26865
  53. KOD-26369: Regional Inventory: Display on Site
  54. KOD-26380: Facet fields to respect applied filters
  55. KOD-26383: Return Payment Systems from Employee Configuration endpoint
  56. KOD-26396: Missing Recently Ordered Link
  57. KOD-26398: Customer updates From Ticket 26725
  58. KOD-26403: Implementation - Taxes
  59. KOD-26404: Add ability to exclude from all reporting - And exclude by default
  60. KOD-26406: Calculate the order weight when choosing a shipping method
  61. KOD-26413: Implementation Updates
  62. KOD-26414: Invoices Issue Created From Ticket 26887
  63. KOD-26415: Ticket #203 - Update button link
  64. KOD-26416: Activities screen - make sure we have all fields populated
    • Regression Tests
    • Case 1
      • Please test that the company → activities screen looks good and the table works as usual.
    • Tests
    • Case 1
      • Please test that data is populated on columns and is accurate.
    • Case 2
      • Please test that columns companyName, Customer Note Authors, Customer Project, Customer Activity Type, Host and Work Status are facetable.
  65. KOD-26418: Collapsible sidebar filters
    • Regression Tests
    • Case 1
      • Сonfirm that the search page loads without errors, and that the filters on the left are visible, interactive, and can be modified.
    • Tests
    • Case 1
      • Confirm that on search page:
      • All filters display a collapse icon.
      • Clicking the icon collapses the corresponding filter.
      • This works for all filters.
      • If you reload the page, the collapsed filters stay collapsed.
    • Case 2
      • Confirm that:
      • You can open a filter, select a value from it.
      • The selected value is retained after collapsing the filter.
  66. KOD-26419: Implementation - Branding
  67. KOD-26427: Cell border radius glitch with background gradient
    • Regression Tests
    • Case 1
      • Confirm that the pages containing grid sections load without errors and that the grid is visible.
    • Case 2
      • Confirm that all grid elements are displayed and behave correctly.
    • Tests
    • Case 1
      • Confirm that if a gradient and border-radius are added to a grid element, the gradient stays within the bounds of the element.
  68. KOD-26435: Request Quote on Products
    • Regression Tests
    • Case 1
      • On the commerce site navigate to the product list page:
        • Search
        • Category
        • Catalog (if logged in)
      • Confirm page is loaded properly.
      • Apply different product list views:
        • Grid
        • List
        • Catalog (if applicable)
    • Case 2
      • Add some products to the cart.
      • Confirm you can proceed with all checkout tabs.
      • Confirm all shipping methods are displayed.
    • Tests
    • Case 1
      • On the operations portal navigate to the products screen.
      • Move to the ‘Data’ Tab.
      • Add “extra2” column.
      • Set this value to “Quote-Only”.
      • Find this product on the site.
      • Check “Active” and “Display” column
      • Confirm this product has the message “Add to Quote” on the button.
      • Confirm this message is visible on the product pages:
        • Search
        • Category
        • Catalog (if logged in)
      • Confirm this message is visible for each product list views:
        • Grid
        • List
        • Catalog (if applicable)
    • Case 2
      • Add product via “Add to Quote”.
      • Proceed to the third checkout tab.
      • On this tab there should be only the “Request Quote” option.
      • Repeat this step by adding some other products to the cart.
  69. KOD-26438: Add new endpoint to unlink tickets by tickets ids
    • Tests
    • Case 1
      • Validate new unlink endpoint is able to unlink a ticket by passing the ids of two linked tickets.
      • Go to swagger and look for the new endpoint /api/system/ticket/{ticketID}/unlink/{ticketToUnlinkID} in the Ticket API section.
      • Pass the ticketID and ticketToUnlinkID with the ids of the ticket to be unlinked
      • Click on the Execute button.
      • The tickets must be successfully unlinked.
    • Case 2
      • Validate new unlink endpoint is able to unlink a ticket by passing the ids of two linked tickets when there’re more than one record for the same tickets in table sscLinkedTicket.
      • From Kodaris operation platform go to a ticket and link this to another ticket.
      • Now go to that other ticket and link to it the first ticket mentioned in the previous step.
      • In the screen you will not see duplicated rows after that action but in the DB will be two rows for these two tickets, one with the ticketID as sourceTicketID and the other with the ids swapped, so to the next step.
      • Go to swagger and look for the new endpoint /api/system/ticket/{ticketID}/unlink/{ticketToUnlinkID} in the Ticket API section.
      • Pass the ticketID and ticketToUnlinkID with the ids of the tickets.
      • Click on the Execute button.
      • The tickets must be successfully unlinked and the response must have two records in field "data" one for each LinkedTicket record deleted.
  70. KOD-26443: Site Manufacturer Logos - Remove
  71. KOD-26444: Implementation
  72. KOD-26451: Move methods: bulkAssignProductToCompanyCategoryByCsv and bulkAssignProductToCategoryByCsv
  73. KOD-26454: Paging button grayed out - all sites Created From Ticket 27336
    • Tests
    • Case 1
      • Go to operations portal → order page → Customer files.
      • Note: Need to open an order where the customer files are more than 50 to check the pagination.
      • Make sure that prev/next buttons work correctly.
  74. KOD-26465: Field Created From Ticket 26814
  75. KOD-26474: Backorder question for invoice Created From Ticket 26441
  76. KOD-26476: 2ship updates
  77. KOD-26494: Order parser Created From Ticket 25137
  78. KOD-26504: Customer updates From Ticket 26725