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

July 3, 2025 release notes

Highlights

Operations Portal

Create and Manage Tickets Directly from Opportunities

A new feature in the Operations Portal allows users to create tickets directly from opportunities. This enhancement helps streamline follow-up actions and improves visibility by associating tickets with specific leads.

To use this functionality, navigate to the Opportunities screen, filter for opportunities of type Lead, and open the desired record. In the upper-right corner, click the “More” dropdown and select “Create Ticket.” You’ll be prompted to complete a short form, including title, customer project, visibility setting, and an optional ticket template. Once submitted, the ticket will appear in the “Tickets” tab and be linked to the selected opportunity.

This feature provides a simple way to manage tasks related to lead opportunities directly within the portal.

This feature is now available for Lead-type opportunities in the Operations Portal.
Watch the full video for a step-by-step guide.

https://youtu.be/RJO2PqfyAho

NDJSON export option now available for category data in the Operations Portal

Users can now export category data in NDJSON format directly from the Operations Portal. To access this feature, navigate to the Categories screen, select the "Data" tab, and click the "File" button followed by "Export." In the export configuration window, you can now choose NDJSON as an alternative to the previously available CSV format.

This addition provides flexibility when working with category data in systems that prefer JSON-based formats. NDJSON creates files where each line is a valid JSON object, making it ideal for streaming processing and integration with modern data pipelines while maintaining the readability and structure of your category information.

This feature is available now in the current version of the Operations Portal. For a visual walkthrough of the export process, please refer to our demonstration video.

https://youtu.be/6nF4JBSFGEM

