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

October 30, 2025 release notes

Tickets

  1. KOD-21466: Abandoned Cart Feature
  2. KOD-23652: Payment records - Storing or attaching the receipt email
    • Regression Tests
    • Case 1
      • Check that the tabs on the Account Receivable > Details page look correct (layout).
      • Check that there are no errors in the console.
    • Case 2
      • Open CRM → Cash Quotes.
      • Select the cash quote with a good total amount to be able test payment,
      • In the quote page header click “Pay Quote”,
      • Select a saved credit card that ends with 0002 and pay 1$ amount.
      • After successful payment click on View Receipt and see that receipt rendered correctly, and print functionality works well.
      • Also test Email functionality and see that payment receipt is sent.
    • Case 3
      • Go to Account Receivable.
      • Open item with status “ScheduleFailed”.
      • Check that in the actions Dropdown in the right top corner you have the “Process Scheduled Payment” button available.
      • Click on to test that the modal opened correctly
      • Go back to “Account Receivables” and open item with status “ScheduledPayment”
      • Check that in the actions Dropdown in the right top corner you have “Process Scheduled Payment” button available. Click on to test that the modal opened correctly.
      • Go through the items with other statuses and check that there’s no available “Process Scheduled Payment“ button in the Actions dropdown.
    • Tests
    • Case 1
      • Open Account Receivable → Account Receivable.
      • Find an account receivable with the option to View Receipt, since not all account receivables can have a receipt.
      • Click on “View Receipt”.
      • In the modal click on “Print” and see that the receipt is printing correctly.
      • Test sending receipt to Email functionality by clicking on the “Email” button and then input your email and send it. Check that modal is working properly and you’re receiving payment receipt on your email.
  3. KOD-27414: OEEHEXTRA and OEELEXTRA GL codes and Department data for Analytics from data lake
  4. KOD-27431: Second round of credit app tweaks
  5. KOD-27531: Shipment Notifications
  6. KOD-27736: Option to add MRO Guide to Order
    • Regression Tests
    • Case 1
      • Add some new global discounts in the operations portal, apply new or existing discount to order/cart, apply coupon code to cart, to to checkout step and submit your order with recalculated totals (including discounts).
  7. KOD-27789: Add UX for a metrics dashboard for ROI data from business events
    • Regression Tests
    • Case 1
      • Make sure that the system menu looks correct.
    • Tests
    • Case 1
      • Check that the menu items Business Events Types and Business Events appear and that the correct grid opens when you click on a menu item.
      • Make sure that each grid item has a detail page.
      • Make sure that all properties in the grids are read-only.
      • Make sure that search and filtering work correctly.
  8. KOD-27800: Create endpoint to be able update vendor internalFile fields
    • Tests
    • Case 1
      • Validate that thenew endpoint PATCH /api/system/vendor/{vendorID}/internalFile/{internalFileID} is updating the vendor internal file information.
      • Go to swagger.
      • Look for the endpoint PATCH /api/system/vendor/{vendorID}/internalFile/{internalFileID} under the system section.
      • Patch some fields for a specific vendor internal file.
      • The fields must be properly updated.
  9. KOD-27818: Long Term Updare
  10. KOD-27943: Parser From Ticket 36030
  11. KOD-27973: Update Pricing Screen for Implementations
    • Regression Tests
    • Case 1
      • Navigate to the InforCSD Setup page and go to the Price Engine and confirm that all text and spacing is displayed correctly.
  12. KOD-27996: Roles to view Storeroom data on checkout
    • Tests
    • Case 1
      • Validate the new POST endpoints are working as expected:
      • /api/user/cart/customer/search
      • /api/user/cart/department/list
      • /api/user/cart/glAccount/list
      • /api/user/cart/project/list
      • /api/user/cart/customerAsset/list
      • Important:
      • Try this test with customers that don’t have any of the following roles: companyAdmin , viewEmployees , editEmployees , viewCustomerAsset , editCustomerAsset.
      • Steps:
      • From the customer portal’s swagger look at the endpoint to test it under the Cart API section.
      • Pass a payload search payload.
      • Click on the Execute button.
      • The response must contain a list of customers, departments, projects, glAccounts, projects or customerAssets (according to the case) properly filtered.
  13. KOD-28008: Ticket "queue" display view does not match actual ticket content
  14. KOD-28072: Gift Cards
  15. KOD-28154: Add a setting to disable start return in the customer portal
    • Regression Tests
    • Case 1
      • If the setting generalReturnsEnabled is not enabled or it doesn’t exist the Return creation should run normally.
    • Tests
    • Case 1
      • With the new system setting generalReturnsEnabled when creating a Return it should throw a Forbidden Error.
  16. KOD-28163: Check Tracking Notification URLs Created From Ticket 37702
    • Regression Tests
    • Case 1
      • Confirm that we can open the order detail page in the Customer Portal, and confirm that we can view order emails through the Operations Portal.
    • Tests
    • Case 1
      • Confirm that in the templates:
      • wrappedOrderHTML-EJS
      • wrappedOrderEmail-EJS
      • wrappedOrderPDF-EJS
      • we render them in the Send Email modal, they are displayed correctly.
      • (except for the HTML template, which should be opened in the Customer Portal).
      • Confirm that when opening an order with no associated orderShipments , the template loads correctly and the shipments section is not displayed.
      • Confirm that when opening an order that has associated orderShipments (the order’s extra5 field equals the externalOrder# ), we can see the Order Shipments section showing their trackingNumbers . If the serviceMethod field matches one of the carriers listed above in the ticket, the URL should correspond to that carrier; if not, it should be displayed as plain text (not a link).
  17. KOD-28175: API Call for Price Created From Ticket 37075
  18. KOD-28177: Parser from Ticket 37817
  19. KOD-28215: Check Picture Stats for V3 App - Kodaris driver app Created From Ticket 38091
  20. KOD-28249: More than 1 matching import found error
    • Regression Tests
    • Case 1
      • Go to Development → Importers. Find the script that is used in 2 or more Importers.
      • Go to the entities data page where the importer that is using the script can be tested.
      • Export the data sheet to have just a test doc through the File menu → Export.
      • Try to import the exported data through the File menu → Import → The importer that you found in the importers table. See that there’s no any errors on import and the success notification was shown.
  21. KOD-28275: Create a controller endpoint on the vendor controller to upload products
  22. KOD-28278: Parser Testing Issues
  23. KOD-28281: Parser Created From Ticket 38662
  24. KOD-28306: Parser from Ticket 38804
  25. KOD-28324: Public Pricing Configuration
  26. KOD-28326: Parser from Ticket 39103
  27. KOD-28340: Name Displaying with Odd Characters on billing address
    • Regression Tests
    • Case 1
      • In the operations portal : Find or add paragraph to address company name that you’re currently on.
      • Note: you can edit the address name from the data grid in the “company addresses” screen.
      • Check if your customer has an “adminCompany“ role, to be able to “ Search for a billing address “.
      • Check the same thing for : Search for a shipping address.
    • Tests
    • Case 1
      • Make sure you follow instructions from the regression tests.
      • Check if auto selected name is displayed correctly - and not displaying things like on the screen from description but only sign that was provided to the address name.
  28. KOD-28343: Auto populate Company Address Code on record creation if not specified
  29. KOD-28356: Parser from Ticket 39079
  30. KOD-28358: Add Store Credit Option to Infor Integrated Payments
  31. KOD-28373: Parser issue from Ticket 30429
  32. KOD-28374: Update to show only the subtotal at checkout
    • Regression Tests
    • Case 1
      • Verify that totals, shipping, and tax calculations appear correctly on the generated PDFs.
    • Tests
    • Case 1
      • Check the note on the checkout.
      • Check if only subtotal is displayed at the checkout.
  33. KOD-28378: Shipping Options in the operations portal
  34. KOD-28379: Create a script to get the company rank field populated on icsw
  35. KOD-28383: Resync order discounts
  36. KOD-28384: Remove green lines from H1
    • Regression Tests
    • Case 1
      • Confirm that the site loads without any issues and that we can see the H1 tag with styles applied.
    • Tests
    • Case 1
      • Confirm that there’s no line under the H1 tag anywhere it’s used.
  37. KOD-28385: Parser new update Ticket 29173
  38. KOD-28386: Adding Fi Accounts Development tab
    • Regression Tests
    • Case 1
      • Navigate to the FI Account page.
      • Confirm that the grid is displayed correctly and functions as expected.
    • Case 2
      • Go to the Details page.
      • Confirm that you can switch between tabs , and that both the Details and Custom Fields pages look correct.
    • Tests
    • Case 1
      • Go to the Details page and confirm that there is a new tab named "Development" .
      • Navigate to the Development page.
      • Confirm that the database record displays fields with some data, and on the right side there is a document with API information .
      • Verify that the data in the fields matches the data in the API document .
      • Confirm that the fields with Boolean values in the document are also Boolean in the UI, and that you can change their values only to “Yes” or “No” (e.g., billable ).
      • Confirm that some fields are read-only and are marked with a “prohibition sign” (e.g., administratorID ).
      • Confirm that some fields accept only numeric input (e.g., balance ).
  39. KOD-28387: Automated Tracking Emails Only For Orders
  40. KOD-28391: Order / Invoice Documents
  41. KOD-28392: LG-Freight Charges Appearing as Line Item
  42. KOD-28395: Gates-Subtotal Not Populating on Invoice in Kodaris
  43. KOD-28398: Kodaris Dev Examples: Product Entity
  44. KOD-28403: Add new column 'parentID' to sscInternalFile
    • Case 1
    • In Swagger go to PATCH /api/system/internalFile/{internalFileID}
      • Insert an internalFileID and pass the parentInternalFileID in the payload (both IDs must exist) then go to the Operations Portal go to System->Internal Files and you should see in DevTools->Network the new field parentInternalFileID coming from the list endpoint.
    • Case 2
      • In Swagger go to POST /api/system/internalFile/list and search by parentInternalFileID . You can grab the post payload from the list endpoint mentioned in the previous test scenario and use it here, adding the new field to search.
  45. KOD-28405: Position field is not saved to the customer profile
  46. KOD-28406: Kit builder pricing issue
  47. KOD-28407: Launch a system to start working on P21 integration
  48. KOD-28412: Parser Created From Ticket 39073
  49. KOD-28413: Update for pricing tolerances feature to get discounted price from CSD if such exists
    • Regression Tests
    • Case 1
      • We need to make sure that the updated interceptor runs without any errors. To check we can simply place an order from the website and monitor the logs, the changes would only take effect when there is a discount record for that product setup.
    • Tests
    • Case 1
      • In the pricing tolerances feature we should now be applying a discount for the price record, this can also be checked in the logs after placing a test order.
  50. KOD-28417: Invoice Failures
  51. KOD-28418: Kodaris - Credit App - Ability to add custom fields to customers
  52. KOD-28445: Fix "X" icon in Catalogs
    • Regression Tests
    • Case 1
      • Navigate to the catalog page.
      • Switch between list view and grid view, and confirm that the page and all its items are displayed as expected.
    • Tests
    • Case 1
      • On the catalog page, choose the list view and confirm that the "close" button is displayed correctly.
  53. KOD-28446: Include assignee name and assignee type data lake
  54. KOD-28447: Platform AP Automation - Implement pricing conversion and quantity conversion divide/multiply functionality
  55. KOD-28448: Platform - Google crawling, allow UX to provide host for generation
    • Tests
    • Case 1
      • Have some hosts configured on your website.
      • Provide those codes for endpoint /api/system/website/sitemap to generate side map.
      • Open logs and wait for the generation to finish.
      • Review site map in OPS → SEO → view site map, it should be generated for this particular host.
  56. KOD-28450: PO Character Limit at Checkout
    • Regression Tests
    • Case 1
      • Generate order discrepancies.
      • GET api/system/order/{orderID}/discrepancies
    • Case 2
      • Add an order discrepancy.
      • POST api/system/order/{orderID}/discrepancy
    • Case 3
      • Add an order item discrepancy.
      • POST api/system/order/{orderID}/{orderItemID}/discrepancy.
    • Case 4
      • Get order automation discrepancy configuration.
      • GET /api/system/setting/orderAutomation/discrepancyConfiguration
    • Case 5
      • Update order automation discrepancy configuration.
      • PUT /api/system/setting/orderAutomation/discrepancyConfiguration
    • Tests
    • Case 1
      • Add an order discrepancy by code.
      • DELETE api/system/order/{orderID}/discrepancy/{code}
    • Case 2
      • Place new order (use Purchase Order option) when ERP logic Integrator is InforCSD or Trend, and if PO number > 21 characters, verify new order discrepancy was created, order was hold from releasing to the ERP, and order’s employeeStatus set the to Exception.
  57. KOD-28451: Parser- Vendor
  58. KOD-28454: Add Group flow to PowerBI Dashboard
  59. KOD-28453: Kodaris pricing engine discrepancy
  60. KOD-28458: Implementation - Branding
  61. KOD-28471: Kodaris API Integration
    • Tests
    • Case 1
      • Test new:
      • POST /api/system/product/pricesByCodes
      • Confirm it is working in the same way, as an old:
      • GET /api/system/product/pricesByCodes
      • The GET method was not changed, so just test if results are the same.
  62. KOD-28472: Parser from Ticket 38619
  63. KOD-28476: Rollout per-system globally
  64. KOD-28479: Vendor Invoice Grids - Make status and release status columns filterable by selection
    • Tests
    • Case 1
      • Go to /operations/vendor-invoices/search screen. Try to filter Status and Release Status . These filters are now lists of statuses that are checkable. Check if they appear and are working as expected.
  65. KOD-28483: Shipping Rules (adjustments)
    • Tests
    • Case 1
      • Open the website.
      • Log in.
      • Add a product to the cart.
      • Go to the Checkout Page.
      • Verify that the specified text is present on the page.
      • Appropriate shipping charges will be added for any incoming shipping charges on items not in stock and any applicable shipping methods such as Next Day, or Second Day Air.
  66. KOD-28485: Parser from Ticket 40099
  67. KOD-28487: PDSC Record/Promo Price Issue
  68. KOD-28488: Parser from Ticket 40110
  69. KOD-28495: Parser from Ticket 40070
  70. KOD-28496: Kodaris Order not being put on E-hold in CSD
  71. KOD-28499: Priority Payments - Fix capture auth flow for compliance
    • Case 1
    • Make an auth payment with AMEX card on a non-surcharging virtual terminal.
    • Capture auth.
  72. KOD-28501: Updates when orders released into CSD
  73. KOD-28502: Parser request From Ticket 31223
  74. KOD-28507: Create API to reset failedAttempts setting for Orders and Companies
    • Regression Tests
    • Case 1
      • In Swagger to go POST /api/system/order/{orderID}/resetPaymentDeclinedAttempts passing the orderID should delete the declinedAttempts Order Setting.
    • Case 2
      • In Swagger to go POST /api/system/company/{companyID}/resetPaymentDeclinedAttempts passing the companyID should delete the declinedAttempts Company Setting.
    • Case 3
      • In Swagger go to GET /api/system/company/readDetails/{companyID}, you should see the new declinedAttempts field coming from the list.
  75. KOD-28511: Update to preventing returns for older orders
    • Regression Tests
    • Case 1
      • We should validate that the start return order from the customer side continues working as before when the setting disableReturnOrdersOlderThanDays is off (set to 0).
    • Tests
    • Case 1
      • Validate when try to start a return order from customer side and this was invoiced before the amount of days specified in the new setting disableReturnOrdersOlderThanDays, this action will not be allowed otherwise yes.
      • Steps:
      • Set a value in setting disableReturnOrdersOlderThanDays.
      • Start a new return order from the customer portal.
      • If the other order was invoiced before the current date minus the amount in setting (the extra3 field represents the ERP Invoiced date) disableReturnOrdersOlderThanDays, the action will not be allowed otherwise the return order will be started.
      • NOTE : If the order does not have the ERP Invoiced date (extra3 field) set, the return order will be created normally.
  76. KOD-28512: Save index last time on all entities that are saved in OpenSearch
  77. KOD-28513: Shipping Options - Update UPS Ground code
  78. KOD-28514: Default site to Warehouse 0011
    • Tests
    • Case 1
      • The setting trendDefaultWarehouse is now multi-host capable so each host can have different default warehouse codes.
      • For 2 Orders each one with a different hostCode assigned and also 2 different trendDefaultWarehouse values for the hosts, change the delivery address on POST /api/system/order{orderID}/changeDeliveryAddress each Order should have the warehouseCode specified in the setting. Also the setting multiTenantMode must be enabled.
  79. KOD-28517: Parser request Created From Ticket 27562
  80. KOD-28519: Testing from ERP order # in Confirmation Configuration
  81. KOD-28521: UX for second round of credit app tweaks
    • Regression Tests
    • Case 1
      • Navigate to the /spcu/credit-application-register page.
      • Follow the process and confirm a new company is created with “Appling for Credit” status.
      • Fill in all fields and submit the form.
      • Confirm form is submitted.
      • Confirm status of the new company has changed to “Applied for Credit”.
      • Access internal file screen with “companyConfidentialInternalFileView“ role assigned to the employee.
      • Confirm the pdf is generated properly.
    • Case 2
      • On the credit application page confirm Tax Exempt functionality works as expected:
      • Under Business details locate “Tax Exempt” dropdown.
      • Confirm there are two values provided: “Yes”/”No”.
      • If “Yes” is selected two more blocks are displayed: “ Exempt Number ” and “Tax exemption certificate”.
      • Confirm those fields are required.
      • Upload file and refresh the page.
      • Confirm file processed properly.
      • Confirm the proper name of the file is displayed on the grayed out input without the ability of uploading a new file.
    • Case 3
      • On the credit application page locate “ EPA Certificate “ field under “ Business Details ”
      • Confirm this field is required.
      • Upload file.
      • Confirm file is uploaded properly by refreshing the page.
      • Confirm once a file is uploaded, it’s not allowed to reupload the file.
    • Tests
    • Case 1
      • On the credit application page locate “ Preferred Payment Method ”.
      • Confirm there are two options available: “Credit Account” and “Cash on Delivery”.
      • Select “Credit Account”.
      • Navigate to the owners section.
      • Add a new owner.
      • Confirm Driver License field is displayed.
      • Upload file.
      • Confirm file is uploaded by refreshing the page.
      • Confirm after the file is uploaded it is not possible to reupload the file.
      • Add a new owner and refresh the page.
      • Repeat steps 5-8.
    • Case 2
      • On the operations portal navigate to the Companies screen.
      • Select your company.
      • Go to customers tab.
      • Select a customer that has a file uploaded from the credit application.
      • Navigate to its Internal files with companyConfidentialInternalFileView employee role.
      • Confirm you can view the file from the operations portal and it’s available for download.
  82. KOD-28524: Ticket Number 25936 Created From Ticket 31048
  83. KOD-28526: Model Lookup Hide Buttons
    • Regression Tests
    • Case 1
      • Navigate to /spcu/lookup by searching for a valid model number.
      • Verify that the PartStream integration loads properly.
      • Verify that remaining button styles are correct.
      • Go to a valid product.
      • Click View Details.
      • Confirm the product panel displays correct information.
      • Test Add to Cart to ensure the cart integration works.
    • Tests
    • Case 1
      • Navigate to /spcu/lookup by searching for a valid model number.
      • Verify buttons New Search and Change Brand don’t appear anymore.
  84. KOD-28527: List Price from Prices By Codes
  85. KOD-28529: Install application for the Customer site