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

September 26, 2024 release notes

Tickets

  1. KOD-16996: Purchase Orders: Generate PDF functionality
    • Tests
    • Case 1
      • Swagger → Endpoint to generate the PDF file:
        • /api/system/purchaseOrder/{purchaseOrderID}/generateInternalPDF
      • Swagger → Endpoint to check and download the generated PDF file:
        • /api/system/purchaseOrder/{purchaseOrderID}/internalFile/{internalFileID}/view
  2. KOD-18655: Remove recaptcha on the Contact Forms emails
  3. KOD-19657: Additional Items to Translate
    • Regression Tests
    • Case 1
      • In Customer portal check if sidebar menu is displaying correctly in different languages.
      • Go to Notification and check if notifications is displaying correctly.
      • Navigate to the Employee and verify if 'Add API User' is functioning properly, and if the submit button displays 'Create' in the default English language.
      • Check session expired modal and message if it’s working correctly and display message in default English language.
    • Tests
    • Case 1
      • In The operations portal set message in other language for each value from the list below.
      • Notifications - label on the menu.
      • In Notification view - “Notify me when”.
      • Labels within notifications. example: “An order was placed”.
      • Session expired message.
      • “Create” and “Creating…“ button within modal → Employee → Add API User.
  4. KOD-19848: Import secondary site product images
  5. KOD-20727: Support receiving invoices to Kodaris / Vendors from multiple email addresses
  6. KOD-20806: Fix Geocode Error on Order Insert
  7. KOD-21076: Implementation - Cross reference
  8. KOD-21080: Update Surcharge/Fee Language in Customer Email
    • Regression Tests
    • Case 1
      • Make a COD payment when convenience fee is enabled - should went through successfully.
    • Case 2
      • Pay open invoices in Customer Portal when convenience fee is enabled - should went through successfully.
    • Tests
    • Case 1
      • Added convenience fee type in scope:
      • convenienceFeePayment
      • it is located along with convenienceFeePayment object:
      • systemEventData.convenienceFeePayment
      • Use it where needed in emails.
  9. KOD-21157: Salesforce - Fix company admin checkbox
  10. KOD-21400: Issue Making Payment Immediately After Adding Method
    • Regression Tests
    • Case 1
      • Open the Customer Portal.
      • Verify that there are active payment methods (cards) added.
      • If there are no active cards, add 1-2 cards for testing purposes.
      • Select an invoice.
      • Click on the Actions button and choose Pay Selected Invoices.
      • Ensure there are no errors displayed in the console.
      • Click on Add a Payment Method.
      • Fill out the form using test card details provided by the testing environment.
      • Click Make Payment.
      • Verify that the payment is processed successfully without any console errors.
      • Ensure no console errors are present during the process.
      • Confirm that the card is added successfully.
    • Tests
    • Case 1
      • Open the Customer Portal.
      • Verify that there are no active payment methods (cards) added.
      • Select an invoice.
      • Click on the Actions button and choose Pay Selected Invoices.
      • Ensure there are no errors in the console.
      • Click on Add a Payment Method.
      • Fill out the form using a test card (test site-specific test card details).
      • Click Make Payment.
      • Confirm the operation is completed successfully, with no errors.
  11. KOD-21513: Custom Parser
  12. KOD-21584: Implementation process training
  13. KOD-21594: Mobile Applications Branding
  14. KOD-21610: Add to Cart function
  15. KOD-21632: Hide + Restrict adding direct shipped products to cart
  16. KOD-21634: Support Warehouse Order Email Notifications with Delayed Email Sending Turned On
    • Regression Tests
    • Case 1
      • We want to confirm the emails are sent when the setting "doNotSendOrderConfirmationEmail" is disabled.
    • Case 2
      • Settings:
      • "doNotSendOrderConfirmationEmail" in 1.
      • "disableSavingNewOrderEvent" in 1.
      • "notificationEmailTO" with a email as value.
      • The ‘notificationEmail’ only should be sent for customer placed order, not employee.
      • We need to create an order from the operations portal and then release the order and confirm the emails are not being created for this flow.
      • Emails with type ‘notificationEmail' should not exist.
      • To confirm the order is employee side, the setting "isCustomerOrder" in the order should have the value '0’.
    • Tests
    • Case 1
      • Settings:
      • "doNotSendOrderConfirmationEmail" in 1.
      • "disableSavingNewOrderEvent" in 1.
      • "notificationEmailTO" without value.
      • "useLocationEmailForOrderNotifications" in 0.
      • Create a new order logged in as a Customer.
      • Expected result: It should only be 1 email created of type ‘invoiceEmail’.
    • Case 2
      • Settings:
      • "doNotSendOrderConfirmationEmail" in 1.
      • "disableSavingNewOrderEvent" in 1.
      • "notificationEmailTO" with a email as value.
      • "useLocationEmailForOrderNotifications" in 0.
      • Create a new order logged in as a Customer.
      • Expected result: It should be 2 email created. One of type ‘invoiceEmail’ and one for type ‘notificationEmail’.
      • The second one should be sent to the email you set in the general setting ‘notificationEmailTO’.
    • Case 3
      • Settings:
      • "doNotSendOrderConfirmationEmail" in 1.
      • "disableSavingNewOrderEvent" in 1.
      • "notificationEmailTO" with a email as value.
      • "useLocationEmailForOrderNotifications" in 1.
      • Do NOT have the "notificationEmailTO" setting in the warehouse associated to the address when creating the order.
      • Create a new order logged in as a Customer
      • Expected result: It should be 2 email created. One of type ‘invoiceEmail’ and one for type ‘notificationEmail’.
      • The second one should be sent to the email you set in the general setting ‘notificationEmailTO’.
      • The scenario expected result would be the same than case 2 even though the "useLocationEmailForOrderNotifications" is ON.
      • Then, create the setting in the warehouse associated and put another valid email.
      • Create another order using that warehouse.
      • In this case, the expected result should be that the email of type ‘notificationEmail’ should be sent to the emails from the warehouse (So it should override the global setting).
    • Case 4
      • Settings:
      • "doNotSendOrderConfirmationEmail" in 1.
      • "disableSavingNewOrderEvent" in 1.
      • "notificationEmailTO" with an empty value.
      • "useLocationEmailForOrderNotifications" in 1.
      • Have the "notificationEmailTO" setting with an empty value.
      • Create a new order logged in as a Customer.
      • Expected result: It should be only 1 email sent to the email filled in to the order. (Unless setting "sendDelayedOrderEmailConfirmationToCustomerWhoPlacedOrder" is ON, in that case the email will go to the customer).
  17. KOD-21668: Drag & Drop - Check Quantities Populated
  18. KOD-21723: Implementation - Payment Provider
  19. KOD-21749: Set up tax engine on CA
  20. KOD-21764: Surcharge for COD Flow
    • Regression Tests
    • Case 1
      • Convenience fee/surcharge is not set up.
      • Expected result:
        • It’s possible to generate order email.
        • It’s possible to request payment on order.
        • It’s possible to open COD payment page and complete the payment.
    • Tests
    • Case 1
      • Convenience fee/surcharge is set up.
      • Request payment on an order.
      • Expected result: order email contains info regarding the convenience fee/surcharge amount.
    • Case 2
      • Convenience fee/surcharge is set up.
      • Request payment on an order.
      • Open the payment link from the email.
      • Expected result:
        • OD payment page contains info regarding the convenience fee/surcharge amount.
        • It’s possible to complete the payment.
  21. KOD-21765: Order template investigations
  22. KOD-21773: Parser Automation General Development
  23. KOD-21778: Remove customer requests from analytics in operations portal
    • Regression Tests
    • Case 1
      • Side Menu works correctly.
      • Make sure that different items are working correctly and can navigate as usual.
    • Tests
    • Case 1
      • Make sure that you cannot find the “Customer Request“ page.
  24. KOD-21779: Kodaris Demo - Add POD email update to demo site
    • Regression Tests
    • Case 1
      • Check that the order email and order pdf still generate/look correct with no errors.
    • Tests
    • Case 1
      • When generating both order email and order pdf, choose the display pod option = ‘Yes’.
      • On the resulting email/pdf, a new column should appear in the order items section, reflecting the 'quantityCustomerReceived' on the order item.
  25. KOD-21789: Surface Host Code / Website Code on Accounts Receivable Screen
    • Regression Tests
    • Case 1
      • Log in to the system.
      • Navigate to the "Accounts Receivable" screen.
      • Open the "Data" section.
      • Verify that additional columns can be added:
      • Click on the "view column" icon.
      • Select any available column names.
      • Ensure that the selected columns are displayed correctly.
      • Select any column.
      • Replace its value.
      • Ensure that the changes are reflected correctly in other columns as well.
      • Click on the arrow icon.
      • Ensure that the system navigates to the detailed view successfully.
      • Ensure that drag-and-drop for columns works correctly and without errors.
    • Tests
    • Case 1
      • Log into the system.
      • Navigate to the Accounts Receivable screen.
      • Open the Data section.
      • Click on the "view column" icon.
      • Select the "Host Code" column.
      • Ensure the Host Code column is now displayed on the screen.
      • Verify that the user can hide the Host Code column again.
  26. KOD-21813:Send Country Code On Orders to CSD
  27. KOD-21817: Lockbox screen - Hide the options for the API method
    • Tests
    • Case 1
      • On the operations portal navigate to AR/AP section → Lockbox.
      • Select the "Batch Out Method" value equal to 'API'.
      • Make sure that we do not show the sections "Enable batch out per host, Lockbox upload method, lockbox Filename, Lockbox number".
    • Case 2
      • On the operations portal navigate to AR/AP section → Lockbox.
      • Select any value of "Batch Out Method" other than ‘API’.
      • Make sure that we show all necessary sections.
    • Case 3
      • On the operations portal navigate to AR/AP section → Lockbox.
      • Select the "Batch Out Method" value equal to 'API'.
      • Make sure that we do can select 'YES' in "Enable Batch Out" section. And there is no error message that we need to fill in other fields.
  28. KOD-21831: Mark products syncing over from the ERP do not display
  29. KOD-21836: Customer roles export - change data format
  30. KOD-21840: Autogenerate a company code
  31. KOD-21841: Surcharge for COD Flow - Add validation
    • Regression Tests
    • Case 1
      • Test COD payments.
    • Case 2
      • Test order email: generate and send in the operations portal.
    • Tests
    • Case 1
      • Added convenienceFee in scope of order email, when requesting COD payment.
      • UX team will need to update orderEmail.ejs}/orderEmailV2.ejs template(s) to display convenience fee (surcharge amount).
      • Example of usage:
        <% if(convenienceFee && convenienceFee > 0) { %>
        <p>
        *For payment with credit card - convenience fee will be applied: <b>$<%= app.encodeForHTML(convenienceFee) %>.</b><br/> If you are paying with debit or prepaid card - no fees for this payment.
        </p>
        <% } %>
    • Case 2
      • Added "convenienceFee" in scope of COD payment page.
      • UX team will need to update "codPayment.ejs" template to display convenience fee
  32. KOD-21858: Testing & Website Issues - Part 2
  33. KOD-21861: Convert Home Page to CMS
  34. KOD-21862: Content - Update links within content pages
  35. KOD-21867: POD order exception delivered column not showing data
  36. KOD-21868: Cart testing suite
  37. KOD-21874: Parser Error
  38. KOD-21886: IDM Updates
  39. KOD-21894: Automatically find AP invoice vendor by the purchase order number
  40. KOD-21897: Make Company Code Optional when Creating Company in Ops Portal
    • Regression Tests
    • Case 1
      • Open the Operations Portal.
      • Navigate to the Companies Screen.
      • Click on the “Add Company” button.
      • Fill in the “Code” field with a custom code.
      • Fill in the “Name” field.
      • Click the “Add” button.
      • Verify that the company is created correctly with the specified code.
    • Tests
    • Case 1
      • Open the Operations Portal.
      • Navigate to the Companies Screen.
      • Click on the “Add Company" button.
      • Leave the “Code” field empty.
      • Fill in the “Name” field.
      • Click the “Add” button.
      • Verify that the system automatically generates a code for the new company.
  41. KOD-21898: Allow saving typed value in autocomplete when pressing Enter
    • Regression Tests
    • Case 1
      • On the following tabs:
        • Order Items
        • Quote Items
        • Cash Quote Items
      • Make sure that grids loaded with no issues.
      • Each field is placed in the corresponding cell on the grid. If field is editable you should be able to edit that field.
    • Case 2
      • On the same tabs check “Type“ column. Make sure you’re able to select and save value from the dropdown by or mouse click outside of type cell.
      • Make sure you can type desired value in the Type column and click outside of this column → after outside click your typed value should be saved.
    • Case 3
      • Go to Tax Rates tab.
      • You can check Trend State Code column.
      • Click that column.
      • If it was previously empty make sure you see dropdown with possible values. First value should not be selected by default.
      • If the column value is not empty, make sure after click dropdown contains values which match your existent value by first letter.
      • Make sure you cannot save not-existent value in the list when you type it from your keyboard. (You should be able to see red toast message with error) And when you refresh table, previous value should remain in the cell you were trying to update with the empty value.
    • Case 4
      • Make sure autocomplete when placed in grid cell works with no issues.
      • You can check companies data → Host code column.
    • Tests
    • Case 1
      • On the following tabs:
        • Order Items
        • Quote Items
        • Cash Quote Items
      • Make sure that grids loaded with no issues.
      • Add Type column to the grid. Make sure you are able to type from the keyboard.
      • Make sure your typed value is saved in the cell after you’ve pressed “Enter”.
  42. KOD-21899: Website login account display
    • Regression Tests
    • Case 1
      • Check that header still looks good.
    • Case 2
      • Check that you can still log in as a customer and after login header still looks good.
    • Tests
    • Case 1
      • When you log in as a customer, you should see your username under view account.
    • Case 2
      • If your customer account have first name and last name, you should see first and last name in header when log in.
  43. KOD-21901: Automatically Update Kodaris Company with Custno After Insert into ERP
  44. KOD-21905: Customer App - Add option to hide product images
    • Tests
    • Case 1
      • New public endpoint created: /api/user/customer/configuration.
      • If it is a non logged in customer, it will return just the new customerAppDisableProductImages setting.
      • If it is logged in as Customer, it will return the same as /api/account/customer/configuration
  45. KOD-21907: COD Payment Link Issue
    • Regression Tests
    • Case 1
      • Check that you can still make a payment using COD payment link (use Android).
    • Case 2
      • Check that you can still make a payment using COD payment link (use desktop version).
    • Case 3
      • Check that you can still place an order for logged in user (use desktop version).
    • Case 4
      • Check that you can still place an order for logged in user (use Android).
    • Case 5
      • Check that you can still place an order for guest (use Android).
    • Case 6
      • Check that you can still place an order for guest (use desktop version).
    • Tests
    • Case 1
      • Сheck if you can place an order with credit card for guest (use IOS).
    • Case 2
      • Сheck if you can place an order with credit card for logged in user (use IOS).
    • Case 3
      • Check that you can make a payment using COD payment link (use IOS).
  46. KOD-21908: Fix invoice email sending when there are many attachments
    • Regression Tests
    • Case 1
      • We should just make sure that sending email is working with and without attach files.
      • You can send an email from Company/Order tab if those have customer files attached. So find an order or a company which has customer files and send the email from operation portals attaching the files.
      • Make sure you receive the email with the files.
      • If you want test with more files or specific files, you can use the following endpoint in swagger:
      • /api/system/email/sendEmail
      • And attach customerFiles and internalFiles.
      • We want to test when sending from the Job as well, so the test should be perform with setting "isEmailSendingFromJob" enabled/disabled.
  47. KOD-21913: Content - Update links within content pages
  48. KOD-21915: Process Error DQ Events first
    • Tests
    • Case 1
      • We will be processing DQ events with errors and without errors independently.
      • processDQErrorEventsLimitPerRun defines the limit per run for error events (By default is 500).
      • processDQEventsLimitPerRun defines the limit per run for new events (By default is 500).
      • If we set those values in the job, we can test that now are separate events and, if we have syncError events and new events we will always process both.
      • Testing scenario:
      • First create 2 DQ events and make them fail (Puting a invalid external Order number).
      • Use the following endpoint: api/system/integration/dq/webhook/deliveryEvent and the following payload:
        • {
          "deliveryID": "anyNameHere",
          "orderNumber": "123123132-1",
          "stopNumber": 1
          }
      • Then run the fiveMinuteIntervalJob (or wait 5m) and confirm that the events appear with status ‘SyncError’.
      • Now, create 2 new events without errors (Put a valid external order Number in the payload).
      • Make sure of changing the deliveryID in each case to avoid having differente errors of duplicate.
      • Then, set the processDQEventsLimitPerRun to = 1.
      • and processDQErrorEventsLimitPerRun to = 1 in the FiveMinuteIntervalJob and wait until it runs.
      • Expected result: One of the SyncError events should be run (You can notice that by checking the lastModifiedData in the event).
      • One of the events without errors should be processed and the status completed should change to true.
  49. KOD-21917: Implementation - Nonstocks UX Piece
    • Regression Tests
    • Case 1
      • On Quote Items, Cash Quote Items, and Order items screen make sure pages and grids are loaded with no issues.
    • Tests
    • Case 1
      • On Quote Items, Cash Quote Items, and Order items screen:
      • Make sure 3 new columns were added to column list:
        • Product Category
        • Product Line
        • Vendor Code
      • Add them to the grid. Make sure they’re sortable.
  50. KOD-21918: Updates to checkout step 3 UI
  51. KOD-21920: Change Product Default Image
    • Regression Tests
    • Case 1
      • Check that on category, search, product details and product sliders, they still appear correctly without errors.
    • Case 2
      • Check that the default product image on the site is still the normal blank image (not the logo).
    • Tests
    • Case 1
      • Check that on category, search, product details and product sliders, the default image on the site is the site logo.
  52. KOD-21924: Add custno into the email subject
  53. KOD-21923: Display ERP order number instead of Kodaris number
  54. KOD-21927: Fix Category order on welcome page
  55. KOD-21939: Surface Host Code / Website Code on Accounts Receivable Screen
    • Regression Tests
    • Case 1
      • We can navigate through the Account Receivable Search and Data screen and make sure we can see the data.
      • Also go to the details of any payment and confirm no errors appears.
    • Tests
    • Case 1
      • In the Account Receivable Search screen now we should be able to see the field ‘hostCode’.
      • (In network tab, you could see the response under /api/system/payment/search)
  56. KOD-21952: Surface Host Code / Website Code on Accounts Receivable Screen