All Releases
View all releases

June 8, 2023 release notes


Operations Portal

Import cross references

You can now add or update cross references via importing them from an external spreadsheet. You can use this to train a new drag/drop system or simply make updates to existing cross references. To import cross references, navigate to the Cross References screen under the PIM section, click File, and select your preferred import option from the dropdown.


Create a tree of product categories in your company and customer group catalogs

In Kodaris, you can create personalized product catalogs for your customers or even product catalogs for a group of customers. These personalized catalogs display to your customers when they login to their commerce account. In this release, we've added the ability to arrange the product categories in these catalogs into a nested tree. You can use this to set up multi-level catalogs with parents, children, grandchildren, etc. The nesting level is unlimited.

To arrange your categories into a tree, navigate to Companies > Company > Catalogs or Company Groups > Company Group if you are creating a catalog for a group of customers. Add categories to your catalog via the Add button and select the parent category you'd like them to be created under. If you'd like to change the location of an existing category, select the edit icon and change the parent category using the parent category dropdown.



View and manage activities from your home dashboard

In your Kodaris CRM, you can use activities to track and manage your customer relationships, prospects and opportunities. This week, we've added an Activities tab to your home screen where you can quickly track and manage CRM activities directly from your home dashboard. You can personalize this screen to you by creating sticky filters for the activities you would like to view and watch. You can also add new activities here by clicking the Add Activity icon in the toolbar.


Export all jobs from your CRM

Previously you could export either your current page of Jobs or the first 1000 records. In this update, we've updated the export to export all jobs. To export all, navigate CRM > Jobs > Data and choose File > Export from the menu.



Specify the payment amount when paying an order

