All Releases
View all releases

July 13, 2023 release notes


Operations Portal

View and manage products on company catalogs from the global company catalog screen

You can manage product catalogs for individual companies by navigating to Companies > Company > Catalog. In a previous release, we also added a screen that displays all the company catalogs in the system across all companies. You can view these catalogs by going to Customers > Company Categories. As a followup enhancement, we've added an Items tab where you can view and manage the products on the catalog you've selected from the global screen.


View and edit individual inventory conversions

In this release, we've added a detail screen for inventory conversions which displays a form with all the inventory conversion's fields. You can view and update the fields from this screen as well from the spreadsheet.


View a company's child companies

In your Kodaris system, you can link companies together in a hierarchical tree. Users set up on the parent company can view and manage all child companies. Users set up under a child company can only view and manage the child company. You can use this for your customers who have multiple ERP accounts and you need them to be able to access several ERP accounts with one login. This is at the Customer level and then you can also have unlimited shiptos on each Customer account as well.

In this release, we've added an easy way to view a company's child companies. Navigate to Companies > Company > Child Companies. The child companies screen displays all companies that are linked under the selected company.



  1. KOD-13951: Update ErpSetting Service
    • 1. POST: /api/system/erpSetting/export
    • 2. POST: /api/system/erpSetting/list
    • 3. Server API POST: /api/system/erpSetting/list
    • Regression tests on employee portal:
      • Go to Erp Setting page tab -> check list page
      • At the same screen try to export ERP Settings (menu File -> Export) - export should work without any disruption.
  2. KOD-14148: Display Inventory on Product Category/Search, Product Details Pages
  3. KOD-14612: Support more inventory settings on public pricesByCodes endpoint
    • *Regression Tests:*
      • On page with products (category page):
        • Check if price is shown
        • Check if inventory values are shown
  4. KOD-14616: Add UX for Intranet CMS
    • Should work exactly the same as CMS -> Pages but with restrictions because of API is not full yet
    • Regression:
      • Please make sure that all previous logic for content pages works as expected; the main goal that we don’t have all API endpoints for Intranet pages and we must have an error message for unsupported logic.
  5. KOD-14790: Add company and company address mappings to test server
  6. KOD-15041: Add CSD API Call for Payment Received on Account
    • Please test lump sum if it’s turned on.
    • For testing this, please use endpoint:
      • POST: /api/account/paymentProcessing/pay/paymentOnAccount
      • Requires someone on the CSD side to confirm payment data received.
    • The regression test will be with the same endpoint.
  7. KOD-15189: Update /api/account/paymentProcessing/verifyBankAccount endpoint with system one
    • Open Accounts Receivable screen. At the top find *Verify Bank Account* button. Fill in the form and submit it.
      • If you enter a good ACH account, should respond with success message
      • If you enter an invalid ACH account, should respond with error message and details about what the error was
  8. KOD-15192: Open invoices screen APIs for Employee Portal
    • These new endpoints could be tested only on API level:
      • 1. POST: /api/system/payment/searchOpenInvoicesWithPeriods
      • 2. POST: /api/system/payment/searchTotalAmountToPayForInvoices
      • 3. POST: /api/system/paymentProcessing/search/pay/orders
      • 4. GET: /api/system/paymentProcessing/methods/all
    • Regression tests on API level for the following endpoints:
      • POST: /api/account/paymentProcessing/search/pay/orders
      • POST: /api/account/payment/searchTotalAmountToPayForInvoices
    • UX Regression:
      • Make sure that:
      • Customer Portal -> Open Invoices screen Payment dialog shows correct totals.
      • Payment dialog shows correct discounts.
      • It’s possible to pay for an invoice/invoices.
  9. KOD-15214: Add Screen to Operations Portal to View Company Tree
    • 1. Open any Company details and set the parent company for it. This can be any company, but you can use this for example MyCompanyTEST as a parent company.
    • 2. Repeat step 1 with a couple of other companies.
    • 3. Go to the company that you've assigned as a parent. Click Child Companies Tab at the top nav (refer to the first attachment screenshot). The URL of Child Companies Screen should be /companies/{parent-company-id}/child-companies.
    • Child Company Screen should replicate global company screen (data) except start quote, start cash quote, start order, and toggle comments buttons.
    • 4. By clicking on the details button, company details page should be opened.
    • 5. When adding a new child company at the bottom of the table, the company that will be added should be the child company of the current company. You can check this when clicking on details of newly added company and check Parent Company Field.
    • 6. Check updating behavior (updating fields) and delete - these shouldn’t differ from behavior on the global Companies Screen.
  10. KOD-15223: Update Timezone for date time in Payment Email
    • Log into employee portal
      • Subscribe to new notification of comment made as an employee
      • Go to a AR record, make a comment
      • See if the notification you get is in webTimeZone
  11. KOD-15245: Add two tabs for monthly stats for trending charts
  12. KOD-15276: Add Manufacturer Product Code to Product Details Page
    • Go to a category
    • Choose any product
    • Verify if there is a manufacturer code displayed
    • Also test that the manufacturer and part number display fine
    • Test that the display looks fine on both desktop and mobile
  13. KOD-15280: Add A+ product and SKU mappings to test system
  14. KOD-15283: Adding items tab to company catalog in employee portal
    • Regression:
      • Go to Company Categories > Company Product Category > Items
      • Please check if Items tab is present on global company catalog screens in the employee portal
  15. KOD-15301: Vendor Quote - add UX to vendor quotes tab
    • Open CRM -> Quotes.
    • Choose any Quote and open Quote Detail Page.
    • Click on ‘Upload Vendor Quote’ button.
    • Check that 'Upload Vendor Quote' modal is opened.
    • Select Vendor.
    • Select Importer.
    • Upload a file.
    • Click 'Upload' button.
    • Check that you were redirected on the page Vendor Quote Detail.
    • Open Quote Detail Page where you did uploading previously.
    • Open Vendor Quotes tab.
    • Check Vendor Quote was added to the table.
    • Also check that the file you uploaded is stored under Internal files, not customer files.
  16. KOD-15320: Order Mapping
    • Fields that we need to check are in “extension_attributes” field on Magento Order.
    • Make sure that payment_warehouse from Order in Magento goes into warehouseCode field.
    • Make sure that po_number from Order in Magento goes into purchaseOrder field.
    • Make sure that order_notes from Order in Magento go into notes field.
    • Make sure that order_contact from Order in Magento (first name, last name, email, phone) also go into notes field.
    • Make sure that shipto OrderSetting is created with the same value as shipto CompanyAddressSetting that can be found by code specified in “shipto” field on Magento order.
    • Make sure that shippingMethod on Kodaris Order is set to the same value that can be found in shipping_assignments[0].shipping.method for Magento Order.
  17. KOD-15329: Customer Portal Missing Invoice Data Available in Operations Portal
  18. KOD-15352: [Employee Portal] Make it possible to filter AR screen by Web Order #
    • # Go to AR screen and try to add some space after number value, now it should filter without error
    • *Regression test:*
      • * Ensure that data still displays in the web order number column fine
  19. KOD-15374: Handle password expiration error when we login with Google
    • Please set up expired password Employees ? Your Employee ? Password Expires (field)
    • Make sure that google sso is configured on your server
    • Try to login with google button
    • You should be redirected to forgot password screen
    • Regression:
      • Please recheck password expiration logic with default login flow, you should be redirected to forgot password screen as well
  20. KOD-15400: CCPA Form Updates
    • Please check if the updates are reflecting
  21. KOD-15402: Scheduling Payments APIs
  22. KOD-15404: Customer Portal Updates
    • Make sure that on Mobile View the same Tabs are displayed as on Desktop View. (For example: Tabs Lists, Locations, and Employees are hidden on Mobile.)
    • Go to operations portal settings. {{customerIntegrationsEnabled}} setting set to 0 (false). Return to Customer Portal. On Company Account *Integrations Tab* is hidden (For Desktop and Mobile).
    • # If {{customerIntegrationsEnabled}} setting set to 1 (true), in Customer Portal Company Account Integrations Tab *is not* hidden (For Desktop and Mobile).
    • # On Orders tab, ERP # should link to Order details screen. Link should be clickable. Link should look the same as on open invoices screen {{Invoice ID}} column.
  23. KOD-15408: Check if speed improvements could be applied
  24. KOD-15413: CMS page editor parent category null error
  25. KOD-15418: Display R Value in Qty Conv after Selected
    • Please go to cash-quotes ? choose any quote ? items
    • On bar with additional fields pick “qty conv”; there should be something like “1 / EA”
  26. KOD-15423: BI Updates
  27. KOD-15432: Fix gap under search box and cursor should be pointer when hovering on search items in product documentation page
    • Please check if there no gap and cursor is pointer
  28. KOD-15466: Add details tab to Inventory Conversions screen in Operations Portal
    • Case 1
      • Open PIM -> Inventory Conversions.
      • Choose Inventory Conversion and open Details page.
      • Check that Inventory Conversion Detail page consists of General Info (editable fields) and Summer (readonly fields).
    • Case 2
      • Open PIM -> Inventory Conversions.
      • Choose Inventory Conversion and open Details page.
      • Try to edit any field from the General Info section.
      • Check field which you just edited was successfully updated.
  29. KOD-15474: Filter out Restricted Products from Product Page
    • Pages that were updated: Product Page.
    • *Prerequisites:*
      • There should be at least one company address that has the restricted region
      • There should be some products that are restricted
    • You can update selected address in two places on the website:
      • Header -> top left corner
      • Cart -> Cart Address -> Delivery Address -> Search for a shipping address dropdown
    • Please note that when you change the shipTo address it won’t be changed in the header, only after you reload the page
    • Case 1:
      • Go to Product List page.
      • Select the address which region is not restricted in header.
      • Filter out products that are not restricted and find a non-restricted product.
      • Open product page.
      • Make sure the product is available.
    • Case 2
      • Stay on the Product page.
      • Select the address which region is restricted.
      • Make sure the product details page shows the Error: Product with code xxx not found.
    • Regression:
      • Make sure that:
      • It’s possible to view details for non-restricted products for both non-restricted and restricted addresses.
  30. KOD-15506: Create ToDo ticket from contact us form submission
    • Regression test that submitting a contact form still sends an email
  31. KOD-15511: Create export for company product categories and company catalog products
    • Added endpoints:
    • POST /api/system/companyProductCategory/export
    • POST /api/system/companyProductCategory/{companyProductCategoryID}/product/export
    • Test A:
      • Do not use export on UX as it still uses FE export.
      • Try to export company categories using POST /api/system/companyProductCategory/export and re-import those categories on appropriate screen (you can add new categories or update existing).
    • Test B:
      • Do not use export on UX as it still uses FE export.
      • Try to export company category products using POST /api/system/companyProductCategory/{companyProductCategoryID}/product/export and re-import those categories on appropriate screen (you can add new category products or update existing).
  32. KOD-15523: Return number for footageconversionfactor endpoint
    • Test:
      • GET /api/user/product/{productID}/footageConversionFactor should return the conversion factor for specified product in Number format (instead of string format - "0.00011") and should return null instead of "null" when no factor exists.
    • Regression:
      • Retest Square footage calculator and make sure it works as expected.
  33. KOD-15529: In cart indicator
    • Case 1:
      • Open website
      • Click on category
      • Click on item
      • Click on Grid View Button
      • Choose cart and click ‘Add to Cart’ button
      • Check that icon with appropriate quantity was added at the right corner of the tile
    • Case 2:
      • Open website
      • Click on category
      • Click on item
      • Click on List View Button
      • Choose cart and click ‘Add to Cart’ button
      • Check that icon with appropriate quantity was added to the tile
    • Regression tests:
      • +For the category and search pages:+
      • Make sure that pricing still shows fine
      • Ensure that items that do not fall under contractual pricing do not show the cart, list, and quantity buttons
      • Ensure that adding to cart works fine for both list and grid view
      • Test as a logged out user and make sure the pages still look and behave as normal
  34. KOD-15532: Need to add a field for R value to display R Value in Qty Conv after Selected
  35. KOD-15536: Filter out Restricted products
    • You still should be able to open any visible product page.
    • Test A:
      • Open any product page
      • Note the product code
    • For and refresh product page - expected result: error page - product not found
  36. KOD-15538: Add Settings to the Customer Configuration Endpoint
  37. KOD-15539: Company Catalog and Company Category importers don't work
  38. KOD-15540: Surface companyCode and externalID in company catalogs grids
    • On company-categories please check if {{externalID}} and {{companyCode}} fields are available.
    • Company code should be readonly and externalID should be editable.
  39. KOD-15546: Install ERP Mappings
  40. KOD-15553: Install more ERP Mappings
  41. KOD-15555: Surface companyCode and externalID in company catalogs grids
    • On UI side got to product category page and then check if return records with *companyCode* and *externalID*
    • Need to import record with externalID
  42. KOD-15559: Update footer to match existing site
  43. KOD-15561: When using punchout, we still see the shipping/billing selection screen
    • Log in as a *Punchout* user.
    • Open Cart. Go to the Location Section.
    • Click the *Next Button* when you are on The Order Tab. You won’t be able to get to *Location* Tab (it will be skipped) and you’ll go to the Payments Tab.
    • *Regression Tests:*
      • Check the whole cart flow as punchout and non-punchout users.
      • For both users, you should be able to open all the tabs by clicking on them as usual.
      • For non-punchout user: Next and Previous buttons' behavior should remain the same.
      • For punchout user: Previous buttons' behavior should remain the same.
      • Make sure you test successfully checking out
  44. KOD-15565: Exported AR File Returns More than 1k Records
    • Go to accounts-receivable, press Pull payments to ERP and you should see popup like on first screenshot, with title: Pull Web Account Payments, and note: *A maximum of 1000 payments will be pulled.
  45. KOD-15566: Remove error message when company is selected on Punchout screen
    • Case 1:
      • Open Employee Portal
      • Go to Development ? Punchout screen
      • Using “Select company“ autocomplete please select one
      • Make sure there are no error snackers displayed
    • Regression:
      • Select company from suggested in autocomplete
      • If “Edit XSLT” code-editor value remains empty make sure there are no error snackers displayed
  46. KOD-15572: Surface new fields on Company Catalog Product grid
    • Go to companies -> pick a company -> catalog and there please check if there are all fields mentioned above
  47. KOD-15574: Create Prop 65 and Accessibility Pages
  48. KOD-15603: Do not display Inventory for not logged in Customer
    • Test A:
      • Login to Employee portal and check if setting 'showInventoryPublic' is turned off(if exists).
      • Do NOT login as Customer and try to open any product page.
      • Check if “api/user/product/pricesByCodes“ endpoint returned 200 and empty data for: "warehousesAvailability" and "skuData" fields.
      • Go back to Employee portal and enable 'showInventoryPublic' setting.
      • Try to open any product page again and check if “api/user/product/pricesByCodes“ endpoint returned 200 and actual data for: "warehousesAvailability" and "skuData" fields .
    • Test B:
      • Check if 'showInventoryPublic' setting if disabled.
      • Login as Customer.
      • Try to open any product page and verify that “api/user/product/pricesByCodes“ endpoint returned 200 and actual data for: "warehousesAvailability" and "skuData" fields as user was logged in.
    • Regression:
      • Make sure showInventoryPublic setting exists and is set to 1.
      • Make sure inventory is still showing fine on the Product page, Product List page.
  49. KOD-15608: Check Permission to Edit Top Categories
    • Go to operations portal -> CMS -> Menus -> Top Categories (you can check with/without permission for your employee)
    • Check if categories will be loaded with categoryView permissions
  50. KOD-15639: Add new company action setting to readDetails endpoint
    • Create new company
    • Go to company detail page
    • Should be result, *creator = email of logged user*