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

January 29, 2026 release notes

Highlights

Customer Portal

Secure Confidential File Upload in Customer Portal

The Customer Portal now supports confidential file uploads, providing a secure way to share sensitive documents directly through your account.

The new confidential file upload feature integrates seamlessly into the existing document management system. Users can access this functionality through the "Documents" section in their account, where a new "Attach Confidential File" option appears alongside the standard file attachment feature. Once uploaded, these files are clearly marked as "Confidential" and remain accessible for preview and download through the portal.

This enhancement streamlines the process of sharing sensitive information while maintaining proper security protocols. Confidential files uploaded through the Customer Portal are automatically visible to the operations team with appropriate designation, ensuring transparency and efficient communication. The feature maintains the same user-friendly interface as standard file uploads while adding the necessary security classification.

The confidential file upload feature is now available in the Customer Portal. For a complete walkthrough of the upload process, refer to the demonstration video that covers the step-by-step procedure from login to file verification in the Operations Portal.

https://youtu.be/FlA7q9w5eb4

Operations Portal

Enhanced Vendor Invoice Management: Additional Charges Modification

The Operations Portal now allows users to add, modify, and delete additional charges directly within the Vendor Invoice screen. Users can access the "Addl Charges" section on the right side of the invoice details page to manage supplementary costs such as freight, handling fees, or other vendor-specific charges.

The feature provides intuitive charge management through a streamlined interface. Users can select from predefined additional charges via a dropdown menu, with amounts automatically populated based on the charge type. Once added, charges can be edited by clicking directly on them to modify either the charge type or amount. The system automatically updates invoice totals in real-time as changes are made.

This feature is now available in the Operations Portal Vendor Invoice screen. View the complete walkthrough in the accompanying instructional video.

https://youtu.be/si2tMTnFJ3Y

