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

August 29, 2024 release notes

Highlights

Operations Portal

Customize order and invoice forms (e.g. order templates) 

With this release, you now have the ability to customize order and invoice templates! You can edit the current fields so that they display exactly the information you want to include in your invoices. For example, you can change the “PO #” field to say “Customer” and showcase the customer’s email address instead of the purchase order number. 

You can customize the following order/invoice templates:

To make changes to these templates, you will need to edit the templates within the Operations Portal. Watch this video to learn how. Please keep in mind that based on your Kodaris system configuration you may need to reach out to your Kodaris account manager to configure your system to allow such customization.

https://www.youtube.com/watch?v=6HJhpjJK2s8

Require “Type” field when setting up shipto on a Quote

You can now choose to require the “Type” field be filled out on a Quote when setting up a shipto. This will only take effect if you’ve configured the jobTypes setting with types listed. 

Learn more about this feature in the video below:

https://youtu.be/npL5g2q2cbw

 Import product specs in bulk

You can now import product specs in bulk in the Operations Portal. Product specs can be found on your commerce site under the “About this item” section on individual product pages. The information found in this section can be imported in bulk, making it even easier to manage your product information in the Portal and on your website. 

The importing process works similarly to importing files in other areas of the Operations Portal. Check it out by watching this video:

https://youtu.be/dGniJ4vESJI

Commerce

Display substitute products, options, and upgrades

In this release, we've added the ability to display product sliders for your substitutes, options, and upgrades which are stored as cross references in your ERP.

Watch the video below to see how to enable these sliders.

https://youtu.be/CcLGsWqNi0w

Mobile App

Customize the price check and inventory screen in the Employee Mobile App

Using the Employee Mobile App, your sales representatives and other users can now customize the price check and inventory screen by choosing what fields to display and rearranging their order. This will allow your team to further tailor their searches to display only the information they need at that time. 

Check it out in the images below, or download the app to see for yourself! If you haven’t downloaded the mobile app yet, head to the App Store or Google Play, search “Kodaris Employee Portal”, and download the app with the Kodaris logo. To log in, enter your company’s domain/URL, your username, and your password. Your credentials will be the same as what you use to log into the desktop version.

1095_Kodaris_Mobile_App__500_x_1000_px_.png

1095_Kodaris_Mobile_App__500_x_1000_px___1_.png

1095_Kodaris_Mobile_App__500_x_1000_px___2_.png

Developer

Customer API - Preview creating an order

Now you can preview an order by calculating order totals, including taxes and other charges, without finalizing the order. Simply set the completeOrder query parameter to false in the customer order API call (default is true).

Watch the video below to learn more:

https://www.youtube.com/watch?v=ByTRoDuxnm4

