All Releases
View all releases

June 15, 2023 release notes


Operations Portal

View and manage order discount records attached to an order

During order entry, you can view and edit any additional charges and discounts on an order from the order detail screen. In this release, we've also added a tab to the order screen which lists the additional charges and discounts in a spreadsheet. You can select which discount fields you'd like to see in the spreadsheet and also update, create, and delete discount records on the order using this view.


Debug custom pricing matrices and levels

Under Pricing & Discounting, you can use the price debug screen to troubleshoot pricing issues and determine how the price on a product is derived. In this update, we've added two new inputs to the debug screen: Price Group and Price Level. If you have custom pricing matrices because you are leveraging the Kodaris dynamic price matrix injection feature and / or dynamic levels features for your pricing, you can input these as well when debugging pricing.


Import shipping methods

You can now import shipping methods in your Kodaris operations portal. Navigate to Orders > Shipping Methods and then choose File > Import. There are three available importing options: Create & update, create only, and update only. Choose the import option you'd like to use and then select the csv file with the shipping methods you'd like to import.


Mass data maintenance

In your Kodaris system, you can import data by using the File > Import option found throughout most screens in the operations portal. In this release, we've also added a dedicated Import screen where you can import data by choosing the importer you'd like to use and selecting the file you want to import. Many importers are supported including importers for products, categories, attributes, companies, and much more. You can also create / develop your own custom importers if you need do custom data imports. Those will be displayed on this screen as well.



Select the template you'd like to use when generating statements

As part of the Kodaris AR automation platform, Invoices and Statements can be sent to customers through Kodaris. In the operations portal, you can generate and send statements manually to your customers by navigating to Companies > Company and then choosing Generate Statement. In this release, we've added support for multiple statement pdf templates that you can send manually. You can create as many statement templates as you would like and when you generate and send a statement to a customer manually, you can choose which template you would like to use. This is useful when you need different formats for different customers or different formats for various delivery methods. For example, you might need one format for electronic statements and another format for physical mailing.


Send physical invoices and statements via mail

Kodaris has partnered with Datamatx in order to service all of your mailing needs when using the Kodaris AR Automation platform. The partnership is turn key and transparent to Kodaris customers. Kodaris takes care of all process and delivery of all data to Datamatx delivering a seamless, turn key experience when needing to continue to deliver physical mailings to your customer.


Add and manage product category banners

In this release, we've added the ability to add and manage banners on your commerce product category pages. You can use these for product merchandising or additional informational purposes. To upload a banner on a product category,
1. Login to the operations portal
2. Navigate to the product category page you would like the banner to be displayed
3. Choose Manage Banner and a popup will open where you can select the image and also provide an optional link for the banner.
Note: this feature is requires a commerce template update in order to be used. Please reach out to your account manager if you would like to leverage this new capability.


Sort products in company and company group catalogs

In Kodaris, you can create personalized product catalogs for your customers. When they login into their account, they can view and order from these catalogs along with the main product catalog. In this release, we've added the ability to sort the products in the personalized customer catalogs. Sort options are now also available on customer specific catalogs. You can also add and configure additional sort options that are available with your data.


Customer Portal

Search for both lowercase and uppercase matches

