All Releases
View all releases

August 31, 2023 release notes

Highlights

Operations Portal

Details screen added for deliveries

As a reminder, your Kodaris system comes with a full proof of delivery module which provides real time status updates, tracking, proof of delivery, and self serve accounts. As part of this, your drivers can use the Kodaris Driver Logistics app to upload proof of delivery attachments, signatures, pictures, checklists and more. There are two modes of operation for the app. One uses orders, and the other utilizes trips and deliveries.

As an enhancement to the second mode using trips and deliveries, we've released an update where you can now navigate to and view the details of any specific delivery on the Deliveries screen. To view the details of a delivery, simply navigate to Deliveries under Logistics, select the delivery you would like to view and click into the Details screen.

528_view_delivery_details_1.png
528_view_delivery_details_2.png

Select and upload multiple files from a CMS form

The Kodaris platform is filled with powerful options, including a CMS (Content Management System) utilizing the Gutenberg WordPress editor to build informational content pages for a website. As a new enhancement, you can now upload multiple files to a form or page created using the Gutenberg editor. This is particularly helpful if you are asking your customers to submit multiple documents or files when filling out a form.

To utilize, go to the page or form you would like to add this capability to in the Gutenberg editor, select the block on the page, and go to the Input Settings for that block. After doing that, simply navigate to the bottom of the settings block and toggle the Multiple button to allow multiple files to be uploaded. Voila!

528_allowUploadingMultipleFiles.png
528_users_upload_multiple_files.png