Tickets

  1. KOD-25041: AI PIM project
  2. KOD-27573: Sync all records
  3. KOD-27698: Customer Account Creation for Guest Users
  4. KOD-27780: Manual Lockbox File Issue
  5. KOD-27929: Add bulk import users based on username
  6. KOD-28171: Integration
  7. KOD-28279: Customer Part Numbers
    • Regression Tests
    • Case 1
      • Check endpoint: /api/account/productCrossReference/{companyID}/list.
      • When we have a setting: erpLogicEngine with another value, ex: 'Trend', not ‘InforCSD’ → it returns cross reference records only with type = web_customer which is related to the company.
      • When setting: erpLogicEngine = InforCSD but not pass param: companyAddressCode → it returns cross reference records with type = web_customer and type = C which related to company.
      • When the setting: erpLogicEngine = InforCSD but pass param: companyAddressCode → it returns cross reference records with three types: ‘ web_customer’, ‘C' which related to company and type = H which related to companyAddressCode
      • You can add cross reference records with field: companyAddressCode by POST endpoint: api/system/productCrossReference because the UI side doesn't support new field:  companyAddressCode.
  8. KOD-28714: Add ability to change additional charge discount
    • Regression Tests
    • Case 1
      • Navigate to the Vendor Invoices page.
      • Choose any item and open the details page.
      • On the sidebar, go to the Add’l Charges tab.
      • Add new charge using + Add Charge form.
      • Confirm a new item was added and displayed values that match the data.
      • Confirm that the Add'l Charges and Total in the totals section were updated according to our changes.
    • Case 3
      • Verify you cannot add the same charge again if it already exists.
    • Tests
    • Case 1
      • Go to the Vendor Invoices page.
      • Choose any item and open the details page.
      • Find Add’l Charges in the sidebar.
      • Click on any item in the Add’l Charges list (either on the name or on the amount).
      • Confirm that a dialog window appears with the amount and charge fields pre-selected using the values of the selected charge and that the dialog title displays “Edit Additional Charge:
      • Clear the charge name field.
      • Verify that the dropdown menu appears with the same values as in the Additional Charge menu.
      • Type some characters to confirm that the autocomplete works correctly.
      • Choose a discount that is not yet in our list.
      • Confirm that all fields in the dialog were updated with the selected item’s data.
      • Click Change.
      • During saving:
      • The dialog window should stay open.
      • The Change button should change to Changing…
      • After the process finishes:
      • The charge should be updated with the selected values.
      • The dialog window must close automatically.
      • Add’l Charges and Totals sections must be successfully updated according to the changes.
    • Case 2
      • Open the dialog.
      • Choose the same item that is already selected.
      • Click Change.
      • Confirm:
      • The dialog window was closed automatically.
    • Case 3
      • If your Add’l Charges list has two items, proceed.
      • If not , add one more charge.
      • Click one of them to open its dialog.
      • Select an item that already exists in the list (but is not the one you clicked ).
      • Click Change.
      • Confirm:
      • If the selected discount already exists, it must not be added again
      • Confirm:
      • The dialog closed.
      • No data was changed.
    • Case 5
      • Open the dialog for any discount.
      • Change the amount .
      • Change
      • Confirm:
      • The amount for the current item was updated
      • Totals were updated.
    • Case 6
      • Open the dialog.
      • Choose another discount from the menu that already exists in the list, but is not the clicked one.
      • Change the amount .
      • Change
      • Confirm:
      • The amount was successfully updated for the newly selected item
      • The originally clicked item remained unchanged.
    • Case 7
      • Open the dialog window.
      • Click Change without selecting any charge.
      • Confirm:
      • The dialog closed.
      • No data was changed.
    • Case 8
      • Open the dialog window.
      • Enter invalid data into the fields or clear any of them.
      • Confirm that invalid data is not applied to any field.
      • The error message text may differ between the video and the site due to recent changes.
  9. KOD-28763: Add dropdown Option to Custom Ticket Indexed Fields
    • Regression Tests
    • Case 1
      • Check if the company Custom Fields is rendered properly with and without the dropdown.
      • You can use a test dropdown such as
      • {
      • "settingCode": "testDropdown",
      • "settingName": "Test Dropdown",
      • "solrField": "custom_testDropdown",
      • "isIndexed":false,
      • "fieldType": "dropdown",
      • "options": ["Option A", "Option B", "Option C"]
      • }
      • By going into Settings / integrationIndexedCompanyFields and adding it to the array of objects, be mindful of the commas.
      • Test the Custom Fields with and without the dropdown setting added to ensure it is rendered properly. With and then without the dropdown try editing other fields to make sure they all work properly.
    • Tests
    • Case 1
      • On Settings / integrationIndexedCompanyFields add a dropdown configuration, it could be the one specified on the regression test 1.
      • {
      • "settingCode": "testDropdown",
      • "settingName": "Test Dropdown",
      • "solrField": "custom_testDropdown",
      • "isIndexed":false,
      • "fieldType": "dropdown",
      • "options": ["Option A", "Option B", "Option C"]
      • }
      • Save it and check on a Company Custom Fields tab. The dropdown should be rendered.
      • Try renaming it or rendering it (moving it within the array) and it should reflect the updated name and position.
    • Case 2
      • Test if the selected option is saved. With the dropdown fields added on the settings either select or change the option and refresh the page.
      • Also change the option and navigate between company Details and Custom Fields to ensure it is persisted on refresh and navigation.
  10. KOD-29032: REST API Documentation for Pulling / Pushing Documents to IDM
  11. KOD-29093: View Customer Statement from dashboard
  12. KOD-29148: Excel to CSV formula issues for parsers
  13. KOD-29166: Automated Invoice Delivery Not Sending to Automated Invoice Delivery Section emails
    • Regression Tests
    • Case 1
      • Confirm that when we call “Send Invoice by ID”, we see a success message indicating that the script completed successfully.
    • Tests
    • Case 1
      • Сonfirm that when we call “Send Invoice by ID”, the email will be sent as follows:
      • It will be sent to the Company Address email1 if it is present and the Invoice Delivery field is not empty.
      • It will be sent to the Invoice Delivery Emails field on the company screen if it is not empty and the Company Address email1 is empty.
      • If all other fields are empty, it will be sent to the Contact Info email1 on the company.
  14. KOD-29212: Shop pricing calls to individual sub sites
  15. KOD-29217: CNH - Order Flow
    • Tests
    • Case 1
      • Ensure that the user script (generateCNHCheckoutCartFile) is working correctly, namely that a CSV file is generated as shown in the example.
      • Verify that the file is created on the orders screen, in the customer files tab.
      • Ensure that the file is successfully sent to the email address.
  16. KOD-29369: Check on Assigning an Attribute to Multiple Filter Categories
    • Tests
    • Case 1
      • Import attributes with duplicate codes using Create Update.
      • Steps (via Operations portal):
      • Go to Products > Filter Categories.
      • Create FacetGroups
      • Go to PIM > Attributes > Import > Create Update.
      • Upload attached and run import.
      • Go to Events, wait for event processing and verify no errors occurred.
      • Go to PIM > Attributes and verify that all ten attributes were imported successfully.
    • Case 2
      • Ensure Case 1 was completed.
      • Go to PIM > Attributes > Import > Create Update.
      • Upload the same test_attributes_with_duplicates.csv and run import again.
      • Go to Events, wait for event processing and verify no errors occurred.
      • Go to PIM > Attributes and verify:
      • No duplicate records created.
      • All existing records updated (not created new).
    • Case 3:
      • Delete some 3 attributes created before.
      • Go to PIM > Attributes > Import > Create Only.
      • Upload attached test_attributes_with_duplicates.csv and run import.
      • Go to Events, wait for event processing and verify that 3 records were created and 7 records were skipped.
      • Go to PIM > Attributes and verify that those three attributes were created successfully.
    • Case 4
      • Again delete some 3 attributes created before.
      • Go to PIM > Attributes > Import > Update Only.
      • Upload attached test_attributes_with_duplicates.csv and run import.
      • Go to Events, wait for event processing and verify 7 records were updated and 3 were skipped.
      • Go to PIM > Attributes and verify that those three attributes were not created.
  17. KOD-29454: Option to merge guest cart with logged in cart when logging in
    • Regression Tests
    • Case 1
      • Create an order.
      • Set the status as “Waiting For Approval”.
      • Go to the customers portal.
      • Click in the Order.
      • You should be able to see the “Edit button”.
      • Hit the edit button.
  18. KOD-29459: Statement showing incorrect amount due in email body
  19. KOD-29462: Order Changed
  20. KOD-29499: Allow customers to upload confidential files to their customer account docs
    • Tests
    • Case 1
      • New endpoint to upload Confidential CustomerFile (customer side):
      • POST api/account/customer/confidential/documents/upload
      • Navigate to the operations portal > your customer > customer files screen, check that you can now view and download uploaded confidential customer file(required employee role is - customerConfidentialCustomerFileView ).
    • Case 2
      • New endpoint to upload Confidential CustomerFile (employee side) - required employee role customerConfidentialCustomerFileEdit :
      • POST api/system/customer/{customerID}/confidential/customerFile/upload.
      • Navigate to the operations portal > your customer (customerID in endpoint path above) > customer files screen, check that you can now view and download uploaded confidential customer files (required employee role is - customerConfidentialCustomerFileView ).
  21. KOD-29532: Enable Product Configurator
    • Regression Tests
    • Case 1
      • Open product list.
      • Find a regular (non-configurable) product.
      • Confirm the “Add to Cart / Add to quote” button is displayed.
      • If the product contains a price: the price is displayed normally.
      • If the user is not logged in, the “Login for Pricing” string is displayed instead of the price.
    • Case 2
      • Confirming that our list looks good in list view , grid view , and catalog view .
    • Case 3
      • Navigate to the product page and confirm the page layout displays correctly.
    • Case 4
      • Click Add to Cart.
      • Go to cart
      • Confirm product is added.
      • Confirm description is correct and properly displayed.
    • Tests
    • Case 1
      • Open product list.
      • Find a product with a configurator.
      • Confirm “View Details” button is displayed instead of “Add to Cart/Add to quote”.
      • Click View Details.
      • Confirm you are redirected to the product details page.
      • Confirm 'Login for Pricing' is not displayed for configurable products.
      • If product contains price: confirm price is displayed.
    • Case 2
      • Confirming that our list looks good in list view , grid view , and catalog view.
    • Case 3
      • Go to the product details page.
      • Confirm configurator fields exist.
      • Change values in the configurator.
      • Confirm updated photos , description.
      • Confirm product photos behavior matches regular products (gallery, size).
      • Click Add to Cart.
      • Go to cart page.
      • Confirm selected options match what was chosen in configurator.
    • Case 4
      • Select a valid combination.
      • Confirm invalid options are light gray.
      • Select an invalid combination.
      • Confirm invalid selection is auto-adjusted to a valid one.
    • Case 5
      • Open the dropdown.
      • Click outside.
      • Confirm the dropdown closes.
      • Open the dropdown again.
      • Navigate using Arrow Up/Arrow Down.
      • Press Enter to select the value.
      • Confirm value is changed (selected).
      • Open dropdown again.
      • Navigate with arrows but do not select any option > click Add to Cart.
      • Confirm value stays unchanged.
    • Case 6
      • Open product with configurator.
      • Confirm that at least one selection field already has its first default value.
      • If for any reason the product does not have default selected variants (can happen if product variants were added incorrectly to the configurator) > click Add to Cart and confirm product is not added to cart.
    • Case 7
      • Navigate to the product page with the configurator.
      • Select a specific configuration (e.g., color "Red", size Small)
      • Add the product to cart.
      • Navigate to the cart page.
      • Click on the added product in the cart.
      • Confirm the configurator automatically has the same option selected that was added to cart (color "Red", Size Small).
  22. KOD-29537: Implementation - Report issues and fixes
  23. KOD-29565: Customer is not able to choose Alternate store from MyStore selection
  24. KOD-29566: Update cart warehouse titles to pull from full warehouse list if multiTenantModeDisplayAllWarehouses is on
    • Tests
    • Case 1
      • Search for a product.
      • Add the product to the cart.
      • Go to the cart page.
      • Verify the "Pickup" section header shows the full warehouse name
      • Verify all active warehouses are displayed in the warehouse selection, not just host-specific ones.
  25. KOD-29567: Show customer's selected warehouse for pickup option on delivery items
    • Production Status
    • Case 1
      • Navigate to the product list page.
      • Search for any product.
      • Verify the Pickup option shows "Ship to [customer's selected warehouse city] "
      • Click on the product to go to product details page
      • Verify the Pickup option shows "Ship to [customer's selected warehouse city] "
    • Tests
    • Case 1
      • Search for any regular product (non drop-ship).
      • Select the Delivery option.
      • Add the product to the cart.
      • Navigate to the cart page.
      • Verify the Pickup option displays the customer's selected warehouse city.
      • Switch the item from Delivery to Pickup.
      • Verify the item is now set to the customer's selected warehouse.
    • Case 2
      • Search for a drop ship product.
      • Select the Delivery option.
      • Add the product to the cart.
      • Navigate to the cart page.
      • Verify the Pickup option displays the customer's selected warehouse city.
      • Switch the item from Delivery to Pickup.
      • Verify the item is now set to the customer's selected warehouse.
    • Case 3
      • Search for any product.
      • Select the Pickup option.
      • Add the product to the cart.
      • Navigate to the cart page.
      • Click on the warehouse city link in the pickup option.
      • Verify the warehouse selection panel opens.
      • Select a different warehouse from the list.
      • Verify the item's warehouse is updated to the newly selected warehouse.
      • Verify the pickup option displays the new warehouse city.
    • Case 4
      • Change the customer's selected warehouse (via header dropdown).
      • Search for any product.
      • Click on the warehouse city link to open the panel.
      • Select a different warehouse (not the customer's selected warehouse).
      • Add the product to the cart with a pickup option.
      • Navigate to the cart page.
      • Verify the item's warehouse is the one selected in step 4 (not the customer's selected warehouse).
  26. KOD-29568: Implementation - ERP User
  27. KOD-29581: Invoice Number Mapping Update
  28. KOD-29586: Platform - Document Automation Flow V2
  29. KOD-29590: Product Configurator - Secondary images display
    • Regression Tests
    • Case 1
      • Preconditions:
      • Regular product exists (productDisplayType NOT "Configurator").
      • Product has multiple images attached (1 primary + 1 secondary).
      • Product has NO variants/related products.
      • Navigate to the regular product page.
      • Observe the product image carousel.
      • Verify all product images are displayed.
      • Navigate through the carousel.
      • Check that no console errors appear.
      • Expected Result:
      • Carousel displays all product images (primary + secondary).
      • No duplicate images appear.
      • No JavaScript errors in the console.
      • No changes in behavior compared to before the configurator inheritance feature.
    • Tests
    • Case 1
      • Variant without own images inherits all parent images.
      • Preconditions:
      • Configurator product exists with 3 images (1 primary + 2 secondary).
      • Variant product exists with NO images/files attached.
      • Variant is related to the configurator as relatedType: "ConfiguratorVariant"
      • Navigate to the configurator variant product page (e.g., /CouchTestMediumGreen).
      • Observe the image carousel.
      • Expected Result:
      • Carousel displays 3 images (all inherited from parent configurator product)
      • Images match the parent product's primary + secondary images.
      • No duplicate images appear.
      • Carousel navigation works correctly.
    • Case 2
      • Variant with own images shows ONLY own images.
      • Preconditions:
      • Configurator product exists with 3 images.
      • Variant product exists with 2 own images (one as primary and second one as secondary).
      • Variant is related to configurator as relatedType: "ConfiguratorVariant".
      • Steps:
      • Navigate to configurator variant product page (e.g., /CouchTestMediumRed).
      • Observe the image carousel.
      • Expected Result:
      • Carousel displays 2 images total (ONLY own images, NO inherited).
      • Parent images are NOT displayed.
  30. KOD-29594: Update Acknowledgment Email Template to Display Dynamic Shipping Method Selection
    • Tests
    • Case 1
      • Open the Operations Portal.
      • Locate or create an order.
      • Find an existing order or create a new one for testing.
      • Configure order shipping settings.
      • Set Shipping Method to (“Truck Run”).
      • Ensure that the company associated with the order has
      • defaultShipViaCode configured
      • Generate order message.
      • Select the wrappedOrderEmail template.
      • Verify that the Ship Via code is displayed.
      • Ensure the code is taken from defaultShipViaCode.
      • Verify behavior for quotes.
      • Navigate to Quotes.
      • Repeat the same steps for a quote.
      • Verify Commerce PDF output.
      • Open the Commerce PDF for the created orders and quotes.
      • Verify that the Ship Via code is displayed correctly.
      • Verify Order confirmation on the commerce site.
  31. KOD-29606: Kodaris - Port Form Script
  32. KOD-29624: Add Statement Button to header and footer
    • Regression Tests
    • Case 1
      • Navigate to the platform and confirm the header looks correct in the desktop view.
      • Open the mobile menu and confirm it is displayed correctly and functions without any issues.
    • Tests
    • Case 1
      • While not logged in.
      • Confirm no changes are present in the header in the desktop view.
      • Open the mobile menu > My Account and confirm nothing has changed there as well.
    • Case 2
      • Log in to the platform.
      • In the header (desktop view) :
      • Confirm a new link “View Statement” is displayed between “Order History Status” and “Invoices”.
    • Case 3
      • Switch to mobile view.
      • Open Menu > My Account.
      • Confirm the “View Statement” link is present there as well.
  33. KOD-29633: Template Update
  34. KOD-29637: Emails created from ticket do not appear in ticket emails list
    • Regression Tests
    • Case 1
      • Check whether created Emails from tickets appear in the ticket emails list.
      • Before sending, please check whether setting: isEmailSendingFromJob is turn on.
      • Then go to some ticket page and select the button: “ compose Email “.
      • fill the email and send →
      • the email should appear on the ticket email list page: operations/tickets/7310/emails after sending.
  35. KOD-29649: Move Tender on Orders Phase 1
    • Tests
    • Case 1
      • Move Payment to Order Existing in Kodaris.
      • Prerequisites:
      • Open up logs.
      • Have an existing payment record that has been synced from CSD.
      • Have an existing order in Kodaris with a known extra5 value (CSD order number).
      • Note the payment's current externalOrderNumber and any linked OrderPayments.
      • Steps:
      • Open Swagger at /api/system/inforCSD/payment/moveToOrder.
      • Login as a user with "administrator" or "inforCSDEdit" role.
      • Enter the paymentID of the existing payment.
      • Enter the erpOrderNumber matching the extra5 of the target order (e.g., "1234-0").
      • Execute the endpoint.
      • Expected Results:
      • Response status: 200 OK.
      • Payment is being synced to ERP by logs.
      • Response body contains PaymentView with updated externalOrderNumber.
      • If payment had jsonPaymentDetails populated, verify externalOrderNumber is updated in all entries.
      • Verify on Account Receivables screen that payment got updated to a new external order number.
      • Open this payment on Account Receivables, check it Internal Comment, that this payment was moved.
      • Verify on the Order Payments screen that the order got linked to this payment.
    • Case 2
      • Move Payment to Order NOT Existing in Kodaris (CSD-only order).
      • Prerequisites:
      • Have an existing payment record with linked OrderPayments.
      • Have a CSD order number that does NOT exist in Kodaris (no order has this extra5 value).
      • Open Swagger at /api/system/inforCSD/payment/moveToOrder.
      • Login as a user with a "superuser" role.
      • Enter the paymentID of the existing payment.
      • Enter an erpOrderNumber that does NOT exist in Kodaris (e.g., "9999-9")
      • Execute the endpoint.
      • Expected Results:
      • Response status: 200 OK.
      • Response body contains PaymentViewDto with externalOrderNumber = "9999-9".
      • If payment had jsonPaymentDetails populated, verify externalOrderNumber is updated in all entries.
      • Verify on Account Receivables screen that payment got updated to a new external order number.
      • Open this payment on Account Receivables, check it Internal Comment, that this payment was moved.
    • Case 3
      • Open Swagger at /api/system/inforCSD/payment/moveToOrder
      • Login with appropriate role.
      • Enter a paymentID that does not exist (e.g., 999999999).
      • Enter any valid erpOrderNumber format.
      • Execute the endpoint.
      • Expected Results:
      • Response status: 404 Not Found.
      • Error message indicates Payment not found.
    • Case 4
      • Error - Moving Payment to Same Order
      • Prerequisites:
      • Have a payment with externalOrderNumber = "1234-0".
      • Steps:
      • Open Swagger at /api/system/inforCSD/payment/moveToOrder
      • Login with appropriate role.
      • Enter the paymentID of the payment.
      • Enter erpOrderNumber = "1234-0" (same as current).
      • Execute the endpoint.
      • Expected Results:
      • Response status: 400 Bad Request.
      • Error message: "Payment is already associated with order 1234-00".
  36. KOD-29655: Implementation - Countries / States
  37. KOD-29658: Required Field on Contact Us Page
    • Regression Tests
    • Case 1
      • Make sure the form is displayed and the data is submitted when the form is submitted.
    • Tests
    • Case 1
      • Make sure the form is not submitted if no checkboxes are selected.
  38. KOD-29659: Ticket 260 - Privacy Policy Edits
  39. KOD-29666: Implementation - Branding
  40. KOD-29667: parse issue
  41. KOD-29669: Shop Pricing Updates
  42. KOD-29673: Order / Invoice Documents - Changes
    • Regression Tests
    • Case 1
      • Check that the order templates still generate without issues.
    • Tests
    • Case 1
      • Check that the dates in the templates are now in the format: mm/dd/yy instead of yyyy-mm-dd.
    • Case 2
      • The $ should be removed from all prices.
    • Case 3
      • Quantities and discounts should be displayed with two decimal places.
    • Case 4
      • In the template headers, the website and email should now link out appropriately.
    • Case 5
      • The item description box in the items section should now be bigger, approx. 40% of the row length.
    • Case 6
      • The general spacing, font size, and padding of the templates should more match the customer example invoices now.
      • The font-size was reduced to 7pt, the font was already Arial, and we reduced the cell padding and general spacing throughout the templates.
    • Case 7
      • The order notes should now be displaying line breaks and how they are on the example invoices.
  43. KOD-29679: Add Statements Link to Header
    • Regression Tests
    • Case 1
      • Make sure the header still loads on the website as well as the hamburger menu also still loads fine when the page is small enough.
    • Tests
    • Case 1
      • Notice on the header there is now a button for Statements → click that button → if you are logged in, it will take you to the documents page in the customer portal → if you are not logged in, it will route you to log in and then redirect you back to the documents page in the customer portal.
    • Case 2
      • Make sure you are logged in → when the page is small enough to have the hamburger menu, click to open in → notice the Statements option under My Account → click the link → it should redirect you to the documents page in the customer portal.
  44. KOD-29682: CSD Order Number No Longer Displays on Payment Confirmations
    • Regression Tests
    • Case 1
      • Make payments on the deposits screen as a customer. You will receive message about successful payment. In the operations portal on email screen you can see new email created with title “Payment made by …” and verify that this email still looks good.
    • Case 2
      • Make payments on an open invoices screen as a customer. You will receive a message about successful payment. In the operations portal on the email screen you can see a new email created with the title “Payment made by …” and verify that this email still looks good.
    • Case 3
      • Make payments on COD link for order. In the operations portal on the email screen you can see a new email created with the title “Payment made by …” and verify that this email still looks good and the order number is still shown.
  45. KOD-29688: CSD Credit/Refund Not Found Error
  46. KOD-29689: Verifying routing of form submissions
  47. KOD-29691: Tweak to proprietary products logic
  48. KOD-29698: Add assignees endpoints to intranet page and intranet page drafts
    • Tests
    • Case 1
      • Check new endpoints:
      • intranetPage =>
      • GET /api/system/intranetPage/{intranetPageID}/employeeAssignment/{employeeAssignmentID} - Read Employee Assignment.
      • POST /api/system/intranetPage/{intranetPageID}/employeeAssignment - Create Employee Assignment
      • PUT /api/system/intranetPage/{intranetPageID}/employeeAssignment/{employeeAssignmentID} - Update Employee Assignment
      • DELETE /api/system/intranetPage/{intranetPageID}/employeeAssignment/{employeeAssignmentID} - Delete Employee Assignment
      • POST /api/system/intranetPage/{intranetPageID}/employeeAssignment/list - List Employee Assignments
      • intranetPage Draft=>
      • GET/api/system/intranetPage/draft/{intranetPageID}/employeeAssignment/{employeeAssignmentID}
      • - Read Draft Employee Assignment
      • POST /api/system/intranetPage/draft/{intranetPageID}/employeeAssignment - Create Draft Employee Assignment
      • PUT /api/system/intranetPage/draft/{intranetPageID}/employeeAssignment/{employeeAssignmentID} - Update Draft Employee Assignment
      • DELETE /api/system/intranetPage/draft/{intranetPageID}/employeeAssignment/{employeeAssignmentID}
      • - Delete Draft Employee Assignment
        • POST /api/system/intranetPage/draft/{intranetPageID}/employeeAssignment/list - List Draft Employee Assignments
  49. KOD-29704: Products Still Displaying Even When Set to "No"
    • Tests
    • Case 1
      • Update or create a product with field Display = No.
      • Add product to customer Warehouse.
      • Go to My Products view and verify that the product is not present.
    • Case 2
      • Repeat case 1 but product should have field isActive = No
  50. KOD-29706: Kodaris ERP-UX Update to Serverside Export Method
    • Tests
    • Case 1
      • Go into Inventory Conversions on the operations portal.
      • On the table click File and Export, before clicking Save right click and inspect element and check the network tab, leave the network tab to check the API call and then click save.
      • Open the saved filed to verify the data and validate that the network tab has an API call to icss export
  51. KOD-29713: Payment Update - Choose Payment Flow Specific Terminal
  52. KOD-29718: Skip "pcat" in Product Import
    • Regression Tests
    • Case 1
      • Go to Products → Products → Data.
      • Import products from test document by using File → Imports → - Create Partial Update.
      • Wait 5 minutes until products are imported.
      • Go to the products table, check imported products. Go to the developer fields of each product and check that there’s no prodcat field created.
  53. KOD-29735: Homepage Carousel Button Tweaks
    • Regression Tests
    • Case 1
      • Ensure that the homepage carousel slider is functioning correctly.
    • Tests
    • Case 1
      • Ensure that the options have been added for the “CM: Section: Slider 2” slider to select whether links open in a new tab or in the current tab.