In Kodaris, you can pay an order from the operations portal by navigating to Orders > Order and choosing the Pay Order icon. This opens a window where you can enter the credit card details and submit the payment. In this release, we've added a box where you can specify the amount to pay. Previously the payment would be the full order total. Using this feature, you can make a partial payment or pay a remaining balance.



  1. KOD-13191: Add a column to display if the Payment was ‘marked as exported to the ERP'
  2. KOD-13082: connection
  3. KOD-12764: Customer App - Display POD files on order details screen
    • POD Files Available
      • 1. Login to the app
      • 2. Tap on 'My Orders'
      • 3. Tap on any order to load the order detail screen
      • 4. When the detail screen is loaded tap on the 'Files' tab
      • 5. A list of files is displayed. Tap on an item to view the file
      • 6. File viewer screen is loaded
    • POD Files Not Available
      • 1. Login to the app
      • 2. Tap on 'My Orders'
      • 3. Tap on any order to load the order detail screen
      • 4. When the detail screen is loaded tap on the 'Files' tab
      • 5. Screen is loaded with the text 'This order has no files'
  4. KOD-12601: Re-Index Companies
  5. KOD-12127: Google Internal Email Integration
  6. KOD-10888: Skip sync records that contain invalid data
    • Attempt to sync an invalid mapping with missing fields
    • Test that the record was skipped in the logs
  7. KOD-5345: Generic mappers
  8. KOD-13397: CMS - Image Slider Block
  9. KOD-13466: Product Attributes to be Displayed on Product Details Page
    • Flow 1
      • Case 1:
        • Open Customer Portal -> PIM -> Products -> Product Custom Record
        • Filter Categories already set
        • If none of Filter Categories are set go to PIM -> Filter Categories and assign one
        • Go to the website
        • Scroll to "Product Details" tab
        • Values displayed in the right part of this tab.
      • Case 2:
        • Open Customer Portal -> PIM -> Products -> Product Custom Record
        • Filter Categories already set
        • Go to PIM -> Filter Categories and remove this product from assigned category
        • Go to website
        • Scroll to "Product Details" tab
        • No values displayed in the right part of this tab.'
    • Regression: Check that Product UX is not broken and displayed as expected
  10. KOD-13485: Release Navdrawer for Mobile
  11. KOD-13703: TypeError "toString" Error
  12. KOD-13903: Update Checker
  13. KOD-13938: Payment Service
  14. KOD-13964: Cms and CmsLanguage Services
    • the following endpoints:
    • Server API:
      • POST: /api/system/cms/list
      • POST: /api/system/cms/search
      • POST: /api/system/cms/{cmsCode}/language/list
      • POST: /api/system/cmsLanguage/list
    • Regular endpoints:
      • POST: /api/system/cms/list
      • POST: /api/system/cms/search
      • POST: /api/system/cms/{cmsCode}/language/list
      • POST: /api/system/cmsLanguage/list
      • POST /api/system/cms/{cmsID}/settings
    • The follow endpoints were tested on API level
      • POST: /api/system/cms/search
      • POST: /api/system/cms/{cmsCode}/language/list
    • Regression tests:
      • In employee portal:
        • CMS > Page Templates and page content loaded successfully
        • CMS > Widgets and page content loaded successfully. Go to Widget and select tab 'Custom Fields' and page load successfully
        • CMS > Widget Languages and page content loaded successfully
  15. KOD-13962: Subscription and SubscriptionList Services
    • Affected endpoints:
      • POST: /api/system/subscription/export
      • POST: /api/system/subscription/list
      • POST: /api/system/subscriptionList/list
      • Server API POST: /api/system/subscription/list
      • Server API POST: /api/system/subscriptionList/list
    • Regression tests on employee portal:
      • Go to Marketing -> Subscriptions - the whole list of Subscription loaded successfully
      • At the same screen try to export Subscriptions (menu File -> Export)
      • Go to Marketing -> Subscription Lists - the whole list of SubscriptionList loaded successfully
  16. KOD-14009: Make Customer Portal Theme Point and Click
  17. KOD-14030: Create and Send Email Alert to Assignee of a Task
    • Test Admin can receive notifications about tickets and subscribed for the creatingTicketEmployeeAssignmentEventEmployee Subscription List.
  18. KOD-14264: Adding a customer story template along with an option to add a logo
  19. KOD-14287: Update CreditStatusChanges Template
  20. KOD-14304: Verify and Update creditAppCompletedPDF
    • Navigate to credit application. Sign up for credit.
    • Email received with a link to reset your password
    • Reset your password following the link
    • Login as prompted
    • Automatically redirected to the credit application form
    • Filling out the credit application
    • Once the form is valid and submitted, user will be redirected to a thank you page
    • Go to the employee portal and look for the email registered under 'Companies'
    • Go to Internal Files. A PDF of your application should be in there.
  21. KOD-14307: Delete importWasSuccessful-Template
  22. KOD-14465: QA - Content
  23. KOD-14543: Content - Set Up Home Page Content
  24. KOD-14553: QA - Website Branding & Auth Flows
  25. KOD-14563: QA - Content
  26. KOD-14614: Delete Job
    • Regression test on API level:
    • In employee portal go to Orders and find the Order with the oldest 'Last Updated' value.
    • Calculate the difference in whole days between current date and 'Last Updated' of the test Order.
    • Using endpoint DELETE: /api/system/order/deleteIncompleteOrder specify for param 'lastModifiedMoreThanDaysAgo' calculated difference, for param 'limitPerRun ' value 1 and make a API call.
    • Previously selected Order has been deleted
  27. KOD-14726: Update Timezone for date time in Payment Email Templates
    • Log into employee portal
    • Subscribe to new notification of comment made as an employee
    • Go to any AR record, make a comment
    • See if the notification you get is in webTimeZone
  28. KOD-14805: Initial Setup - Website Syncs
  29. KOD-14803: Initial Setup - Website Syncs
  30. KOD-14802: Initial Setup - Website Syncs
  31. KOD-14899: DDA App Phase 1 Updates
  32. KOD-14904: Add export endpoint for ShippingMethods
  33. KOD-14923: Add UX to Show the Importers
    • Go to crossReferences screen > import options are available
  34. KOD-14940: Vendor Quotes - Add More Endpoints to Quote Controller
    • New endpoints to test located in Quote API:
    • Input parameters are identical to the ones from correspondent endpoints of Vendor Invoice API section with additional parameter quoteID which is id of a quote to attach vendor quote
      • POST: /api/system/quote/{quoteID}/vendorQuote/list
      • POST: /api/system/quote/{quoteID}/vendorQuote/startAndUpload
      • GET: /api/system/quote/{quoteID}/vendorQuote/{vendorQuoteID}
      • GET: /api/system/quote/{quoteID}/vendorQuote/readDetails/{vendorQuoteID}
      • PATCH: /api/system/quote/{quoteID}/vendorQuote/{vendorQuoteID}
      • PUT: /api/system/quote/{quoteID}/vendorQuote/{vendorQuoteID}
      • DELETE: /api/system/quote/{quoteID}/vendorQuote/{vendorQuoteID}
      • POST: /api/system/quote/{quoteID}/vendorQuote/{vendorQuoteID}/items
      • POST: /api/system/quote/{quoteID}/vendorQuote/{vendorQuoteID}/bulkItem
      • POST: /api/system/quote/{quoteID}/vendorQuote/{vendorQuoteID}/deleteItem/bulkItem
      • PATCH: /api/system/quote/{quoteID}/vendorQuote/{vendorQuoteID}/updateItem/bulkItem
    • User must be granted following roles to perform above operations:
      • For read operations: quotePurchaseView
      • For update operations: quotePurchaseEdit
      • To delete quote: quotePurchaseDelete
  35. KOD-14944: Initial Setup - Spin up system
  36. KOD-14968: Add accept in File Upload in CMS
    • Open page in gutenberg editor
    • Create form and add input with type file
    • Accept field should appear in block tab in sidebar
    • Add application/pdf to that field and save the page
    • Open page preview and check if accept attribute was added
  37. KOD-14994: Initial Setup - Website Syncs
  38. KOD-15044: Looking to see the field that is mapped to the Mode Of Delivery
  39. KOD-15068: Employee Portal does not show company catalog screen unless myCatalog is one of them
    • Setup catalog screen should be disabled
    • Now we don't need to have rootCategory (myCatalog)
    • All categories now should have tree view
    • We should be able to change parent category for category event if we edit
    • Customer Group catalog should be tested under > Customers > Company Groups > Group > Catalog
    • After you setup a catalog with products, check it on commerce side as a logged in customer.
    • Regression:
      • Retest CompanyCatalog and CustomerGroupCatalog logic
  40. KOD-15072: UX for Add Payment Amount Field to Pay Order Screen
  41. KOD-15073: Employee Portal - Add Activities tab to home screen
    • To be tested in Employee portal.
    • Case 1:
      • Go to the home screen.
      • Make sure that:
        • Activities tab is shown next to Dashboard tab.
        • Activities tab is shown even is analytics tabs are hidden.
      • Case 2:
        • Go to activity tab.
          • Make sure that:
          • Activities are listed(same as on global Activities screen).
          • Start Activity button appears in the right top corner.
      • Case 3:
        • Make sure it’s possible to start an activity using button on the top.
      • Case 4:
        • Make sure it’s possible to delete an activity.
      • Case 5:
        • Open any activity details.
        • Make sure that:
        • A global activity details screen will be opened.
        • Possible to edit activity details .
    • Regression:
      • No regression applied.
  42. KOD-15076: Add interceptor and code to allow sorting company catalogs
  43. KOD-15124: BI Dashboard
  44. KOD-15129: UX Serverside Export for Jobs
    • Go to jobs screen
    • Search and Data screen should use this endpoint for export POST /api/system/leadsquotes/export
    • Regressions:
      • Please also test Search tab export, it should work the same as before
  45. KOD-15133: Requested Invoice Layout Updates
    • Make sure it looks as expected.
  46. KOD-15140: Fix Template Switching issue in Gutenberg editor
  47. KOD-15144: articles
  48. KOD-15148: Test out indexer
  49. KOD-15150: Credit App Account Activation Email tweaks
  50. KOD-15152: Don't Show Inactive Line Items on Invoices & Emails
    • Find an order with an inactive items
    • Add a column "Active" to the Items Table to make sure that there is an inactive item in this order. (In the "Active" Column inactive Item would be marked as "No").
    • Click email order at the top of the page. Inside generated email there would be no item that is inactive in Items Table.
    • Click Generate Files, Internal PDFs and Customer PDF. Check generated files in Internal Files and Customer Files Tabs respectively. In these PDF files there will be no items that were inactive in Items Table.
    • Regression Tests:
      • Active items are working as expected.
  51. KOD-15155: Warehouse name/number to be consistently sorted throughout the product page
    • Warehouse number to be sorted in the requested order
  52. KOD-15161: Customer Portal - Order Items - Pricing Columns not working
    • Open Customer Portal
    • Case 1:
      • Go to Orders -> Order Details page and open Items tab
      • Make sure that if we receive 'unitPrice' and 'total' properties, they are displayed in the grid
  53. KOD-15162: When using a searchRule the screen gets doubled
  54. KOD-15166: Add whitelist order items interceptor to install script
  55. KOD-15172: Sample payloads for customers and addresses
  56. KOD-15173: White List for Tracking
  57. KOD-15174: BI Dashboards
  58. KOD-15177: Add the default landing page to demo site
  59. KOD-15183: Comment endpoint not returning approved comments
  60. KOD-15191: Add properties to configuration
    • Use /api/account/customer/configuration endpoint to test
    • Should see two new fields: customerTicketsEnabled, customerTicketPriorities
      • customerTicketsEnabled: boolean value (true or false)
      • customerTicketPriorities: array of string values
  61. KOD-15198: Create POST Endpoint for Accounts Payable Settings
  62. KOD-15197: Update content
  63. KOD-15206: Update more content
  64. KOD-15220: Export payloads