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

July 20, 2023 release notes

Highlights

Operations Portal

Bulk import tickets

Earlier this year, we released a new Services module where you can manage projects, complete tasks, track time, service calls and more. As part of ongoing enhancements in this area, we've added the ability to bulk import tickets from a spreadsheet so that your team can be more efficient in managing ticket data. There are three importing options:

  1. Create & Update - this updates existing tickets in the system from the data in your sheet as well as creates new tickets if the rows in your sheet do not exist in your Kodaris system yet
  2. Create Only - this option only creates new tickets
  3. Update Only - this option only updates existing tickets
459_import_update_create_tickets.png

Tickets

  1. KOD-15098: Allow Paste into Hex Color Code Field in Theme Editor
  2. KOD-15104: Error when Uploading Customer File on a Company Ticket or Activity
    • Customer API:
      • POST /api/account/ticket/list
    • Should get list of tickets assigned to companyID
      • POST /api/account/ticket/company/{companyID}
    • Should create ticket assigned to companyID
      • GET /api/account/ticket/{ticketID}
    • Should read ticket assigned to companyID by ticketID
      • POST /api/account/ticket/{ticketID}/customerFile/upload
    • Upload file to ticketID which has companyID assigned
      • POST /api/account/ticket/{ticketID}/customerFile/list
    • List files attached to ticketID which has companyID assigned.
    • Regressions:
      • /api/system/ticket/{ticketID}/customerFile/upload -
      • Test this endpoint and then try to get the file and check what company assigned to this file (field companyID).
      • If ticket has entityType Company - those company should be assigned, if entityType Order - company from Order should be assigned.
      • Otherwise - throw an error.
  3. KOD-15168: Updates to Inventory Messaging Connected to Primary Warehouse and OAN Items
  4. KOD-15224: Form Issues - error message, no file attached in the email
  5. KOD-15286: Put SEO titles on the rest of the pages
    • For {{Register}} Page check if browser tab title is [Site name] - Register.
    • For {{Login}} page check if browser tab title is [Site name] - Login.
    • For {{Contact}} page check if browser tab title is [Site name] - Contact.
    • For {{Quick Order}} page check if the browser tab title is [Site name] - Quick Order.
    • For {{Checkout Thank You}} page check if browser tab title is [Site name] - Thank You!
    • For {{Credit Application Register}} page check if browser tab title is [Site name] - Credit Application - Sign up.
    • For {{Credit Application Thank You}} page check if browser tab title is [Site name] - Credit Application - Thank You.
    • For {{Credit Application}} Password page check if browser tab title is [Site name] - Credit Application - Set Password.
    • For {{Cart}} page check if browser tab title is [Site name] - Cart.
    • For {{Account Retrieval}} page check if browser tab title is [Site name] - Account Retrieval.
    • For {{Password Reset}} page check if browser tab title is [Site name] - Reset your Password.
    • For {{Error}} page check if browser tab title is [Site name] - Error.
    • For {{Registration Successful}} page check if browser tab title is [Site name] - Registration Successful.
    • For {{Privacy Policy}} page check if the browser tab title is [Site name] - Privacy Policy.
    • For {{Terms of Use}} page check if browser tab title is [Site name] - Terms of Use.
    • For {{Saved for later}} page check if browser tab title is [Site name] - Cart - Saved for later.
    • For {{Payment Received}} page check if browser tab title is [Site name] - Payment Received.
    • For {{Sitemap}} page check if browser tab title is [Site name] - Sitemap.
    • For {{CCPA}} page check if browser tab title is [Site name] - CCPA.
    • Regression Tests
      • Check if SEO titles are correctly displayed for categories, product and content pages.
      • For {{Welcome}} page (default page) check if title is [Site name].
      • Do a general test of the site and ensure everything works as normal.
      • Test placing and order as public and logged in user.
  6. KOD-15332: Fixes for Adding and Updating AP Record
    • Go to AR/AP -> Accounts Payable.
    • Check Last Modified can not be editable.
    • Check when change date in Invoice Date placeholder there is no error.
  7. KOD-15401: Customer Budgets CRUD API
    • New CRUD added: /api/system/companyBudget.
    • No regression here.
  8. KOD-15407: Trigger Error When User Attempts to Upload Image with Duplicate Name
    • Login as Employee.
    • Test A:
      • Go To CMS -> “Media” screen.
      • Upload file and check if it was saved as expected without any errors.
      • Try to upload file with the same name (could be the same file as previously) and check if appropriate error was returned.
      • Upload file with another name (could rename previous file) and check if it was saved as expected without any errors.
    • Test B:
      • Go to CMS -> “Pages” screen and choose one of existing content pages.
      • Go to “Public Files“ tab.
      • Upload file.
      • Try to upload file with the same name (could be the same file as previously) and check if appropriate error was returned.
      • Upload file with another name (could rename previous file) and check if it was saved as expected without any errors.
    • Test C:
      • Go to Products screen (“Search” or “Data” tab) and choose one of the existing products.
      • Go to “Public Files“ tab.
      • Upload same file as: media, additional image, and primary image. (We are able to upload same file under different file type, but file name should be unique for each separate type).
      • Try to upload the same file as: media, additional image, and primary image. Check if proper error returned.
      • Upload file with another name (could rename previous file) as one of file types (Media, Primary Image, or Additional Image) and check if it was saved as expected without any errors.
  9. KOD-15442: Adding Recently Viewed Products
    • QA Tests:
      • Ensure recently viewed products are displayed on Welcome Page, Product, Category, and Search Pages. Please check desktop and Mobile Views. Ensure that the home page looks and works as normal.
    • Regression Tests:
      • Ensure the site runs normally on the customer side browsing pages with logged in and not logged in.
  10. KOD-15441: Add Endpoint for Uploading Customer File to a Delivery by Code
    • New endpoint has been added:
    • Driver Delivery API
    • POST - /api/system/order/driverDelivery/uploadDeliveryDocumentByID
    • If Delivery doesn’t have companyCode - will return OK response and save Internal File
    • If Delivery has companyCode - will return OK response and save Customer File
  11. KOD-15444: Product Category Slider Added to Parent Product Categories
    • Regression Tests:
      • Navigate to a category page that does not have a banner already.
      • Ensure that no banner is displayed and the category works as normal.
      • Test adding products to cart, filtering, sorting, etc.
      • Navigate to a category page that already had a banner before the deploy.
      • Ensure that the banner is displayed and the category works as normal.
      • Test adding products to cart, filtering, sorting, etc.
    • As a logged in customer
      • Navigate to a category page that does not have a banner already.
      • Ensure that no banner is displayed and the category works as normal.
      • Test adding products to cart, filtering, sorting, etc.
      • Navigate to a category page that already had a banner before the release.
      • Ensure that the banner is displayed and the category works as normal.
      • Test adding products to cart, filtering, sorting, etc.
    • Login to the employee portal
      • Go to a category page on the commerce site.
      • Test displaying and hiding the banner using the "manage category" button.
      • Test changing the banner image.
      • Test setting the banner link.
      • Test configuring and displaying the category’s subcategory slider.
      • First test displaying the subcategory; it should not show up because you didn’t set the title or configure the subcategories with primary images.
      • Set subcategory slider title.
      • Then add primary images to at least 6 of the category’s subcategories.
      • Test that the slider shows up on the parent category now.
      • Make sure it looks and works good on both desktop and mobile.
  12. KOD-15446: BI Updates
  13. KOD-15474: Filter Out Restricted Products from Product Page
  14. KOD-15482: Deleting Custom Record Briefly Shows Contents
    • Click the Delete button on the custom record. Check that the content of the record to delete won’t be displayed.
  15. KOD-15502: Checking All Fields Are Available in Data Tab and Column Options under AR/AP-Vendors Screen
    • On AR/AP -> Vendors screen ("Search" and "Data" tabs), please check if all available columns are shown, can be picked and shown.
  16. KOD-15515: Add Detail Screen to Discounts
    • Regression
      • On Discounts -> pick discount -> detail
      • Please check if there are ranges and detail tabs and all works well
  17. KOD-15522: Add Additional Endpoints for Warehouse Data Transfers
    • Tested on API level these new endpoints:
      • POST /api/system/warehouseTransfer/{warehouseTransferID}/changeBillingAddress
      • POST /api/system/warehouseTransfer/{warehouseTransferID}/changeDeliveryAddress
    • No regressions
  18. KOD-15530: Add Import UX to Tickets Screen
    • Go to "Tickets" page
    • Go to "Data" tab
    • Try to import file
  19. KOD-15534: Setup Credit Application
  20. KOD-15543: Switch blankLogo for Hosted Image
    • On vendor detail and company detail screens, please check if placeholder logo is shown if you have no logo uploaded for the vendor or company
  21. KOD-15560: Pre Selected Fields on Credit App Don't Populate in Generated PDF
    • Please check if these fields are saving correctly
  22. KOD-15569: Add New Updated Credit App to Demo Site
    • As a guest user:
      • Navigate to “/spcu/credit-application-register”. Here you should enter your email address to sign up for credit.
      • You should receive an email with a link to reset your password.
      • Reset your password following the link.
      • Login as prompted.
      • After login you should automatically be redirected to the credit application form.
      • Fill out the credit application. If you leave and come back later, the data that you entered should pre-fill the form.
      • Once you are ready to submit the form, click complete.
    • Regression tests:
      • Test logging in on both the header and the login page. Make sure it works fine and you should not be redirected to credit app.
  23. KOD-15597: Update Template to Display Inventory to Logged In Customers
  24. KOD-15611: Add Endpoints to List Internal Files and Customer Files for a deliveryID
    • Endpoints to test:
      • GET {{/api/system/delivery/{deliveryID}/customerFile/{customerFileID}/view}} - Allows to download delivery customer file.
      • POST {{/api/system/delivery/{deliveryID}/customerFile/list}} - Get list of delivery customer files.
      • GET {{/api/system/delivery/{deliveryID}/internalFile/{internalFileID}/view}} - Allows the download of delivery internal file.
      • POST {{/api/system/delivery/{deliveryID}/internalFile/list }} - Get list of delivery internal files.
  25. KOD-15635: Create Server Side API for /api/system/productFacet
    • These server side endpoints for ProductFacets have been tested by using JS User Scripts.
      • GET {{/api/system/productFacet/{productFacetID}}} - Reading Product Facet.
      • GET {{/api/system/productFacet/facetCategory/{facetCategoryID}}} - Reading Facet Category.
      • POST {{/api/system/productFacet}} - Creating Product Facet.
      • POST {{/api/system/productFacet/list}} - Reading list of Product Facet.
      • POST {{/api/system/productFacet/facetCategory}} - Creating Facet Category.
      • POST {{/api/system/productFacet/facetCategory/list}} - Searching DB for categories.
      • POST {{/api/system/productFacet/facetCategory/listByFacetCode/{facetCode}}} - Searching DB for Categories by facetCode.
      • POST {{/api/system/productFacet/facetCategory/{categoryID}/products}} - Searching DB for Products under facet category by category id.
      • POST {{/api/system/productFacet/products/list}} - List Products with facet categories from DB.
      • POST {{/api/system/productFacet/facetCategory/categoryID/{categoryID}/productID/{productID}}} - Assign product to a facet category by id.
      • POST {{/api/system/productFacet/facetCategory/categoryCode/{categoryCode}/productCode/{productCode}}} - Assign product to a facet category by code.
      • POST {{/api/system/productFacet/facetCategory/productCategory}} - Assign product to a facet category by code.
      • POST {{/api/system/productFacet/facetCategory/categoryCode/{categoryCode}/productCode/csv}} - Bulk assign Products to Category by .CSV file.
      • POST {{/api/system/productFacet/{productFacetCode}/import/{mappingCode}}} - Import attribute categories and associate with specific FacetGroup.
      • PUT {{/api/system/productFacet/{productFacetID}}} - Updating Product Facet.
      • PUT {{/api/system/productFacet/facetCategory/{facetCategoryID}}} - Updating Facet Category.
      • PATCH {{/api/system/productFacet/{productFacetID}}} - Partially updating Product Facet.
      • PATCH {{/api/system/productFacet/facetCategory/{facetCategoryID}}} - Partially updating Facet Category.
      • PATCH {{/api/system/productFacet/facetCategory/{categoryCode}/productByCode/{productCode}} - Partially updating ProductFacetCategory.
      • PATCH {{/api/system/productFacet/facetCategory/productCategory}} - Partially updating ProductFacetCategory.
      • DELETE {{/api/system/productFacet/{productFacetID}}} - Delete Product Facet.
      • DELETE {{/api/system/productFacet/facetCategory/{facetCategoryID}}} - Delete Facet Category.
      • DELETE {{/api/system/productFacet/facetCategory/categoryID/{categoryID}/productID/{productID}}} - Unassign product from category by id.
      • DELETE {{/api/system/productFacet/facetCategory/categoryCode/{categoryCode}/productCode/{productCode}} - Unassign product from category by code.
      • DELETE {{/api/system/productFacet/facetCategory/productCategory}} - Unassign product from category by code.
  26. KOD-15650: Error When Adding a Product List
  27. KOD-15654: Companies -> Catalog Fix the Error ExternalID Is of Incorrect Type
    • Please check if external id is updatable for type string
  28. KOD-15656: Add showInventoryPublic Setting to Install Process
    • Check showInventoryPublic setting if = 0
  29. KOD-15662: Auto-tendering Should Check Against totinvord, Not Order.total
  30. KOD-15664: Update Customer Password Email URLs
  31. KOD-15671: UX Needed - Add Links to Ticket Screen
    • Check if linked ticket has link on code number
  32. KOD-15674: Rounding Issue for Price Engine
  33. KOD-15675: Fix Indexing Error
  34. KOD-15699: Add Interceptor Before Company Address Lookup During Punchout Order Request
    • Regression Testing:
      • Test punchout OrderRequest endpoint with test orders and make sure that the order is still created correctly with the correct shipping and billing addresses provided.
  35. KOD-15701: Issue with Punchout and POs
    • Ensure that guest checkout and logged in user checkout works as normal.
    • Test checking out as logged in user with the following steps:
      • Add item to cart.
      • Go to second checkout tab and select a delivery address.
      • Then go to third tab and enter a PO number.
      • Refresh the page, and select a different delivery address.
      • Go to third tab and make sure your PO number is still there.
      • Submit the order.
      • Go to Employee Portal and make sure your PO number is still on the order.
  36. KOD-15705: Fix Employee updatePassword Endpoint
  37. KOD-15729: Set a Last Modified on Synced Product Prices
  38. KOD-15738: Customer App - Fix Request Account Screen