In the customer portal, we've updated all column filters to be case-insensitive. You can search for a record by entering either a lowercase or uppercase search string and all matches will be returned. Both uppercase and lowercase. This is removes pain point when you have data with mixed cases.



  1. KOD-9247: Optimize category SEO for category page
    • Test on the site, both as a logged out and logged in user, Home, Product, Category, Search, Checkout, COD payments pages and order history in customer portal
  2. KOD-8482: Push Orders
    • Testing uploading an order on the customer side and checking out.
  3. KOD-13809: Inactive Catalog still displaying on commerce site under Shop By Categories
  4. KOD-13913: Vendor Quotes Tab and Upload
    • Testing in Employee Portal.
      • Permissions:
        • To view global quotes: 'vendorQuoteView', 'vendorQuoteEdit'.
        • To view Vendor quotes under Quotes: 'quotePurchaseView', 'quotePurchaseEdit' + ‘quoteView’ to view quotes + ‘vendorView’ to view vendors.
      • Case 1:
        • On the side menu under the AR/AP section.
        • Added Vendor Quotes menu item under Vendor Invoices.
      • Case 2:
        • Under Vendor Quotes screen.
        • Added Search and Data tabs.
      • Case 2.1:
        • Testing Under Search screen - the table lists vendor quotes and showing vendor quote details
      • Case 2.2:
        • Testing Data screen - the table lists vendor quotes, showing vendor quote details and restricted to add, edit or delete vendor quote.
      • Case 3:
        • Testing vendor quote Details screen - Details and Items tabs exist, restricted to edit any field
        • Testing Items screen: Restricted to add, edit or delete vendor quote items.
      • Case 4:
        • Testing Quote details page - Shows the Upload Vendor Quote button at the top bar.
      • Case 5:
        • Testing Vendor Quotes tab in Quote details - table lists current quote vendor quotes, view vendor quote details, restricted to add, edit or delete vendor quote in the table.
      • Case 6:
        • Testing Upload Vendor Quote button.
        • Upload Vendor Quote dialog appeared - Able to select vendor from dropdown and also select a vendor quote file.
      • Case 7:
        • Testing selecting vendor and file from the Upload Vendor Quote dialog.
        • A vendor quote was started.
        • Page was redirected to Quote Details => Vendor Quotes => Vendor Quote Detail screen.
        • Created Vendor quote appeared in Quote Details => Vendor Quotes table.
      • Case 8:
        • Testing details for the vendor quote created.
      • Case 9:
        • Vendor quotes global screen and Vendor quote global details screen are available with the next permissions:
          • 'administrator', 'superuser'.
    • Permissions.1.
      • Case 9.1:
        • Testing Vendor quotes global screen and Vendor quote global details screen are not available with any other permissions except the listed above.
      • Case 10:
        • Testing Quote => Vendor quotes screen and Quote => Vendor quote details screen are available with the next permissions:
          • 'administrator', 'superuser'.
    • Permissions.2.
      • Case 10.1:
        • Testing Vendor Quote => Vendor quotes screen and Quote => Vendor quote details screen are not available with any other permissions except the listed above.
  5. KOD-13961: Note Service
    • Affected the following endpoints:
      • Server API:
        • POST: /api/system/note/list
        • /api/system/order/{orderID}/note/list
        • POST: /api/system/productPrice/{productPriceID}/note/list
        • POST: /api/system/vendorInvoice/{vendorInvoiceID}/note/list
        • POST: /api/system/customer/{customerID}/note/list
        • POST: /api/system/company/address/{companyAddressID}/note/list
        • POST: /api/system/employee/{administratorID}/note/list
        • POST: /api/system/company/{companyID}/note/list
        • POST: /api/system/vendor/{vendorID}/note/list
      • Regular:
        • POST: /api/system/note/list
        • POST: /api/system/accountsPayable/{accountsPayableID}/note/list
        • POST: /api/system/cms/{cmsID}/note/list
        • POST: /api/system/company/address/{companyAddressID}/note/list
        • POST: /api/system/company/{companyID}/note/list
        • POST: /api/system/contentPage/{contentPageID}/note/list
        • POST: /api/system/customer/{customerID}/note/list
        • POST: /api/system/order/{orderID}/note/list
        • POST: /api/system/payment/{paymentID}/note/list
        • POST: /api/system/product/{productID}/note/list
        • POST: /api/system/productPrice/{productPriceID}/note/list
        • POST: /api/system/ticket/{ticketID}/note/list
        • POST: /api/system/vendor/{vendorID}/note/list
        • POST: /api/system/employee/{administratorID}/note/list
        • POST: /api/system/purchaseOrder/{purchaseOrderID}/note/list
        • POST: /api/system/vendorInvoice/{vendorInvoiceID}/note/list
      • The follow endpoints were tested on API level:
        • POST: /api/system/accountsPayable/{accountsPayableID}/note/list
        • POST: /api/system/cms/{cmsID}/note/list
        • POST: /api/system/contentPage/{contentPageID}/note/list
        • POST: /api/system/order/{orderID}/note/list
        • POST: /api/system/purchaseOrder/{purchaseOrderID}/note/list
    • Regression test possible only for regular endpoint: Testing employee portal for below:
      • System->Internal Notes - all existing notes shown without any error.
      • Customers->Company Address, under Company Address adding a comment in Comments.
      • Customers->Company, creating new comment for any Company.
      • Customers->Customers, creating new comment for any Customer.
      • AR/AP->Accounts Receivable, creating new internal comment for any Payment.
      • PIM->Products, creating new internal comment for any Product.
      • Pricing & Discounting->Pricing, creating new internal comment for any Price.
      • Services->Tickets, creating new internal comment for any Ticket.
      • AR/AP->Vendors, creating new internal comment for any Vendor.
      • Operations->Employees, creating new internal comment for any Employee.
      • AR/AP->Vendor Invoices, creating new internal comment for any Vendor Invoice.
  6. KOD-14115: Enforce Setting
  7. KOD-14193: UX on Product Page for Ordering Insulation by the Square Foot
    • Specific category defined
    • Testing product detail page
    • Testing fg_displayFootageCalculator
    • Product configured and has valid footage conversion factor - button "calculate your needs" displayed
    • Regression test.
      • Throughly test category, search, and product detail pages on test during staging testing.
  8. KOD-14270: Tickets Team Facet Unusual
  9. KOD-14340: Debug Delivery Notifications not Being Received
  10. KOD-14403: Customer Portal: Make possible to set width to table column
  11. KOD-14410: Add UX for AP
    • New Data grid added on employee portal under Accounts payable
    • Each account payable should have Details page, Customer Comments, Internal Comments and Custom Fields tabs
  12. KOD-14426: Update Import by External ID Screen and Name
  13. KOD-14443: QA - Content
  14. KOD-14498: Customer Portal Search Field Case Sensitive
    • Under Orders -> the search by purchaseOrder field is now case insensitive
    • Regression:
      • Tested filtering by contains in several other screens and columns.
  15. KOD-14540: QA - Customer App on ios
  16. KOD-14559: QA - Customer App on ios
  17. KOD-14615: Delete Job
    • In employee portal under System->Scheduler, job name removed
  18. KOD-14623: Create Mass Upload
    • Flow 1
      • Testing Employee portal -> System -> Import
    • Case 1:
      • Input scriptName of importer then -> Choose appropriate importer.
      • Click "Import Files" button -> choose valid file for chosen importer.
      • Networking tab has response code - 200, and shows text Success! starting the import process and email alert will also be sent.
    • Case 2:
      • Not choosing importer from the list.
      • Testing "Import Files" button -> choose file
      • Request is not sent and shows error with red plug with text "Please select the importer you'd like to use"
    • Regression:
      • There's no regression in the scope of this ticket.
  19. KOD-14645: Creating Template
  20. KOD-14654: Add global company category screen
    • Added Company Product Categories page (/company-product-categories) and
    • Company Product Categories detail page under Portal > Customers
    • Testing employee portal under /operations/company-product-categories
    • Testing updating and deleting company product categories
    • Testing detail page to update company product categories
  21. KOD-14713: Customer App - Faceting and filtering updates
  22. KOD-14742: Adding a tab for listing order discounts in order detail page in employee portal
    • Testing an order in operations portal. Inside mat-tab-links click on the Order Discounts Tab right before Custom Fields.
    • Page redirected to order discounts
    • Showing a grid table with all discounts for an order. Discount ID, Order ID and Order Discount ID columns are restricted to enable edit.
    • Testing adding new discount. Order item Id column will autocomplete and ask to select items for current order. Discount ID, Order ID and Order Discount ID columns restricted to edit.
    • Update existing discount. Discount ID, Order ID and Order Discount ID columns aren't editable. Unable to set value in the column Code to an empty value.
    • Delete a discount by deleting the whole row in the table.
    • Check that deletion of the Code cell. Unable to delete values inside the Code column.
    • Click details button on any discount for Discount Details.
  23. KOD-14926: BI Enhancements
  24. KOD-15057: Create UX to specify Template to use for Statement PDF
    • Testing companies -> company screen
    • Testing generate statement button and choosing generate
    • Configuration popup showing, choosing template for statement and then generate
    • File generated and redirected to InternalFiles tab
  25. KOD-15058: Requested UX Updates
  26. KOD-15095: Remove Owner Ability
    • Adding an owner through Credit Application form (new Customer should be created).
    • Removing an owner through Credit Application form (Customer should be deleted).
    • Adding a credit reference through Credit Application form (new Company Address should be created).
    • Removing a credit reference through Credit Application from (Company Address should be deleted).
  27. KOD-15097: Content Menu Function with Multi Host Pages
    • Testing content pages, both from the side menu and the navigation bar in the header.
  28. KOD-15106: Add endpoint for view/download customerFiles from Customer Portal
    • GET /api/account/company/{companyID}/customerFile/{customerFileID}/view which returns company's customer file if user has access to specified company. If parameter 'download' is true then file should be available for download, otherwise just viewing.
      • needed roles : companyAdmin or accountsPayable
    • GET /api/account/company/{companyID}/customerFile/{customerFileID}/view try to send companyID which user has NO access to, so we can check user not able to get customer file of non-allowed company. Should return forbidden error.
      • needed roles : companyAdmin or accountsPayable
  29. KOD-15108: Click into Quote Details from Quotes > Data Tab
    • Case 1:
      • Open Quotes
      • Open Data Tab in Quotes
      • Click the Details button
      • Quote Details page opened
    • Case 2:
      • Open Quotes
      • Open Data Tab in Quotes
      • Find a specific Quote
      • Click Details button
      • Observe Confirmation Modal
  30. KOD-15123: Updating privacy policy
  31. KOD-15131: Step 2 for Single Word Search Rule Processing
  32. KOD-15134: Show Cart Total
  33. KOD-15135: Update Pricing Message
  34. KOD-15136: Hero Banners
  35. KOD-15147: Products after Category is deleted
  36. KOD-15157: Test System
  37. KOD-15158: Remove Yard
  38. KOD-15159: User logs will not redirect user to credit application form
    • Create a credit application account
    • Reset password
    • Login through the login panel in the header
    • User should be redirected to /credit-application page
    • Also test for regressions. Make sure non-credit application users will not be redirected to /credit-application page
  39. KOD-15160: UX Create Import for Shipping Methods
    • Testing ability to do a server import of shipping methods on the shipping method screen
  40. KOD-15163: Credit Application form can be submitted without clicking the 'sign' buttons
    • On the credit application form, checking the signature inputs for the following:
    • They should be required. if the user did not add text, it would be flagged.
    • The sign button should have been clicked. If not, there should be an error message at the bottom of the input.
  41. KOD-15164: Original information on pages is not showing up
  42. KOD-15165: Remove SEO description in Gutenberg editor
    • Tested under CMS -> Pages
  43. KOD-15167: Limit products number in CompanyProductCategory
  44. KOD-15169: Add Item Sort to Company Catalog Layout
    • Testing sorting for category, search, company catalogs and company group catalog pages.
  45. KOD-15178: Add ability to manage banner
    • Case1:
      • The Manage Banner button on the website is only visible as a logged in user in the employee portal.
      • After clicking on the button, a modal window with 2 fields "Banner Image" and "Banner Link" will appear. There should be also 2 buttons inside the modal: Remove and save. The Banner Link input field should be pre-filled if there is such a setting in the Operations Portal. Otherwise, it will be an empty field.
    • Case 3.1: Remove Data with "Manage Banner Button" "Remove"
      • After all the data is set the same as in case 1, click the remove button on the modal.
      • The page should reload.
      • After reloading, no banner on the category page is seen. The "Manage Banner Button" should persist on the page.
    • Case 3.2: Add data with "Manage Banner Button" "Save"
      • After case 3.1, click "Manage Banner Button". There will be no data pre-filled.
      • Select an image from your computer by clicking Choose File.
      • Fill in the banner link input field.
      • Press the Save button. The page will reload.
      • After reloading, a banner that has a link will persist on the page (as on the Case 1).
      • Under Operations Portal the same 2 settings like on Case 1 will exist.
      • Under Operations Portal, Public Files Tab, inside public files, the banner Image will be uploaded.
    • Case 4. No Manage Banner button.
      • Log out from operations and customer portal, and reload the store page.
      • Any category page will also show a previous banner with the link'.
      • The Manage Banner button is not seen for non-employee users.
    • Regression tests:
      • Surf around the category and search pages on the site as both guest and logged-in user.
  46. KOD-15184: Customer File Import with Path not Displaying on Product Page
    • Imported images with absolute paths should be displayed correctly on client side.
    • Regression:
      • Testing on existing products with images (not imported), will show as well.
  47. KOD-15188: Add respective system endpoin for /api/account/paymentProcessing/verifyBankAccount
    • No UX testing.
    • Moved existing endpoint
    • POST /api/system/paymentProcessing/verifyBankAccount
  48. KOD-15190: Fix Original information saving issue
  49. KOD-15195: Issue With Company Group Catalogs
    • Testing under Operations Portal -> Customers -> Company Groups. Choose any group. There is no Assigned Customers Tab at the top of the Page
  50. KOD-15216: Create Page
  51. KOD-15217: Create Pages
  52. KOD-15218: Create Pages
  53. KOD-15226: Orders > Search tab - error when using space in the keyword
    • Testing Orders -> Search
  54. KOD-15230: Update Warehouse
  55. KOD-15231: Update Google Link
  56. KOD-15238: Notifications going to Inactive Customers
    • Testing inactive Customers do not receive notifications.
    • Testing inactive Admins do not receive notifications.
  57. KOD-15239: Add Article
  58. KOD-15240: Add Article
  59. KOD-15242: Driver delivery API to update Order Shipment status by code
    • No UX testing.
    • New endpoint added: POST /api/system/order/driverDelivery/updateOrderShipmentStatus/{shipmentCode}
    • Tests:
      • Passing non-existing order shipment code - result will show Not Found error returned.
      • Changing status for existing order shipment to any chosen value and check if it was changed.
  60. KOD-15248: Option to Select Matrix & Level on Price Debug Screen
    • Price Group and Price Level dropdowns should be added to the Price Debug screen
  61. KOD-15255: Add global endpoint to list vendor quote items
    • It can be tested on API level only:
    • POST: /api/system/vendorInvoice/vendorQuote/{vendorQuoteID}/items
  62. KOD-15257: Need to update Credit Application Form
    • Verify each site is showing this credit app version.
  63. KOD-15259: integrationCode for integration customers
    • Checking if CustomerDocument contains new field - integrationCodes
    • If customer has some integrations activated, integrationCodes field should contain code of those integrations
  64. KOD-15274: Payment Vault
  65. KOD-15277: Fix scrip