Tickets

  1. KOD-15317: Monthly Release Email Flow
  2. KOD-16791: PurchaseOrder Bulk Items Delete - UX
    • Tests
    • Case 1
      • For this test, we need to go to > Purchase Orders Page > Pick an Item of the table > Go to Items tab.
      • The items table must have more than one element.
      • Select more than one element. Go to edit button and select “Delete selected rows“ the selected rows have to delete from the table and have to make a call to the API to get the new items from the table.
    • Case 2
      • Single element deletion.
      • For this test, we need to go to > Purchase Orders Page > Pick an Item of the table > Go to Items tab.
      • The table must have at least one element.
  3. KOD-17820: Commerce - Shipping address doesn't display correctly
    • Regression Tests
    • Case 1
      • Check if cart is working correctly and if autocomplete for input still working along with displaying example address.
    • Tests
    • Case 1
      • Check if field for shipment address is displaying correctly “&”.
  4. KOD-18792: Make the parser pick-up the Quantity column instead of the Pieces Column
  5. KOD-19782: Polish Category Grouping Round 2
  6. KOD-19962: Custom Parser Request
  7. KOD-20098: Sync and Automatically Display Customer Cross References from the ERP to Customers
  8. KOD-20315: Remove extra margin when reducing the desktop size
    • Regression Tests
    • Case 1
      • Open the system. Ensure you are not logged in.
      • Open the developer tools in your browser.
      • Resize the screen to a width of 961 pixels or larger.
      • Verify that the header is displayed correctly.
      • Verify that the “Get in Touch” button is displayed correctly.
    • Tests
    • Case 1
      • Log in to the system.
      • Open the developer tools in your browser.
      • Resize the screen to a width of 960 pixels.
      • Verify that the mobile menu is displayed.
      • Verify that the “Get in Touch” button is displayed correctly.
      • Resize the screen to widths greater than 960 pixels.
      • Verify that all header content is displayed correctly and does not overflow the boundaries of the header.
  9. KOD-20322: UX for converting shipto creation to webui / csd flow
    • Regression Tests
    • Case 1
      • Make sure the company and company address screens still load correctly.
    • Tests
    • Case 1
      • Go to the company screen → click into a company and make sure it has a company custno → click the save to erp button → snacker should pop up → currently interceptor is empty so you will get an error message but once interceptor is updated in prod, you should see it was successful.
    • Case 2
      • Go to the company address screen → click into an address → click the save to erp button → snacker should pop up → currently interceptor is empty so you will get an error message but once interceptor is updated in prod, you should see it was successful.
    • Case 3
      • Go to the company screen → click into a company that does not have a company custno → click the save to erp button → snacker should pop up saying ‘Missing Customer custno setting’.
    • Case 4
      • Go to the company address screen → click into an address that does not have a company address shipto → click the save to erp button → snacker should pop up saying ‘Missing CompanyAddress shipto setting.
  10. KOD-20352: Display availability on the cart
  11. KOD-20497: Add notes to order templates
    • Regression Tests
    • Case 1
      • Make sure orders with no notes look the same as they did before for order emails, order pdfs, and order details.
    • Case 2
      • Make sure for orders with notes that everything else still looks the same for order emails, order pdfs, and order details.
    • Tests
    • Case 1
      • For orders that have notes in the order notes table, you should now see them on the order templates:
        • email
        • pdf
        • details
      • order notes:
        • primary key = order no
        • if secondary key is null & ordertype is 'o', it is global note and goes on all orders with the primary key-
        • if secondary key is not null, those notes go on the orders with the suffix = secondary key.
        • printfl or printfl5 have to be true for it to show.
      • customer notes:
        • primary key = custno
        • if notestype = ‘c' or ’cs'
        • printfl or printfl5 = true
  12. KOD-20526: Specs - add importers(BE)
    • Tests
    • Case 1 (Create only)
      • First test will be for only creating specs. That is, if we put a productCode in the file which already has some specs then that record should be skipped.
      • In order to test the feature we have to check the new Erp Setting with code:
      • mapping-basicProductDocumentSpecsUploadCreateOnly and make sure the categoryList is ‘Product’ so then you can see these scripts in the Product → Data imports.
      • If we want to have it in the Specs screen we have to make a request
      • to api/system/importer/list including the facet:
      • [
        {
        "boost": null,
        "fuzzy": null,
        "name": "category",
        "not": false,
        "operation": "IS",
        "tagged": false,
        "value": "ProductSpec"
        }
        ]
      • And then also changing the ERP Setting to be ‘categoryList’ = ‘ProductSpec’.
      • Then wait 5m until the FiveMinuteBulkJob runs to see the updates in the specs.
      • Expected result: The records which already have specs will be skipped. The records which don’t have expect should now have the specs created.
    • Case 2 (Update Only)
      • In this case, we are only making updates in case the specs exists (So we are updating what we have and creating new ones, but only if it already has some).
      • For this we will use the ErpSetting:
      • mapping-basicProductDocumentSpecsUploadUpdateOnly
      • In the file, modify some values and delete some columns (Some specs)
      • Expected result:
      • For the product which already has some specs, update on those should be performed.
      • For the product which doesn’t have specs at all, it should not change (Specs should not exists in the specs column but also in the custom records should not exist a productDocument with {productID} _specs as id.
      • So, here we need to make sure that we are not overriding values, only updating what we have and creating new ones only for the products which already have some.
    • Case 3 (Create/Update with Patch)
      • In this case, we will use the following setting: mapping-basicProductDocumentSpecsUpload.
      • This should create or update the specs.
      • Note:
      • Depending on the field ‘patch’ in the mapping, the update will override everything what already exist or do a patch.
      • By default, all scrips do a patch update.
      • You can use the following endpoint /productDocumentDb/{mappingCode}/{importType}/{fileType} using the csv records for easier testing.
  13. KOD-20538: Error when updating product information
    • Regression Tests
    • Case 1
      • Make sure that when the page loads, all elements are positioned correctly and the layout looks correct.
      • Make sure that the description, header and footer fields contain data (if the fields have been filled in previously).
      • Make sure the fields are clickable and retain their values ​​when changed.
      • Make sure that when you change data in the fields and click outside their area, PATCH api/system/product/{productID} is sent and a GET request is received with the changed data.
      • Make sure that when you change the data in the Description field, the changes are reflected on the product page on the front end.
    • Tests
    • Case 1
      • Make sure that when you perform some action on the product page (moving to another tab (for example, Attributes) or adding a new Primary Image, etc.) and returning to the Details page, the description field continues to be active and retains its values ​​when the data in the field is changed.
      • Make sure that the Header and Footer fields also change values ​​correctly after moving to another tab and returning to Details.
  14. KOD-20661: Support uploading files in the cart - UX
  15. KOD-20739: Order templates tweaks - signature
    • Regression Tests
    • Case 1
      • Make sure order email, order pdf, and order details still render properly.
    • Case 2
      • Find an order that does not have a signature → generate an order pdf → notice nothing should have changed.
    • Case 3
      • Find an order that does not have a signature → go to the order details on the customer portal → notice nothing should have changed.
    • Tests
    • Case 1
      • Find an order that has a signature attached to it → generate an internal pdf → notice the signature image is now present.
    • Case 1
      • Find an order that has a signature attached to it → go to the order details in the customer portal → notice the signature image is now present.
  16. KOD-20746: Implementation - Pull data
  17. KOD-20875: Remove Display payment link on quotes email
    • Regression Tests
    • Case 1
      • Navigate on operations portal to Quotes screen.
      • Check if you can see quote detail screen as expected.
    • Case 2
      • Check if you can send quote, cash quote and quote request emails.
    • Tests
    • Case 1
      • Navigate to Quotes screen, click on email quote.
      • Make sure there is no ‘Display payment link’.
    • Case 2
      • Navigate to Cash Quotes screen, click on email quote.
      • Make sure there is ‘Display payment link’.
  18. KOD-20961: Mobile Employee App - Customize Price Check Screen
    • Tests
    • Case 1
      • Go to the Price screen.
      • Search for some prices.
      • Test Price and Inventory settings, hide some fields, change order, etc.
      • Press apply and see results.
      • Close the app, open it again, go to price screen, search for some prices. You should see yours settings to be used as default.
  19. KOD-20964: Implementation- Taxes and Addons
  20. KOD-20987: Implementation- Taxes and Addons
  21. KOD-21134: Test PIM integration
  22. KOD-21163: Design - Services Pages
  23. KOD-21168: Implementation - Configure Pricing
  24. KOD-21173: Disable product lists from customer portal
  25. KOD-21201: Design - About History Block
    • Tests
    • Case 1
      • Add the history section to the page and confirm that it is visible on the screen and no errors occur.
    • Case 2
      • Confirm that the text and title in this section can be edited by clicking on the appropriate placeholder and by clicking the save button, the changes remain saved.
    • Case 3
      • Confirm that the number of pagination slides in this section can be changed by adjusting the value in the "Pagination SlidesPerView" setting.
      • Change the value for the desktop and make sure that the number of slides changes accordingly.
      • Change the value for tablets and phones and ensure that the number of pagination slides matches the input value on these devices.
    • Case 4
      • Confirm that the number of columns in each slide can be adjusted by opening a slide and changing the "slidesPerView".
      • Change the value for the desktop and make sure the number of columns changes accordingly.
      • Change the value for tablets and phones and ensure that the number of columns matches the input value on these devices.
    • Case 5
      • Confirm that we can hide each slide by changing the "display" input value in the slide settings.
    • Case 6
      • Confirm that we can hide each column by changing the "display" input value in the settings of a specific slide's column.
    • Case 7
      • Confirm that when scrolling through the slides.
      • We go through each slide without skipping any.
      • The active slide (the one we are currently on) will have a white color in the pagination.
    • Case 8
      • Confirm that if, for example, in a slide with 5 columns, we set slidesPerView to a number less than the number of columns themselves, then:
      • We will see the number of columns specified in slidesPerView.
      • If we start scrolling, we will scroll through all the columns before moving to the next slide.
    • Case 9
      • Confirm that if we add a photo to any column:
      • The photo will, by default, occupy 100% of the column's width.
      • If we change the setting in "image max-width," the photo will occupy at most the specified width across all screen sizes
    • Case 10
      • Confirm that the "Add new Slide" and "Remove Active Slide" buttons work correctly.
      • When clicking "Add new Slide," a new slide is added.
      • When clicking "Remove Active Slide," the active slide is removed
    • Case 11
      • Confirm that when clicking the "Preview" button, we will see the section on the page exactly as it appears on the edit page, but without the "Add New Slide" and "Remove Active Slide" buttons.
    • Case 12
      • Confirm that when changing the settings in "Color," the colors of the content, section, font, or border change correctly.
  26. KOD-21202: Adding Test System
  27. KOD-21215: Make "Type" a Required Field when Setting up Ship To on a Quote
    • Regression Tests
    • Case 1
      • Navigate To Quote detail screen on the operations portal. It should be displayed as expected.
    • Case 2
      • On the operations portal on Quote detail screen try Type dropdown, there must appear options to choose type.
    • Tests
    • Case 1
      • Navigate to the operations portal Quote → Quote detail screen.
      • Check if for Delivery address country is US, address below is populated and End Date on Location is set too.
      • Set type an None and tap Setup Location.
      • Error message on bottom left corner is expected and informing that Type must be set.
    • Case 2
      • Navigate to the operations portal Quote → Quote detail screen.
      • Check if for Delivery address country is US, address below is populated and End Date on Location is set too.
      • Set any Type for Location and press Setup Location. It must proceed as expected and change icon to green.
    • Case 3
      • Navigate to the operations portal Quote → Quote detail screen.
      • Check if for Delivery address country is US, address below is populated and End Date on Location is set too.
      • Navigate to Settings → jobTypes and copy out all types entered(remember to return that after testing) and place [] as empty array.
      • Check that Type cannot be chosen and press Setup Location. It must proceed as expected and change icon to green.
  28. KOD-21229: Next steps AD - Import Product Data via RabbitMQ
  29. KOD-21232: Record video for customers on how to adjust the order templates
  30. KOD-21238: Design - Product List
  31. KOD-21240: Design - Register Page
    • Regression Tests
    • Case 1
      • Turned off this setting:
        • customerRegistrationEnabled
        • customerRegistrationCardsEnabled
      • Customer side:
        • Check that header still looks good.
    • Case 2
      • Turned off this setting:
        • customerRegistrationEnabled
        • customerRegistrationCardsEnabled
      • Customer side:
        • Check that you can login with your regular customer and header still looks good.
    • Case 3
      • Turned off this setting;
        • customerRegistrationEnabled
        • customerRegistrationCardsEnabled
      • Customer side:
        • Check that popup for login still looks good.
    • Tests
    • Case 1
      • Two settings should be turned off:
        • customerRegistrationEnabled
        • customerRegistrationCardsEnabled
      • Customer side:
        • Click on Account in header.
        • Check that you don’t see Register for an Account.
    • Case 2
      • Turned on this setting:
        • customerRegistrationEnabled
      • Customer side:
        • Click on Account in header.
        • Click on Register for an Account.
        • Try to register yourself with no existing user in system.
        • You should receive “Please Activate Your Account” email and successfully login as a customer
      • Operation side:
        • Go to companies screen.
        • Find company using email that was using during register.
        • Company should be created and check here that there is no flag for pay with credit card.
        • Company → customers, check that customer was created.
    • Case 3
      • Turned on this setting:
        • customerRegistrationEnabled
        • customerRegistrationCardsEnabled
      • Customer side:
        • Click on Account in header.
        • Click on Register for an Account.
        • Try to register yourself with no existing user in system.
        • You should receive “Please Activate Your Account” email and successfully login as a customer.
      • Operation side:
        • Go to companies screen.
        • Find company using email that was using during register.
        • Company should be created and check here that there is a flag for paying with credit card.
        • Company → customers, check that customer was created shouldn’t be created.
    • Case 4
      • Turned on these settings:
        • customerRegistrationEnabled
        • customerRegistrationCardsEnabled
      • Customer side:
        • Use url with /spcu/register.
        • Try to register with existing customer in system.
        • You should receive an error.
        • You need to trigger an error. Company in operations shouldn’t be created.
    • Case 5
      • Login in with new created customer.
      • Check header if still looks good and you don’t see company name.
  32. KOD-21241: Design - RFQ Page
  33. KOD-21246: Design - More Fulfillment Solution Pages
  34. KOD-21247: Designs - Create Help Documentation
  35. KOD-21283: Recently Ordered Catalog Error
    • Regression Tests
    • Case 1
      • Confirm that the "Recently Ordered" category link is not visible in the main menu for guest user.
      • Verify that the user can see the "Recently Ordered" link in the main menu.
      • Click on the "Recently Ordered" link and confirm that the user is able to access the page without any issues.
      • Ensure that the products listed on the "Recently Ordered" page are visible and correct.
      • From the "Favorite Lists" page, find and click the link to the "Recently Ordered" section.
      • Confirm that the user can successfully navigate to the "Recently Ordered" page from the "Favorite Lists" section.
    • Tests
    • Case 1
      • Go to the homepage.
      • Click on the "Recently Ordered" section in the main menu.
      • Verify that the user *can* successfully access the "*Recently Ordered*" page.
      • Navigate to the Operations
      • Delete the category with the code companyRecentlyOrderedItems.
      • Return to the Website and Refresh.
      • Verify the Absence of the "Recently Ordered" Section:
      • Check that the "Recently Ordered" section is no longer visible in the main menu.
      • Confirm that the user cannot access the "Recently Ordered" page.
  36. KOD-21290: Add Order Source Field to CSD Header User3 Field
  37. KOD-21299: Implementation - pull Addons
  38. KOD-21353: Sales Order Automation
  39. KOD-21358: Main site - import Addons
  40. KOD-21363: Fudge factor totals must also exist on backorders
  41. KOD-21368: Pull PO number after order insert - New Way
  42. KOD-21369: Hide Price of Discontinued Products.
    • Tests
    • Case 1
      • On the PIP and PLP pages, the price should be hidden if the customer is logged in and the warehouse associated with the ShipTo location has an available quantity of 0 and the product is listed as DNR.
      • The price should be hidden on products for guest users on the PIP and PLP pages if the product is listed as DNR and both warehouses have available quantity = 0.
    • Case 3
      • The Clearance Tag must be hidden for products if the SKU is listed as Do Not Reorder (DNR) / Discontinued with available inventory = 0.
  43. KOD-21374: Can't log into another site on Employee App
    • Regression Tests
    • Case 1
      • Test that when you change domain after logout, you logging in into newly written domain (not the old one).
    • Tests
    • Case 1
      • Login into one site.
      • Log out.
      • Use data for the other site.
      • Press 'LOGIN' button and look for changes in Domain field. It should not be changed while logging.
  44. KOD-21398: Look for Warehouse on Line Items when Repricing
  45. KOD-21405: Parser Sales Order Excel
  46. KOD-21409: Order shipment notification - fix issue for unsubscribed customer
  47. KOD-21410: Allow Sales Reps to Hand-Price Items
  48. KOD-21418: Implementation - Customer Analytics
  49. KOD-21424: Update Cross References UI
    • Regression Tests
    • Case 1
      • On the commerce site navigate to the product list page.
      • Confirm this page displayed as expected.
      • From product list page navigate to the product details page.
      • Confirm this page displayed as expected without any errors.
      • Repeat this steps as a logged in user
    • Tests
    • Case 1
      • Log in to the operations portal.
      • Navigate to the settings page.
      • Find publicWhitelistedCrossReferencesTypes.
      • Enter next letters -and confirm:
        • S - Substitute Products slider is displayed
        • U - Upgrade product slider is displayed
        • O - Option Products slider is displayed
      • Navigate to the Cross References screen.
      • Find products that contains “s”, “u”, and “o” cross reference codes (it could be different products)
      • Using developer tools resize the screen
      • Confirm products in the sliders displayed properly.
  50. KOD-21432: Marketing Materials for Onboarding Customers - statements
  51. KOD-21433: Updating French Description Issue
    • Regression Tests
    • Case 1
      • For this test, we need to go to Products > Select a product.
      • We are going to test every field except Description, Header and Footer to make sure they still work as expected.
      • We can also verify that the fields with the flag icon change when we switch languages.
    • Tests
    • Case 1
      • For this test, we need to go to Products > Select a product.
      • We need to make sure that Description, Header and Footer fields work properly even after switching languages and that the information is saved correctly.
  52. KOD-21440: [UX] FEDEX for the shipping engine
  53. KOD-21459: Related Products not Displaying
  54. KOD-21463: Add Code Column to Order Confirmation Emails
    • Regression Tests
    • Case 1
      • In the operations portal, go to the orders page and click into an order → generate an email → make sure everything still loads correctly.
    • Tests
    • Case 1
      • In the operations portal, go to the orders page and click into an order → generate an email → notice the code column to the left of the description that includes the code of the item.
  55. KOD-21467: Customer part # added
    • Regression Tests
    • Case 1
      • As not logged in guest user on the product page, category (search) grid/list/catalog view pages check:
        • Make sure there is no customer part # functionality visible on the screen.
        • Make sure all above mentioned pages are loaded with no issues and all existent functionality persists on the screen.
    • Case 2
      • As logged in user on the product page, category (search) grid/list/catalog view pages with order items check:
        • Make sure all above mentioned pages are loaded with no issues and all existent functionality persists on the screen. You can still increase/decrease quantity, add to cart, etc.
    • Case 3
      • As logged in user, check pages from Case 1.
      • Add several products with no configured customer part number to cart.
      • At cart page make sure for products with no specified customer part number, it shouldn’t be displayed. Place an order.
      • In Customer Portal and Employee Portal check this order.
      • Customer Portal Order Detail. Make sure there is no customer part number displayed for order items. Make sure page is loaded with no issues.
      • Operations Portal Order Detail. Generate Order Email and Order PDF. Make sure there is no customer part number displayed for order items. Make sure email and PDF are generated properly and displayed with no issues.
    • Tests
      • Check at Cross References Tab in the Operations Portal products with Cross references.
      • At store add them to the cart and create order.
      • In Customer Portal check your order Details.
      • In Operations Portal check the same order details: Generate order Email and Order PDF.
      • For points 3,4 of this case make sure that for products with Cross References they should be displayed below the product name.
  56. KOD-21469: Customer App - Move Account Deletion to dedicated page
    • Regression Tests
    • Case 1
      • Test if setting to enable/disable Biometrics still works.
    • Tests
    • Case 1
      • Open mobile app.
      • Log in into the account.
      • Go to '…' → settings → account deletion.
      • Enter your data and press Submit.
      • You should see successes message.
      • Check on the Operations portal if your request was successful.
  57. KOD-21475: Select default store if user is logged in and has one set
  58. KOD-21477: Fix integrations for new register flow
  59. KOD-21476: Update suppliers screens location in operations menu
    • Regression Tests
    • Case 1
      • We need to navigate to the Vendor Users and Vendor Roles pages. The information must completely match the suppliers and suppliers-roles pages that were before.
  60. KOD-21489: Implementation meeting
  61. KOD-21493: Pickup Warehouse Remains on Delivery Order
  62. KOD-21497: Implementation - Branding
  63. KOD-21515: Implementation - Countries & States
  64. KOD-21516: Guest User Updates For Form
  65. KOD-21518: Create a video about importing customer catalog
  66. KOD-21520: [UX] Support uploading files in the cart - fixes
  67. KOD-21521: Updates to unavailable products logic on first step of checkout
  68. KOD-21522: Attach Order to Delivery in DQ Sync
    • Regression Tests
    • Case 1
      • Create a new DQ Event with different ‘deliveryID’ and different ‘stopNumber’ and leave orderNumber null.
      • Make sure you can still see the changes in the new Trip/Delivery/OrderShipment.
    • Tests
    • Case 1
      • First time the Trip is created along with the Delivery:
      • If the order is found by the externalOrderNumber (the orderNumber in the payload)
      • A new DeliveryOrder should be created with the orderID and the deliveryID.
      • If we create another payload for the same Trip (same deliveryID) and the same Dalivery (Same stop number) but different data like changing the driver or the deliveryStatus, then it should find the DeliveryOrder created previously and it should work as the first case without duplicating the DeliveryOrder.
      • There will be only one DeliveryOrder for each delivery-order.
      • You can confirm those entities were created using the following endpoint: /api/system/delivery/deliveryOrder/{deliveryID}
      • There you can also check the OrderID.
      • The order is found by externalOrderNumber which is the ‘orderNumber’ in the payload. If it is not found, it will be saved as null.
    • Case 2
      • Create a DQ Event using an existing TripCode and existing StopNumber but using a different orderNumber.
      • In this case, a new DeliveryOrder will be created.
      • So you might have the same Delivery associated to 2 different orders.
      • You can confirm those entities were created using the following endpoint: /api/system/delivery/deliveryOrder/{deliveryID}.
      • There you can also check the OrderID.
      • The order is found by externalOrderNumber which is the ‘orderNumber’ in the payload. If it is not found, it will be saved as null.
  69. KOD-21523: Add complete flag to customer post endpoint
  70. KOD-21534: Configure notifications in customer portal
  71. KOD-21539: Updates for employee status
    • Regression Tests
    • Case 1
      • On the Orders Detail page of any order make sure page is loaded with no issues.
      • You should be able to edit fields on editable order, and data should be successfully saved.
    • Tests
    • Case 2
      • On order detail page make sure in the Billing Address & Tracking section there were added 2 dropdown fields: Customer Status and Employee Status.
      • Make sure values for those dropdowns are taken from orderCustomerStatus and orderEmployeeStatus Settings.
  72. KOD-21540: Fix breadcrumbs on Trips screens in operations portal
    • Regression Tests
    • Case 1
      • Will should get the data and also be able to update it. (New location).
      • For this test, we need to go to > Trips > Pick a trip > Deliveries Tab > Pick an Item.
    • Case 2
      • Will should get the data and also be able to update it. (Old location).
      • For this test, we need to go to Deliveries > Pick an Item.
    • Case 3
      • Order Shipments Screen should work correctly.
      • For this test, we need to go to oder-shipment > Pick an Item.
    • Tests
    • Case 1
      • Will should get the data and also be able to update it. The Breadcrumbs should have the correct data and should be able to click of it.
      • For this test, we need to go to > Trips > Pick a trip > Deliveries Tab > Pick an Item.
      • All tabs in all screens you work correctly.
  73. KOD-21542: Add Display POD Files Flag to Order Email Endpoint
  74. KOD-21541: View POD Files in Order Emails
    • Regression Tests
    • Case 1
      • Please check if the email configuration works as usual.
    • Tests
    • Case 1
      • Please test that we have new Boolean field on email generation.
  75. KOD-21545: Implementation - Test Addons
  76. KOD-21547: Product Category Page Updates
    • Regression Tests
      • Make sure that we can turn on/off the checkboxes in the category lists.
      • Make sure that filters are applied and search results are updated.
      • Make sure that the same thing works in the mobile version.
    • Tests
    • Case 1
      • Check that the filters in the catalog and in the global search are displayed above the products, and not in the sidebar.
      • Check that it is possible to scroll the categories horizontally and they are displayed correctly.
      • Check that the subcategories (if any) are displayed above the filters.
      • Check that the design of the categories has changed slightly, as shown in the video in the description.
    • Case 2
      • Check that the layout in the mobile version remains the same as before. Only the basic styles have changed slightly (font sizes, scroll within the category, and similar adjustments).
  77. KOD-21549: Add Ability to Edit Product sliders names
  78. KOD-21550: Update FAQs and Request Custom Item Functionality
    • Regression Tests
    • Case 1 - Request Custom Item
      • Add some products to cart.
      • Confirm those products are displayed on the cart page.
      • Change some information.
      • Confirm everything works as expected.
    • Case 2 - FAQs
      • Log in as employee and navigate to the commerce site.
      • Confirm “Customizer theme” button is displayed.
      • Click on this button.
      • Confirm right-hand side panel is displayed properly.
      • Update some information and confirm everything updated as expected.
    • Case 3 - FAQs
      • Add some products to cart.
      • Navigate to the third (delivery and payment) tab.
      • Confirm tab works as expected.
      • Confirm all dropdowns closed properly - single dropdown per click affected.
    • Tests
    • Case 1 - Request Custom Item
      • On the operations portal navigate to the products screen.
      • Open Detail page.
      • Add new product with “NONSTOCK” code.
      • Confirm this product is displayed on the Search Tab.
      • Add “Displayed” column to the Search screen.
      • Go to the cart on the commerce site.
      • Confirm “Request custom item” button is displayed.
      • Change fields (only one per next step):
        • Code
        • Active
        • Displayed.
        • Go to the Search tab and if:
        • Code changed,
        • Product is not visible
        • Displayed column changed
        • Confirm “Request Custom Item” button is not displayed
    • Case 2 - Request Custom Item
      • Enable “Request Custom Item” button.
      • Click on this button.
      • Add custom product to the cart.
      • Confirm product is visible on the first cart’s tab
    • Case 3 - FAQs
      • On the operations portal delete “storeCheckoutFAQs” setting.
      • Navigate to the third cart’s tab.
      • Confirm all items are displayed properly and there no any FAQs.
      • Add this setting back.
      • Set it’s value to the empty field.
    • Case 4 - FAQs
      • Log in as employee to the operations portal.
      • Open “Customizer Theme” panel.
      • Confirm at the vary bottom “FAQs” section displayed.
      • Confirm there are 3 inputs for question and answer.
      • Enter some information.
      • Confirm on the third cart’s tab this information displayed.
      • Remove one question.
      • Confirm that FAQ is removed from the Delivery and payment tab.
      • Confirm the first FAQ dropdown is always openned.
  79. KOD-21551: Statement and Invoice updates v3
  80. KOD-21556: Statement Invoices Missing
  81. KOD-21557: Implementation-Custom parser
  82. KOD-21561: Implementation - Configure Shipping Methods
  83. KOD-21564: Add order item warehouse visibility
    • Regression Tests
    • Case 1
      • Check if in customer portal Items page under Order’s detail screen loads as expected.
    • Case 2
      • Check if in the operations portal Items tab in Order’s detail screen loads as expected.
    • Tests
    • Case 1
      • Check if 'Location' is visible on Order/Items.
      • And data must be visible on table.
  84. KOD-21567: Return the product attribute docs on endpoint: GET: /api/user/category
  85. KOD-21583: Surface order exceptions in Operations Portal when items are not fully delivered
    • Regression Tests
    • Case 1
      • Being able to use api/system/order/driverDelivery/updateOrderShipmentItem?orderItemID={OrderItemID} and items from orderItem should be updated regardless the Order update.
      • You can only update the following fields:
      • "quantityReceived", "quantityCustomerReceived", "sscReceivedNote", "receivedReason"
      • Make an update for quantityReceived and another one for quantityCustomerReceived for instance.
    • Tests
    • Case 1
      • From mobile application, update the quantityReceived using following endpoint and an existing orderItemID.
      • api/system/order/driverDelivery/updateOrderShipmentItem?orderItemID={OrderItemID}
      • Validate that the orderItem is updated.
      • Order associated to the OrderItem should be updated with field employeeStatus = Delivery Exception in the following scenarios:
      • If quantityReceived is different than orderItem.quantityShipped.
      • If quantitiyShipped is null and quantityReceived is sent in (0 also means different since quantityShipped is null).
      • If quantityShipped is not null and it is different than quantityReceived.
  86. KOD-21582: Update order indexing to surface delivery POD stats
    • Regression Tests
    • Case 1
      • Navigate through the Search tab and then to the data tab and update any field in the Order and make sure you have that field updated in solr document (/search endpoint).
      • If there are no Delivery associated to the Order, make sure the fields:
        • proofOfDelivery
        • proofOfDeliveryFileCount
        • proofOfDeliveryOrderNumber
        • proofOfDeliveryExternalOrderNumber
      • are being updated based on the CustomerFiles (ProofOfDelivery) from the order.
    • Tests
    • Case 1
      • Use /api/system/order/{orderID}/delivery/{deliveryID} to associate delivery/order entities.
      • You can have one order associated to many Deliveries and one delivery associated to many orders.
      • For our case, we need one order to one delivery or one order to many deliveries.
      • Check the fields:
        • proofOfDelivery
        • proofOfDeliveryFileCount
        • hasChecklist
        • hasSignature
        • {hasDocumentsAndImages
      • are taken from the delivery(s) associated to the order ONLY if the order doesn’t contain those CustomerFiles.