Tickets

  1. KOD-13952: Update ShippingMethod Service
  2. KOD-14280: Freight Fee Implementation
  3. KOD-15263: Add Function to Display Group Catalogs for Company Addresses
    • Endpoints:
      • POST {{/api/system/customerGroup/{customerGroupID}/companyAddress/{companyAddressID}}}
      • DELETE {{/api/system/customerGroup/{customerGroupID}/companyAddress/{companyAddressID}}}
      • POST {{/api/system/customerGroup/companyAddress/{companyAddressID}/list}}
      • POST {{/api/system/customerGroup/{customerGroupID}/companyAddress/list}}
  4. KOD-15607: Integrate Printing the Order Into Infor CSD Order Insert Flow
  5. KOD-15819: Sorting on Order -> Items Tab Doesn't Work
    • Go to Orders tab
    • Choose any order
    • Go to Items tab
    • Check if you can not sort by all columns
  6. KOD-15832: Adding Pricing and Inventory to Employee Mobile App
    • Tests
    • Case 1:
      • Navigate to Pricing page
      • Input Company code
      • Check that {{Check Price}} button is inactive
      • Navigate to Pricing page
      • Start entering Product Code
      • Suggestions should be loaded after at least one symbol entered
    • Case 2:
      • Navigate to Pricing page
      • Input Company Code and Product Code
      • {{Check Price}} button should become active
      • Navigate to Pricing page
      • Input Company Code
      • Focus Company Address field
      • Suggestions should appear even without entering a single symbol
    • Case 3:
      • Navigate to Pricing page
      • Input Company Code and Product Code
      • Press {{Check Price}}
      • Verify Pricing and Inventory data loaded
      • Navigate to Pricing page
      • Focus Warehouse field
      • Suggestions should appear even without entering a single symbol
  7. KOD-15834: Issues Found - To Add Internal Files and Customer Files Tab to Delivery/Details Screen
    • Go to Deliveries global screen
    • Case 1:
      • Pick delivery to test internal files padding
      • Pick delivery test customer files padding
    • Case 2: (permissions)
      • Make an employee with *deliveryView* and *deliveryInternalFileView* roles and please check if you can access the delivery detail screen and delivery internal file screen
    • Regression tests:
      • Please go to delivery detail screen and check if all available fields are shown and updatable
  8. KOD-15897: Update order.shipping from Correct addon Number from CSD
  9. KOD-15912: End to End Test for Mailing Templates for Invoices & Statements
  10. KOD-15923: Allow Employee to Assign Themselves to a Company with One Click
  11. KOD-15937: Ticket Comments - Customer Side API
  12. KOD-15955: Content Security Policy Issue
    • Regression Tests
    • Case 1:
      • Login as a customer
      • Go to Orders ? Order Details
      • Go to Files tab
      • Click on some file icon for file types: csv, pdf, png, jpg, jpeg, and gif
      • Make sure files preview is working as expected
    • Case 2:
      • Login as a customer
      • Go to Documents
      • Click on some file icon for file types: csv, pdf, png, jpg, jpeg, and gif
      • Make sure files preview is working as expected
    • Tests
    • Case 1:
      • Login as a customer on embedded portal
      • Go to Order Details
      • Go to Files tab
      • Click on some file icon
      • Make sure files preview is working as expected
  13. KOD-16011: UX for Customer ProductCrossReferences
    • Regression Tests
    • Case 1:
      • Test as not-logged in user
        • Open any category
        • From a category, open any product page
        • Next to *Item Number* should not be paragraph *YOUR PART #*
    • Tests
    • Case 1:
      • Log in as a customer
      • Open any category
      • From a category, open any product page
      • Next to *Item Number* should be a paragraph *YOUR PART #:* +_Add_+ _(Word Add should be in italic + dashed underline)._ When data is loading instead of Add you’ll see Loading in italic.
      • Click Add; there should be a popup window with two buttons Cancel and Save
      • Type there any alternative product code and click Save; the popup window should be closed
      • Instead of the word Add from step 4 there should be your alternative product code from the previous step; it shouldn’t be in italic font.
      • Reload product page; after page loaded, alternative product code from the previous step should persist on the page
    • Case 2:
      • Log in as a customer
      • Open the same product page from Case 1
      • Click on the Alt Product code from the paragraph: *YOUR PART #*: Alt Product code (with dashed underline)
      • There should be a popup which has in the text area alternative product code prefilled
      • Type in the text area new alternative product code and click Save; the popup window should be closed
      • Alternative Product code should be displayed with data you’ve filled in the 4th step
    • Case 3:
      • Log in as a customer
      • Open the same product page from Case 1 and 2
      • Click on the Alt Product code from the paragraph: *YOUR PART #*: Alt Product code
      • On the popup there should be Cancel button; click it
      • The popup window should be closed
    • Case 4:
      • Log in as a customer
      • Open the same product page from Case 1 and 2
      • Click on the Alt Product code from the paragraph: *YOUR PART #*: Alt Product code
      • When popup window will be opened, click anywhere outside the popup area
      • The popup window should be closed
  14. KOD-16030: Display Square Footage on Order Details
  15. KOD-16031: Mobile Responsiveness, Multilingual, and More
    • Tests
    • Case 1:
      • Make the header, footer, and CMS pages mobile responsive
    • Case 2:
      • Implement multilingual
      • Add the language switcher and the translate tool
      • Configure the languages English, Spanish, and French
      • Add a sample content page and translate it to ensure it works
      • Translate one of the menus to make sure that works
    • Case 3
      • Check Gutenberg blocks if styled correctly
      • Finish adding and testing the other commonly used blocks
        • Headers
        • Paragraphs
        • Images
        • Video Embed
        • Lists
        • Columns
        • Tables
        • Forms
  16. KOD-16036: Add Endpoint to Customer Ticket API to View Files
    • New endpoints:
      • GET {{/api/account/ticket/{ticketID}/customerFile/{customerFileID}/view}}
      • GET {{/api/account/ticket/{ticketID}/customerFiles}}
    • Tests
    • Case 1:
      • Endpoint: GET: /api/account/ticket/{ticketID}/customerFile/{customerFileID}/view
  17. KOD-16042: Pricing Rounding Issues in Line Items with Infor CSD Integrator
    • Regression Tests
      • Case 1: Check unit Price (whether unit Price round to 4 digits instead of 2 digits after comma) when you add item for Order.{color}
        • Log in as admin on employee side, find by code: *priceEngine* in setting list, *should be inforCSD*
        • Go to product list, add some new product
        • Enter unitPrice, *you can write 4-5 digits after comma*
        • Then add the current product to some order
        • Check if our unit Price rounded to 4 digits after comma
  18. KOD-16060: Addons
  19. KOD-16094: Adding a Disclaimer to the UX for Payment Discounts
    • Regression Tests
    • Case 1:
      • In Customer Portal, open Invoices Tab and select some invoices
      • Click *Make Payment* or *Actions* Button -> *Pay selected invoices*
      • In modal window you shouldn’t see schedule section (datepicker and disclaimer to the right)
    • Case 2:
      • In Customer Portal, open Invoices Tab and select some invoices
      • Click *Make Payment* or *Actions* Button -> {{Schedule payment for selected invoices}}
      • In modal window you would see a datepicker; make sure you can select a date
    • Tests
    • Case 1:
      • On the Open Invoices Tab in the Customer Portal, select all invoices
      • Click {{Make Payment}} button -> {{Schedule payment for selected invoices}}
      • In a modal window there should be a disclaimer to the right of the datepicker:
        • {{Discounts may not be applied if your scheduled date is after the discount expiration date.}}
        • Message should be in a standard text color and without borders
  20. KOD-16099: Display Supplier Code and Supplier Product Code on Product Page
    • Tests
    • Case 1:
      • Open customer site
      • Click Choose any category
      • Open product list page
      • Open product page by clicking on some product
      • Observe that attributes ‘SUPPLIER’ and 'SUPPLIER PART #' is displayed
      • If attributes ‘SUPPLIER' and 'SUPPLIER PART#’ have no value the symbol --- should be displayed near attribute
    • Case 2:
      • Open customer side
      • Click Choose any category
      • Open product list page
      • Open product page by clicking on some product
      • Observe that attributes 'SUPPLIER' and 'SUPPLIER PART #' is displayed
      • If attributes ‘SUPPLIER’ or ‘SUPPLIER PART #’ doesn't have value, the symbol --- should be displayed near attribute
    • Case 3:
      • Open customer side in mobile
      • Click Choose any category
      • Open product list page
      • Open product page by clicking on some product
      • Observe that attributes 'SUPPLIER' and 'SUPPLIER PART #' is displayed
      • If attributes ‘SUPPLIER’ or ‘SUPPLIER PART #’ doesn't have value, the symbol --- should be displayed near attribute
  21. KOD-16101: Update orderShipment Setting API to Match Our New Pattern
    • Tests
    • Case 1:
      • Check endpoints work:
        • patch api/system/orderShipment/{orderShipmentID}/setting/\{code}
        • post api/system/orderShipment/{orderShipmentID}/settings
  22. KOD-16114: Create Serverside API for Uploading an internalFile
  23. KOD-16119: Move arss.frttermscd and arsc.frttermscd from trendCompiledSettings to Actual Settings for Integration
  24. KOD-16128: Inactive Line Items Showing on Customer PDF Files
    • Regression Tests
    • Case 1:
      • In Customer Portal:
      • Find an order with both active and inactive items
      • Open order details
      • Expected result:
        • Only active items are shown in order details
    • Tests
    • Case 1:
      • For the same order as in Regression Case 1
      • Generate PDF
      • Expected result:
        • Only active items are shown in PDF
  25. KOD-16132: Test Second Level Approval Flow
    • *Setup*
    • *Order Approval Flow*
    • *Global settings:*
      • companyCustomerSpendingLimitEnabled -> 1
    • *Company Details:*
      • Enable Spending Limit -> Yes
      • Checkout with Purchase Order -> Yes
      • Customer Details -> set Spending Limit, should be greater then 0
    • *Customers:*
      • Approver 1 should have roles: orderApprover, companyAdmin
      • A customer that has a limit set should have roles: placeOrderWithPurchaseOrder, viewAssignedLocationOrders, viewAssignedLocations, viewPricing
    • *Order Second Level Approval Flow:*
    • Complete *Order Approval Flow* setup
    • *Company Details:*
      • Enable Second Approval -> Yes
      • Approver 2 - secondOrderApprover, companyAdmin
    • Regression Tests
    • Case 1:
      • companyCustomerSpendingLimitEnabled is disabled
      • Expected result:
        • Store front: it’s not possible to send an order for review
    • Case 2:
      • companyCustomerSpendingLimitEnabled is enabled
      • Company Details -> Enable Spending Limit is disabled
      • Expected result:
        • Store front: it’s not possible to send an order for review
    • Case 2.1:
      • companyCustomerSpendingLimitEnabled is disabled
      • Company Details -> Enable Spending Limit is enabled
      • Expected result:
        • Store front: it’s not possible to send an order for review
    • Case 3:
      • companyCustomerSpendingLimitEnabled is enabled
      • Company Details -> Enable Spending Limit is enabled
      • Company Details -> Checkout with Purchase Order is disabled
      • Expected result:
        • Store front: it’s not possible to send an order for review
    • Case 4:
      • companyCustomerSpendingLimitEnabled is enabled
      • Company Details -> Enable Spending Limit is enabled
      • Company Details -> Checkout with Purchase Order is enabled
      • Customer Details -> Spending Limit is not set/set to 0
      • Expected result:
        • Store front: it’s not possible to send an order for review
    • Case 5:
      • companyCustomerSpendingLimitEnabled is enabled
      • Company Details -> Enable Spending Limit is enabled
      • Company Details -> Checkout with Purchase Order is enabled
      • Customer Details -> Spending Limit is set
      • Store front
      • Order total < Customer Spending limit
      • Expected result:
        • It’s not possible to send an order for review
    • Case 5.1:
      • companyCustomerSpendingLimitEnabled is enabled
      • Company Details -> Enable Spending Limit is enabled
      • Company Details -> Checkout with Purchase Order is enabled
      • Customer Details -> Spending Limit is set
      • Store front
      • Order total > Customer Spending limit
      • Expected result:
        • It’s possible to send an order for review
    • Case 6:
      • Setup as in Case 5.1
      • Store front
      • Customer sends order for approval
      • Expected result:
        • Customer gets order details by email
        • Order status is Waiting for Approval
        • orderApprover gets a notification that order needs approval
    • Case 8:
      • Customer Portal
      • orderApprover
      • Expected result:
        • orderApprover can approve order
        • orderApprover can unapprove order
        • On (un)approving, customer gets an email that order status was changed
        • Order status changes in Customer Portal
    • Case 8:
      • Employee Portal -> Company Details
      • Expected Result:
        • It’s possible to update the Enable Second Level Approval field
        • Enable Second Level Approval value is Yes/No
    • Tests
    • Complete the *Order Second Level Approval Flow* setup section.
    • Case 1:
      • Store front
      • Customer sends order for approval
      • Expected result:
        • Customer gets order details by email
        • Order status is Waiting for Approval
        • orderApprover  gets an email notification that order is waiting for approval
        • secondOrderApprover does not get a notification
    • Case 1.1:
      • Order from Case 1 was sent for approval
      • Customer Portal
      • orderApprover
      • Expected result:
        • Order status is Waiting for Approval
        • orderApprover can (un)approve order
        • secondOrderApprover can (un)approve order
    • Case 1.2:
      • Order from Case 1 was sent for approval
      • Customer Portal
      • orderApprover approves the same order
      • Expected result:
        • Order status changes in Customer portal to Waiting for Final Approval
        • secondOrderApprover gets email notification that order is waiting for approval
        • secondOrderApprover can approve/unapprove order
    • Case 1.3:
      • Order from Case 1.2 was approved by secondOrderApprover
      • Expected result:
        • Order status changes in Customer Portal to Received
        • Customer gets an email that order status was changed
        • It’s no longer possible to approve/unapprove the order for both approvers
    • Case 1.4:
      • Order from Case 1 was sent for approval
      • Customer Portal
      • orderApprover unapproves the same order
      • Expected result:
        • Order status changes in Customer Portal to Not Approved
        • Customer gets an email that order status was changed
        • It’s no longer possible to approve/unapprove the order for both approvers
    • Case 1.5:
      • Order from Case 1 was sent for approval
      • Customer Portal
      • secondOrderApprover unapproves the same order
      • Expected result:
        • Order status changes in Customer Portal to Not Approved
        • Customer gets an email that order status was changed
        • It’s no longer possible to approve/unapprove the order for both approvers
    • Case 2:
      • Store front
      • Customer sends order for approval.
      • Customer Portal
      • orderApprover does not approve the order
      • secondOrderApprover approves the order
      • Expected result:
        • Order status changes in Customer Portal to Received
        • Customer gets an email that order status was changed
        • orderApprover is not able to approve the order any more
    • Case 2.1
      • Store front
      • Customer sends order for approval
      • Customer Portal
      • orderApprover does not approve the order
      • secondOrderApprover unapproves the order
      • Expected result:
        • Order status changes in Customer Portal to Not Approved
        • Customer gets an email that order status was changed
        • orderApprover is not able to approve the order any more
    • Case 3:
      • Enable Second Approval is false
      • Company has both orderApprover and secondOrderApprover users
      • Store front
      • Customer sends order for approval
      • Expected result:
        • Customer gets order details by email
        • orderApprover:
          • Gets email notification that order is waiting for approval
          • Can (un)approve the order
        • secondOrderApprover:
          • Does not get email notification that order is waiting for approval
          • Can (un)approve the order
    • Case 3.1:
      • Order from Case 3 was approved by orderApprover
        • Expected result:
          • Order status changes in Customer portal to Received
          • Customer gets an email that order status was changed
          • secondOrderApprover is not able to (un)approve order
    • Case 3.2:
      • Order from Case 3 was unapproved by orderApprover
        • Expected result:
          • Order status changes in Customer Portal to Not Approved
          • Customer gets an email that order status was changed
          • secondOrderApprover is not able to (un)approve order
    • Case 3.3:
      • Order from Case 3 was approved by secondOrderApprover
      • Expected result:
        • Order status changes in Customer Portal to Received
        • Customer gets an email that order status was changed
        • orderApprover is not able to (un)approve order
    • Case 3.4:
      • Order from Case 3 was unapproved by secondOrderApprover
      • Expected result:
        • Order status changes in Customer Portal to Received/Not Approved
        • Customer gets an email that order status was changed
        • orderApprover is not able to (un)approve order
    • Case 4:
    • Customer Portal
      • /api/account/customer/configuration endpoint
      • Expected result:
        • selectedCompany has approvalFlowTwoLevel field
        • selectedCompany.approvalFlowTwoLevel contains company.approvalFlowTwoLevel value
    • Case 4.1:
      • Customer Portal
      • Employee details -> Permissions
      • company.approvalFlowTwoLevel is true (Enable Second Approval is Yes)
      • Expected result:
        • There is a secondOrderApprover role in the permissions list
    • Case 4.2:
      • Customer Portal
      • Employee details -> Permissions
      • company.approvalFlowTwoLevel is false (Enable Second Approval is No)
      • Expected result:
        • There is no secondOrderApprover role in the permissions list
    • Case 5:
      • Customer Portal
      • ‘Waiting for final approval’ order details
      • Expected result
        • Order status is red in order details
        • Order status is red in PDF
      • Employee Portal -> Order email:
      • Expected result:
        • Order status is red in email
  26. KOD-16133: Add a Global Setting for Showing Scheduled Delivery Column in Customer Portal
    • Regression Tests
      • Case 1: Check if setting: *customerPromiseDeliveryDateEnabled* has added in setting list on employee side and on /api/account/customer/configuration
      • On employee side go to setting list and find setting by code: *customerPromiseDeliveryDateEnabled*
      • Go to swagger endpoint: */api/account/customer/configuration
  27. KOD-16141: Adding Prop 65 Warning
    • Tests
    • Case 1:
      • Go to customer site
      • Choose any category
      • Choose any product
      • Scroll down to bottom of the page
      • You should see Prop 65 Warning
  28. KOD-16151: Add duplicate code checker for post customer company ticket endpoint
    • Regression Tests
    • Case 1: Throw exception after second time submit ticket with the same *code*
      • Submit new ticket with some *code*
      • Submit ticket again time with same *code*
      • Should be error message about duplicate ticket code
  29. KOD-16162: Allow Multiple File Upload in Gutenberg
    • Regression Tests
    • Case 1:
      • Check that multiple options is disabled by default
    • Case 2:
      • Check if previous logic for single file upload is still working correctly
    • Tests
    • Case 1:
      • Multiple setting should be available only for input file field, and should be unchecked by default
    • Case 2:
      • After turning on the multiple setting, attribute should be added for input field
  30. KOD-16164: Second Level Approval Updates
    • Regression tests:
      • One-level approval flow: customer with role 'orderApprover' can approve and unapprove order.
      • Customer with role 'orderApprover' gets email notification about the order to approve.
      • Customer who created the order gets email when order is approved.
    • Feature tests:
      • Second level approver can approve and unapprove the order, no matter what approval flow company is using.
      • Second level approver gets email notification when it's their turn to approve the order.
      • GET /api/account/customer/configuration returns value of 'approvalFlowTwoLevel' for selectedCompany.
  31. KOD-16175: Display Line Item Notes
    • Tests
    • Case 1:
      • Login to Employee Portal and open an order with order items that have notes
      • Generate an order email and and order PDF and check if the order item notes show up in the description
      • Login to Customer Portal and open an order with order items that have notes; check the order detail screen if the order item notes show up
  32. KOD-16177: Update Punchout cXML Phone Number Formatting
  33. KOD-16182: Product Availability - Add SKU Status to Response
    • Regression Tests
    • Case 1:
      • On store front
      • Make sure that category and product pages are shown and work as expected and show pricing and inventory
  34. KOD-16191: Part 2 - Review 'Amount to Pay' Box in Embedded Portal
    • Regression Tests
    • Case 1
      • Customer Portal -> Open Invoices
      • Logged in user
        • For any open invoice with empty Amount to pay:
        • Set the Amount to pay, update the Reason
      • Expected Result:
        • Amount to pay is saved, reason is saved
    • Case 1.1:
      • Select the invoice from Case 1
      • Make Payment -> Pay Selected Invoices
      • Expected result:
        • Amount to pay is the amount you set in Case 1
    • Case 2:
      • Customer Portal -> Open Invoices
      • Logged in user
      • For the invoice from Case 1:
      • Update the Amount to pay
      • Expected Result:
        • Amount to pay was updated
    • Case 2.1:
      • Select the invoice from Case 2
      • Make Payment -> Pay Selected Invoices
      • Expected result:
        • Amount to pay is the amount you set in Case 2
    • Tests
    • Case 1:
      • Customer Portal -> Open Invoices
      • Logged in user
        • For the invoice from Regression Case 2:
        • Remove the Amount to pay
      • Expected Result:
        • Amount to pay is empty
    • Case 1.1:
      • Select the invoice from Case 1
      • Make Payment -> Pay Selected Invoices
      • Expected result:
        • Amount to pay is the Total Amount - Total Discount
    • Case 2:
      • Customer Portal -> Open Invoices
      • Logged in user
      • For the any invoice where Amount to pay was set:
      • Remove the Amount to pay
      • Expected Result:
        • Amount to pay is empty
    • Case 2.1:
      • Select the invoice from Case 2
      • Make Payment -> Pay Selected Invoices
      • Expected result:
        • Amount to pay is the Total Amount - Total Discount
  35. KOD-16194: Update Terms Message
    • Regression Tests
    • Case 1:
      • If {{orderTerms}} setting is empty or doesn’t exists, default terms should be shown
    • Tests
    • Case 1:
      • Go to checkout and order the product, check order terms on thankYou page
    • Case 2:
      • After ordering, check your email
    • Case 3:
      • Go to Customer Portal ? Orders ? Choose Order ? check order view, and click on print button for checking PDF view
  36. KOD-16195: Update Checkout Third Cart Tab
  37. KOD-16199: Escaping the Space on the ship-to
  38. KOD-16203: Company Notifications Tab Bug
    • Regression Tests
    • Case 1:
      • Go to Customers ? Customer ? Notifications and check if this tab is displayed
    • Tests
    • Case 1:
      • Go to Companies ? Company ? Customers ? Customer ? Notifications and check if this tab is displayed
  39. KOD-16204: Test Budget API
  40. KOD-16207: Update Logo in Invoice
    • Tests
      • Case 1:
        • Login to the Employee Portal and go to Orders screen
        • Click on a sample order and generate an internal file (order PDF)
        • Check the logo if updated
  41. KOD-16208: Adding the categoryOrder Field to the Category Cache
  42. KOD-16217: Cash Discount not Displaying in Statement
    • Tests
    • Case 1:
      • Go to the Employee Portal -> Customers -> Companies
      • Generate a statement PDF
      • Discount for invoice should show up
  43. KOD-16234: Allow Interceptor to Add Search Criteria to Limit Suggester Results