Tickets

  1. KOD-19444: Add UX for NDJSON export
    • Regression Tests
    • Case 1
      • Check that the export functionality works correctly on different pages, for example - Orders data, Products data, Customers data pages (when you click on export, the “save as” window appears, where you can enter/change the filename. On dropdown there’s no other options except csv. The file is downloaded in csv format)
      • Check that the export functionality on the Category Data tab works correctly.
      • Check that there are no errors in the console.
    • Tests
    • Case 1
      • Go to Category screen, Data Tab. Try to export file and choose ndjson format. Click Save As, expected to download the ndjson file. Check if the file looks fine.
    • Case 2
      • Go to Category screen, Data Tab. Try to export the file and do not choose the format. Click Save As, expected to download the csv file. Check if the file looks fine.
  2. KOD-22515: To not require sourceModifiedTime column delete importers
    • Tests
    • Case 1
      • Now we allow deleting entities by import only if it is a user import.
      • The idea here is that only should allow deleting when the import is uploaded from the User. When importing the file you can see that in the payload we are sending a flag ‘isUserUpload’. That determines if the import is from the User manually or if it comes from the ERP.
      • You can use any import from UX and try to delete the record. There are a few which doesn’t allow deletion at all but for this ticket I modified the following imports:
      • Company, CompanyAddress, Product, Customer
      • The only required field is ‘isSourceDeleted’ = True. Then, depending on the file, you need to populate the lookup field (For example, for company import it will be ‘code’
  3. KOD-23246: Calculate tax at the line item level
  4. KOD-24217: AP Automation - vendor line item code mapping
  5. KOD-24257: Ticket Enhancements - Fix Empty Filters
    • Regression Tests
    • Case 1
      • Open the website.
      • Navigate to the Customer Portal.
      • Select any table.
      • Test the Counts filter.
      • Verify that the filter works correctly and displays data in the table according to the selected filter.
      • Test the Filter.
    • Tests
    • Case 1
      • Open the website.
      • Navigate to the Customer Portal.
      • Go to the Tickets screen.
      • Open the filter for the Projects column.
      • Click on the Counts tab.
      • Select the empty value from the filter options.
      • Verify that the results match expectations and only show records where the column value is empty.
      • Select multiple checkboxes, including the empty value, and ensure that the results correctly display all selected values in the column.
      • Repeat the test on other filterable columns to verify consistent behavior.
  6. KOD-24816: AP Automation - Automatically create a vendor cross reference when changing line item product code
  7. KOD-25031: Consumer Returns Platform
    • Regression Tests
    • Case 1
      • Test Return order functionality in customer portal.
      • Created a new return in the customer portal.
      • Add/update/delete items from return.
      • Submit return in the customer portal.
    • Tests
    • Case 1
      • Test return orders with specific original order id.
  8. KOD-25327: Sunset Settings
  9. KOD-25365: Payments Integration - Add support for sale transactions
    • Tests
    • Case 1
      • Implement Sale from terminal flow.
    • Case 2
      • Implement authOnly from terminal flow only.
  10. KOD-25485: Salesforce - Add guest order data
  11. KOD-25693: Setup environment to use CSD APIs
  12. KOD-25737: Ticket #181 - Company page update
  13. KOD-25800: Order Item icssConversionUnit field issue
  14. KOD-25813: Ticketing system add wrong comment
  15. KOD-25829: Scanning Barcodes in the Mobile App Created From Ticket 12717
  16. KOD-25858: Overwriting Billing Address for the Order Confirmation Email
  17. KOD-25859: Operations Portal - Fix default sorts on screens
    • Tests
    • Case 1
      • Check each screen that contains internal / customer files to make sure we’re displaying the newest files first.
      • Check other screens like: tickets, orders, prices, business events, content pages, categories etc. if we’re displaying in correct order (last modified, created or name).
  18. KOD-25869: Company Roadmap Ticket from Opportunity
    • Tests
    • Case 1
      • Should render "More" dropdown button under lead detail opportunity screen. Should render Create Ticket option that when clicked displays the Lead Create Ticket dialog with required input fields.
    • Case 2
      • Should be able to create a ticket associated with a lead and its company using the "Lead Create Ticket" dialog.
  19. KOD-25870: Quote Requests - Logic rule automation for expiration
    • Tests
    • Case 1
      • Should change quote status from Quote Pending to Quote Expired for quotes whose expirationDate is in the past.
  20. KOD-26009: Mobile App issues (testing feedback)
  21. KOD-26041: Product image disclaimer Created From Ticket 24895
  22. KOD-26048: Support the product specs in Mobile App
    • Tests
    • Case 1
      • Open any product with specs.
      • Test details scrolling, showing information.
    • Case 2
      • Open any product with specs.
      • Test Specs scrolling and showing info.
    • Case 3
      • Products without specs should be shown without tabs.
  23. KOD-26098: PO Formatting Created From Ticket 25300
  24. KOD-26106: Implementation
  25. KOD-26117: Support. data for CSD payments
    • Regression Tests
    • Case 1
      • Test all CSD Payments transaction types:
      • Sale
      • Auth
      • Capture Auth
      • Credit/Refund
  26. KOD-26142: Branch Inventory Location Switches on Product Detail Page Created From Ticket 19130
    • Regression Tests
    • Case 1
      • Check if inventory is displayed correctly for different company addresses.
    • Tests
    • Case 1
      • Check if inventory addresses on product detail page match locations for each company in the operations portal.
  27. KOD-26155: Changes to tags for customer Environments
  28. KOD-26174: Linked ticket polishing UX
    • Tests
    • Case 1
      • Go to the operations portal, ticket page.
      • Press the "Link Ticket" link in the "Actions" button.
      • Make sure that the popup has appeared and the dropdown "Link type" has appeared in it.
      • Try to link tickets and make sure that the tickets are linked.
    • Case 2
      • Open the Ticket page with linked tickets and open the "Linked Tickets" tab.
      • Make sure that the button is -gray- blue.
      • Try moving to one of the linked tickets, make sure that the breadcrumbs display the path correctly.
    • Case 3
      • Try to link tickets.
      • Make sure the status message has a default blue background.
  29. KOD-26206: Sync Error when Updating Pricing
  30. KOD-26250: Customer acct drag and drop From Ticket 26093
  31. KOD-26257: Indexer
  32. KOD-26259: Pricing Tolerances: Support Custom Discrepancies for Orders
  33. KOD-26271: LTL updates
  34. KOD-26312: Parser not picking up the last 3 lines
  35. KOD-26328: Porting content over
  36. KOD-26346: Tag to line items
  37. KOD-26354: Update the warehouse photo
  38. KOD-26358: Field Created From Ticket 26814
  39. KOD-26376: Require Return Reasons in Operations Portal
    • Regression Tests
    • Case 1
      • In the operations portal, make sure for an order that is not a return you can still release it to the ERP.
    • Tests
    • Case 1
      • Make sure for a return order (ERP order type = return) that has return reasons for every item can still be released to the ERP.
    • Case 2
      • For a return order that has items that don’t include a return reason, when you release it to the ERP, notice there is a snacker saying all items need return reasons.
  40. KOD-26384: Add Payment Systems to the dropdown
  41. KOD-26385: Log system events for reset password failures
  42. KOD-26391: Update Linked ticket screen to use Search endpoint
    • Regression Tests
    • Case 1
      • Go to the operations portal, tickets page → Linked Tickets tab.
      • Please test link/unlink tickets.
      • Please check that everything else is working as expected and there are no additional errors in the console.
      • Due to the fact that we switched to search endpoint, the data is not updated immediately.
    • Tests
    • Case 1
      • Go to the operations portal, tickets page → Linked Tickets tab.
      • Make sure that the request for the tickets list was changed to search.
      • Make sure that all filtering fields work well.
    • Case 2
      • Go to the operations portal, tickets page → Linked Tickets tab.
      • Try to unlink some tickets.
  43. KOD-26399: PD record and import needs the Sales Cost fields Created From Ticket 26498
  44. KOD-26404: Add ability to exclude from all reporting - and exclude by default
  45. KOD-26405: Combine Shipping & Handling Addons in Order Templates
  46. KOD-26408: Payment Provider Updates
  47. KOD-26413: Implementation
  48. KOD-26417: Remove the "c" pricing
  49. KOD-26422: Add quote template - Created From Ticket 26984
  50. KOD-26434: Support the product specs within public API for Customer App
  51. KOD-26456: Add "Recently Ordered" link to the top navigation Created From Ticket 24644
    • Regression Tests
    • Case 1
      • Check that the Header looks good.
      • Check that there are no errors in the console.
    • Tests
    • Case 1
      • Check that the header displays the new link “Recently Ordered“.
      • Check that the Header looks correct on different devices (desktop, mobile).
      • Check that when the user clicks on the Recently Ordered link, the Recently Ordered Catalog is opened.
      • Check that when the guest clicks on the Recently Ordered link, the Sign In page is opened.
  52. KOD-26463: Order notifications based on branch manager tweak
    • Tests
    • Case 1
      • Please test that email would be sent to branch manager (per warehouse) and general manager (from setting) for both cases - 24-48 h and over 48h.
    • Case 2
      • Please test that if the order was not sent to the branch manager (warehouse is not set or email is not populated on the locations screen) it still will be sent to the general manager.
  53. KOD-26482: Order Automation-New Customer Order To Map - Created From Ticket 27496
  54. KOD-26484: Spin up new system
  55. KOD-26490: Credit card payment issue
  56. KOD-26492: Order e-Hold Request
  57. KOD-26496: Mapping Needed (PO is in the Reference Field) Created From Ticket 27591
  58. KOD-26511: Install base customer and commerce template on test site
  59. KOD-26514: Update default image URL
  60. KOD-26515: Product warehouse availability missing
  61. KOD-26521: Remove $45 order charge from order confirmations Created From Ticket 27700
  62. KOD-26530: Confirm Email Address Update
    • Tests
    • Case 1
      • In order to test this ticket we have to turn on the setting from the description.
      • Check if errors during login are displayed from platform side:
      • Test header bar and login page.
      • Make sure the email template is displayed correctly.
  63. KOD-26532: Vendor Invoice Parser
  64. KOD-26533: Tracking Products on bulk endpoint
  65. KOD-26534: Transaction number for deposits is null
    • Regression Tests
    • Case 1
      • Make a deposit from the employee side.
    • Tests
    • Case 1
      • Make a deposit from the employee side.
      • Check if paymentTransactionNumber is set on the resulting Payment record.
  66. KOD-26535: Spin Up System
  67. KOD-26536: Install application for payment portal
    • Regression Tests
    • Case 1
      • Check that both commerce and payment portal websites still work as expected without issues.
    • Tests
    • Case 1
      • Check that the payment portal website has a payment portal layout and the commerce has a commerce layout.
      • Go through all the pages (e.g. Account Activation, Password, Login, Cart) and make sure everything works correctly and looks good.
  68. KOD-26537: Generating sitemap by host - Fixes
    • Regression Tests
    • Case 1
      • Make sure you can generate and view sitemaps in a non multihost site.
      • For each category, you should see the correspondent links correctly without errors.
      • Also noticed in the video that if you are in a single host site and you have a category with hostCode you will not see the category code in the generated link and that is how it always worked.
  69. KOD-26538: Set up email inboxes for order automation Created From Ticket 27787
  70. KOD-26544: Warehouse logic Created From Ticket 27778
  71. KOD-26553: Priority - Add address validation for COD payments to prevent errors
  72. KOD-26552: Employee App - Checkout subtotal mismatch with OPS and CSD for some products/orders
  73. KOD-26555: Unable to Identify Vendor Created From Ticket 27628
  74. KOD-26557: Remove "PO-" Prefix from BOD when manually adding Vendor Invoice Addon Created From Ticket 27781
  75. KOD-26559: Mapping Needed (PO is in the Reference Field) Created From Ticket 27591
  76. KOD-26564: Add this endpoint to serverside: "/api/system/companyProductCategory/{companyProductCategoryID}/product/list"
  77. KOD-26565: Shipping Methods Configuration Created From Ticket 27243
  78. KOD-26567: Map Minimum charge line to addon Created From Ticket 27878
  79. KOD-26568: PO Matching Logics Stages Created From Ticket 27702
  80. KOD-26572: CRM Page Updates
  81. KOD-26575: Customer App - Support sending draft apps within release logic
  82. KOD-26579: Support data From Kodaris Orders
  83. KOD-26594: Employee App - Address details phase 3: Assigned Customers/Employees tabs
  84. KOD-26596: Enhance save file endpoint to accept base64 string