Your Kodaris platform includes a robust Product Inventory Management module that can be used standalone or to power your Kodaris commerce or other commerce site. Currently on the Kodaris commerce site, the 'Shop by Category' dropdown menu and left hand navigation menu shown on the home page are sorted in alphabetical order by default. You now have the capability to sort the categories in the order you would like to display them. This is particularly helpful if you are looking to display your most popular product categories at the top of the dropdown when clicked on, or if you want to display your categories in a particular order on the home page.
To take advantage of this feature, all you need to do is navigate to the Categories>Data screen under the PIM section of your Kodaris Operations Portal, go to the Order column and update to your chosen order using numeric values. The closer the number is to 0, the higher in the order the category will appear, such as Category A having a value of 0 will appear at the top, while Category B with a value of 5 will be listed below Category A. Once updated, navigate back to your Kodaris customer portal and view the updated category order.
If you are interested in adding this feature to your Kodaris commerce site, please reach out to your Kodaris Account Manager, as it does require a template update.
Operations Portal
Change the from name when sending emails
Communicating updated quote and order information, sending COD links and other updates via email is built into the Kodaris Operations Portal. As part of that you can now choose to update the 'From' field on an email sent from the Portal to show your name, or any other option you choose to input. This feature is useful if you would like to let your customer know who exactly sent them the email.
To utilize this feature, you'll want to add the below setting on the System > Settings screen:
Code: enableFromNameInEmails
Name: Enable from Name in Emails
Type: EMAIL
Value Type: Integer Value
Description: Enables the user to edit the From field in an email. Default value shown is the store name.
Value: 1
After adding the setting, you can now edit the 'From' field in the email to reflect your name. The default from value is your store name.
Please note: this feature is also dependent on your email configuration and email provider. Please reach out if you'd like more details.
Customer Portal
Onboarding mode
When transitioning your customers to a new system, giving early access to that system can be incredibly helpful - but you might also want to limit what data they see to avoid any confusion during system configuration and testing. To help you with this, we have now added the ability to hide order and open invoice data within your Kodaris Customer Portal so you can onboard your customers and let them become familiar with the new Customer Portal before your go-live date. If you are implementing the Kodaris Payment Portal in particular, this is a new way to get your customers logged in and comfortable before the official date.
To enable this feature, you'll want to add the below setting on the Systems > Settings screen and ensure it is turned on:
Code: paymentPortalOnboardingMode
Name: Payment Portal Onboarding Mode
Type: PAYMENT
Value Type: Integer Value
Description: Enable the payment portal onboarding mode.
Value: 1
Once enabled, the screen shown below is displayed to your onboarded customers when they view the order and invoice screens.
Tickets
KOD-13702: Update syncPaymentsAndReturns Method
*Regression test:*
In Operations Portal go to System ? Settings and make sure that global setting {{jobSyncPaymentsAndReturnsFromProviders}} is turned on and set global setting {{activePaymentSystems}} with comma separated values of payments systems, e.g. "ACH,CONVERGE"
Make sure you don't get any errors after the job finished
KOD-14313: Update Default in the validateCart.js Script
Regression Tests
Case 1:
Cart flow works fine, cart is being validated
Case 2:
Validation works properly (QC address validation)
KOD-14753: Implement Next Steps on From Name for Emails
Regression Tests
Case 1:
Go to emails
Click button ‘compose’
You should see prefilled field ‘from’ with data from storeName if settings are turned on
If the setting is not turned on ? test sending email from global email screen ? should work as normal
Case 2:
Ensure that 'from' name is not displayed on global email screen and quote screen unless that global setting is turned on
Case 3:
Please check sending email from global email screen
Case 4:
Test sending email from quotes
Please go to quote
Click envelope icon
You should see prefilled field ‘from’ with data from storeName if settings are turned on
If the setting is not turned on ? test sending email from quote screen ? should work as normal
Case 5
Please check sending email from quote screen
KOD-14777: Copy Product List Line Item Notes when Starting an Order in Customer App
Select a list either from My Lists or Company Lists
In the List Details screen, look for an item that has a note attached, then tap on ‘Add to Cart’
Go to the Cart screen; the newly added item should show the same note attached to it as in the List Details Screen
KOD-15381: Credit App Form Error when Amount has Decimal Value
KOD-15448: Filter Out Restricted Products from Site on Product Suggest
*Prerequisites*
There should be at least one company address that has a restricted location
There should be some products that are restricted in that location
*Setup*
You can update selected address in two places
Header ? top left corder
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
Regression Tests
Case 1:
Store front
Logged in user for non-restricted address
Expected result:
Product Search works fine for both restricted and non-restricted products
Product appears in the dropdown list
It’s possible to click on the product and see the Search page
Case 2:
Store front
Guest user for non-restricted address
Expected result:
Product Search works fine for both restricted and non-restricted products
Product appears in the dropdown list
It’s possible to click on the product and see the Search page
Tests
Case 1:
Store front, any page
Logged in user
Select the address with restricted location
Type in product code restricted in that location
Expected result:
The product does not appear in the dropdown list
After pressing Enter/Search button, Product not found page is shown
Case 2:
Store front, any page
Logged in user
Select the address with the non-restricted location
Type in product code not restricted
Expected result:
The product does appear in the dropdown list
It’s possible to click on the product and see the Search page
KOD-15470: Product Category Slider added to Parent Product Categories
Regression Tests:
Login to the Operations 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
Be sure to also test that commerce pages work as public user and logged in customer with and without banners/subcategory slider
KOD-15822: Order/Open Invoices Screen Scrolling
Regression Tests
Case 1:
Go to the Customer Portal
Click through the pages
Make sure the layout was not changed, the grids work as normal, the other pages like order details and employee details look and work fine
Case 2:
In embedded portal
Go to the Customer Portal
Check all the pages that don’t contain tables
Make sure the layout was not changed
Tests
Case 1:
In embedded portal
Go to the Customer Portal
Check Orders page and other grid pages
KOD-15832: Adding Pricing and Inventory to Employee Mobile App
Regression Tests
Case 1:
Navigate to Inventory page
Input field should be focused and the keyboard should appear
Case 2:
Navigate to Pricing page
Start entering a product code
Suggestions (a list of appropriate product codes) should appear as a dropdown list
Case 3:
Navigate to Pricing page
Enter a product code
Tap on a product suggestion item
Inventory information should be loaded
Case 4:
Navigate to Pricing page
Enter a product code
Tap on Search icon (on the right of the input field)
Inventory information should be loaded
Case 5:
Navigate to Pricing page
Enter a product code
Tap on Done button on the keyboard
Inventory information should be loaded
Tests
Case 1:
Navigate to Pricing page
Input Company code
Check that {{Check Price}} button is inactive
Case 2:
Navigate to Pricing page
Input Company Code and Product Code
{{Check Price}} button should become active
Case 3:
Navigate to Pricing page
Input Company Code and Product Code
Press {{Check Price}}
Verify Pricing and Inventory data load
Case 4:
Navigate to Pricing page
Start entering Product Code
Suggestions should be loaded after at least one symbol entered
Case 5:
Navigate to Pricing page
Input Company Code
Focus Company Address field
Suggestions should appear even without entering a single symbol
Case 6:
Navigate to Pricing page
Focus Warehouse field
Suggestions should appear even without entering a single symbol
KOD-15835: Missing Breadcrumb Info on Commerce site
Breadcrumbs should be displayed correctly
KOD-15850: Removing Account # In Parent/Child Dropdown and Displaying City, State
Tests
Case 1:
Log in as a customer
At the left top corner please check if there is displayed city and state
On the dropdown with companies, we should also see city and state instead of code
Case 2:
Please check displaying in case when there is no state or city
KOD-15860: 'Your Quote is Ready' Emails Being Sent Out Immediately
Regression Tests
Case 1: Make request: “request quote“ as non logged in user
Select some product and then click the button “add to quote”
Go to cart page
Click the button “next“ and fill delivery info
Click “next“, select shipping option, click the button “request quote“
Check on operations side whether we send the email “*thank you for quote request*“
Then need to check whether we don’t send the email “*quote is ready*“ after clicking the button “request quote“ on customer side
Go back to email list page and check whether we didn’t send email “*quote is ready*“
KOD-15899: Customer Portal - Documents - Fix Created and Last Modified Filters
Test on Customer Portal
Go to Customer Portal
Go to documents tab
Try to filter {{created and lastModified}} columns
KOD-15909: Filter Categories Not Showing Up
Regression Tests
Case 1:
Need to test endpoints
POST /api/system/productFacet
PUT /api/system/productFacet/{productFacetID}
PATCH /api/system/productFacet/{productFacetID}
Case 2:
Need to test endpoints
POST /api/system/productFacet/facetCategory
PUT /api/system/productFacet/facetCategory/{facetCategoryID} - not exist in UI
KOD-16029: Hide Price and Add to Cart for New "isRestricted" Products
KOD-16051: Uploading Files/Videos/Links from External Resources to Show Under 'Resources' Tab on Product Details Page on the Site
Regression Tests
Case 1:
Please check that product page is shown good with or without resources
Case 2:
Go to test product and check if their resources are displayed (icon depends on file extension) and icon is centered
KOD-16073: Insert - Rows from Clipboard Not Working for Employee Group Roles in Operations Portal
Tests
Case 1:
Please go to Employee Group Roles screen ? test group role ? roles and check if adding roles works fine using button ‘assign roles’ and ‘insert from clipboard’
KOD-16079: Add UX for Canceling Scheduled Payments
Regression Tests
Case 1:
Go to Operations Portal Settings tab; search for 2 settings and set *openInvoiceScheduledPaymentsEnabled* to 0 and *openInvoicePaymentsEnabled* to 1
In Customer Portal, reload Open Invoices Tab
At the header section, check that wording of the button is *Make Payment* and it has no arrow and dropdown options; test Make Payment flow
Tests
Case 2:
Go to Operations Portal Settings tab; search for 2 settings and set *openInvoiceScheduledPaymentsEnabled* to 1 and *openInvoicePaymentsEnabled* to 1
In Customer Portal reload Open Invoices Tab; at the header section, check wording of the button is *Actions* with the arrow and on click it has 3 dropdown options. For regression test first 2 options:
*Pay Selected Invoices* and *Schedule Payment for selected invoices*
Case 3:
In Customer Portal Open Invoices Tab make sure that the grid was loaded properly and it reflects all the info; try adding some columns
Case 4:
In Customer Portal Open Invoices Tab add column Status to the grid
Make sure that all statuses (except ScheduledPayment) display as usual (without date in the status column). i.e. VOIDED or Pending
Case 5:
On the Open Invoices Tab at the header section check if the:
*Make Payment* button text was updated to *Actions*
The *Cancel scheduled Payments* option was added to Actions dropdown
Case 6:
Test Scheduling Payment by selecting any invoice that can be selected (it shouldn’t have status Scheduled or Pending)
Press Actions Button ? {{Schedule payment for selected invoices}} button
In the opened modal select *future* date, select ACH payment and press make payment button
If successful, schedule grid would be refreshed, all selected rows would be unselected and the status of your payment would be changed to {{ScheduledPayment}}
Case 7:
On the Open Invoices Tab don’t select any invoices
Click Actions ? Cancel Scheduled Payments
At the bottom you should see message
{{Please select the ScheduledPayment you’d like to cancel.}}
Case 8:
On the Open Invoices Tab add Column “Status” to the view, refresh the grid
Select multiple invoices with Status ScheduledPayment and with other Type of status (for example with the empty status)
Click Actions ? Cancel Scheduled Payments
At the bottom you should see message
{{Please select only records with a status of ScheduledPayment.}}
Case 9:
On the Open Invoices Tab add Column “Status” to the view, refresh the grid
Select multiple invoices with Status ScheduledPayment and with other Type of status (for example with the empty status or Voided)
Click Actions ? Pay Selected Invoices
At the bottom you should see message
{{You have selected some ScheduledPayments which cannot be paid. Please deselect these records.}}
Case 10:
On the same Tab select only payments with the status “ScheduledPayment”
Click Cancel selected payments
You will be able to see success message {{Success! Your scheduled payment(s) have been cancelled}}
After 4 seconds message will be removed from the screen and the grid would be refreshed
Case 11:
On the Open invoices tab add Status Column to the Grid or Switch to the Default view
If in the Status Column there is *ScheduledPayment* status, the data should be displayed in the following format:
GET /api/system/intranetPage/{intranetPage}/internalFile/{internalFile}/view
KOD-16142: Adjust Content Pages to Go Along with the New Website Style
Tests
Case 1:
All content pages should be full width' please test random pages
Look through the content pages and the editor page and check if it’s consistent
Look through the content pages and ensure things look as intended on mobile
Ensure the styling in the editor matches what is on the website; ensure it takes the full width as well, just like the website
Case 2:
Build the content menu in the navbar so that we have the same structure as they did on the original site; you can see what the structure originally looked like by referring to the headerLinksMD global setting
Please note that (category links) are not to be included in the menu
Case 3:
Update the home page content
Update the footer
Case 4:
Check the mobile and tablet version of the header, footer and some random pages; make sure they look fine and nothing’s broken
KOD-16145: Display Total Records Processed for Each Mailing
KOD-16154: Removing the Comments Section from the Ticket Detail Screen
Tests
Case 1:
Go to ticket page
Choose any of tickets and go to details page
Verify if you can not see comments section
KOD-16158: Make Customer File extra1 Sortable, Filterable, Updateable
Regression Tests
Case 1:
Go to Swagger Admin tab ? Customer File API
POST /api/system/customerFile/list
Check extra1 field is present in search result
Case 2:
Operations Portal ? Customer files
Make sure the screen works fine, customer files are shown in the data grid
Tests
Case 1:
Go to Swagger Admin tab ? Customer File API
PATCH /api/system/customerFile/{customerFileID}
You can use this as request body, to update extra1 field:
{noformat}{
"extra1": "test"
}{noformat}
Case 2:
Go to Swagger Admin tab ? Customer File API
POST /api/system/customerFile/list
You should check extra1 field is searchable and sortable
Use next body to check search:
{noformat}{
"page": 0,
"size": 10,
"sortBy": "extra1",
"sortDirection": "desc",
"filterFields": [
{
"and": false,
"name": "extra1",
"operation": "IS",
"value": "test"
}
]
}{noformat}
and next body to check sort:
{noformat}{
"page": 0,
"size": 10,
"sortBy": "extra1",
"sortDirection": "desc"
}{noformat}
KOD-16159: Ability to Make Customer File Zip File Like We Did for Internal Files
Tests
Case 1:
Testing newly added endpoint
Case 2:
Test new server-side endpoint called from js script
KOD-16165: Update Adobe Order with CSD Information
KOD-16179: Update 2Ship Integration to Include Tracking Info
New endpoints:
GET {{/api/system/order/shippingTrackingData/{trackingNumber}}}
GET {{/api/account/order/{orderID}/shippingTrackingData/{trackingNumber}}}
POST {{/api/system/integration/2ship/tracking}}
KOD-16185: Returning a Better Error Message than Unhandled Error when Cancelling Payment Is Unsuccessful
Tests:
Go to Swagger ? Account tab and log in as customer
Use Delete /api/account/payment/scheduledPayment/{paymentID} endpoint and put any ID
Make sure that ID you put is used as path variable
KOD-16202: AR Ccreen - Adding Details and Invoices for Scheduled Payment in Operations Portal
Regression Tests
Case 1:
Make sure that previous logic stay the same:
Payment with transactionType -> 99 or WebCreditCard should also open detail page with list of invoices
Case 2:
All other payments shouldn’t open detail page
Tests
Case 1:
Go to AR page ? find payment with status ScheduledPayment and go to detail page
Detail page must appear and we should see a list of invoices for current payment (if they exist)
KOD-16212: Statement Updates
Tests
Case 1:
Login to Operations Portal
Go to a sample company and generate a PDF statement
Check the following:
Remove the _1 in customer number fields
Total Amount Due fields - there should be 2 decimals here
Update Customer P.O. field; purchaseOrder should be showing if there is data in there
Case 2:
Login to Operations Portal
Go to a sample company and generate a PDF statement; choose statementPDFMailer-EJS
Check the following:
Remove the _1 in customer number fields
Total Amount Due fields - there should be 2 decimals here
Update Customer P.O. field; purchaseOrder should be showing if there is data in there
KOD-16214: Hide Open Invoices & Orders Screens
Regression Tests
Case 1:
Login as a customer
Go to Orders ? Open-Invoices page
Check that Orders ? Open-Invoices page contains grid as usual
Make sure everything works as normal and looks good
Tests
Case 1:
Open Operations Portal
Open Settings
Check that paymentPortalOnboardingMode was set to next:
Code: paymentPortalOnboardingMode
Name: paymentPortalOnboardingMode
Type: PAYMENT
Value Type: Integer Value
Description: paymentPortalOnboardingMode
Value: 0
Login as a customer
Go to Orders ? Open-Invoices page
Check that Orders ? Open-Invoices page contains grid as usual
Case 2
Open Operations Portal
Open Settings
Check that paymentPortalOnboardingMode is set:
Code: paymentPortalOnboardingMode
Name: paymentPortalOnboardingMode
Type: PAYMENT
Value Type: Integer Value
Description: paymentPortalOnboardingMode
Value: 1
Login as a customer
Go to Orders ? Open-Invoices page
Check that you were redirected to the Coming-soon page which contains image and text ‘ Coming-soon…’
Case 3:
Open Customer Portal
Open CRM ? Companies
Choose Company
Open Custom Fields Tab
Set paymentPortalOnboardingMode:
Code: paymentPortalOnboardingMode
Name: paymentPortalOnboardingMode
Description: paymentPortalOnboardingMode
Type: PAYMENT
Value Type: IntegerValue
Value: 0
Login as a customer
Go to Orders ? Open-Invoices page
Check that Orders ? Open-Invoices Open Invoices page contains grid as usual
Case 4:
Open Operations Portal
Open CRM ? Companies
Choose Company
Open Custom Fields Tab
Set paymentPortalOnboardingMode:
Code: paymentPortalOnboardingMode
Name: paymentPortalOnboardingMode
Description: paymentPortalOnboardingMode
Type: PAYMENT
Value Type: IntegerValue
Value: 1
Login as a customer
Go to Orders ? Open-Invoices page
Check that you were redirected to the Coming-soon page which contains image and text ‘ Coming-soon…’
KOD-16215: Product Category Display Issues with Top Menu and Facet Categories in Left Column
KOD-16219: Display Terms Description Instead of Code
Tests
Case 1:
Go to Operations Portal and go to a sample order
Generate an order email; check the terms field and check that it is displaying terms code description as per table in the ticket
Generate an order PDF; check the terms field and check that it is displaying terms code description as per table in the ticket
Login to the Customer Portal and go to a sample order
Go to order details page; check the terms field and check that it is displaying terms code description as per table in the ticket
Case 2:
Go to Operations Portal and go to a sample order
Generate an order PDF; choose the wrappedOrderPDFMailer-EJS template and check the terms field and check that it is displaying terms code description as per table in the ticket
KOD-16223: Order Approval Flow: Wrong Order with PO button Name on Checkout Step 3
KOD-16231: Issue Where Cache Is Not Updating
Regression Tests
No regression here
Tests
Case 1:
Test category added/updated to cache with appropriate categoryOrder value
KOD-16238: Footer Fields for Order/Invoice Document
Production
Tests
Case 1:
Login to Operations Portal and select a sample order
Generate an order email and an order PDF and check the footer fields; make sure that fields that are null/0 do not show in the footer field
Login to Customer Portal and select a sample order; click on the order check and the footer fields and make sure that fields that are null/0 do not show in the footer field
KOD-16239: Issue Paying Via COD Link on iOS
Regression Tests
Case 1:
Check if card number validation logic works correct for cardNumber field
Case 2:
Check if cases below still works correct for Chrome browser
Tests
Case 1:
Open Safari browser ? login as customer ? go to Customer Portal ? create a COD link and open the COD payment page, test field behavior logic
Case 2:
Open Safari browser ? login as customer ? go to some category and add product to the cart ? go through checkout ? on the payment step select new Card ? test field behavior here as well
Case 3:
Test previous two cases in safari on iOS
KOD-16243: Payment Portal - Display Terms Description Instead of Code
KOD-16244: Notes Not Showing Up in 'Customer Comments' in the Operations Portal
KOD-16245: Updates to Login Page
Case 1: As a public user
Go to the login page
Under the password field, check that the checkbox text is “Keep me logged in”
Check that the text under “Welcome Back” is updated to “To login, please enter the email address associated with your account.”
Also check that the entire “HELP” section is removed - check the screenshot in the description for what it looked like
Case 2: As a public user
Add a few items to cart
Navigate to cart login screen
Under the password field, check that the checkbox text is “Keep me logged in”
Case 3:
Test the changes in different browsers
KOD-16261: New Design Updates on Email Confirmation
KOD-16268: Display Ship Via Name
Tests
Case 1:
Login to Operations Portal and select a sample order with ship via data
Generate an order email and an order PDF and check the Ship via field; make sure that it is showing shipping method name instead of the code
Login to Customer Portal and select a sample order with ship via data; check the order layout and make sure that it is showing shipping method name instead of the code
KOD-16281: Part 2 - To Set-up Freight - Footer Fields for Order/Invoice Document
Tests
Case 1:
Login to Operations Portal and select a sample order that has freight data
Generate an order email and an order PDF and check Freight field in the footer fields
Login to Customer Portal and select a sample order; click on the order and check Freight field in the footer fields
Case 2:
Login to Operations Portal and select a sample order that has no freight data
Generate an order email and an order PDF and check that the freight field is not showing in the footer fields
Login to Customer Portal and select a sample order; click on the order and check that the freight field is not showing in the footer fields
KOD-16290: Make Ticket lastModified Filterable
KOD-16318: deliveryDate Setting Is No Longer Formatted Correctly
Tests
Case 1:
Login as a customer ? add some product to cart ? go through checkout and order the product ? check the dates on placed order on thank you page
Case 2:
Check the ordered product in Operations Portal:
Login to Operations Portal ? Orders ? pick the order which you just order ? Custom Fields ? check if deliveryDate field value is correct
Case 3:
Check the ordered product in Operations Portal:
Login to Operations Portal ? Orders ? pick the order which you just order ? check if date is correct on Details tab ? requested delivery date field
Case 4:
Check the ordered product in Operations Portal:
Login to Operations Portal ? Orders ? pick the order which was added earlier with incorrect displayed date ? check if date is correct on Details tab ? requested delivery date field