Customers can now search by product name as well as by product code when they quick order products on the website. This is helpful if they are ordering products they don't order often. Please contact your account manager if you would like this added to your commerce website.
View the customer number for the currently selected account
Logged in customers can view and select company accounts they have access to on the commerce website. The currently selected company account displays the Kodaris company number along with the company name. In this release, we've added the option to display your customer number instead of the Kodaris company number. For example, the customer number from your ERP. Please contact your account manager if you'd like this functionality added to your website.
Display order as needed messaging on product pages
If you have products in your ERP that are marked order as needed, you can surface that information on your commerce product pages and display relevant messages to your customers. Please reach out to your account manager if you are interested in this feature.
Drive SEO with schema
Schema is a structured data vocabulary that describes the content on your commerce pages. Search engines use this schema to easily understand what your pages are presenting and provide users with richer search results. Schema can be added to product pages, category pages, search result pages, content pages, and much more. Please contact your account manager if you are interested in adding this to your website.
Operations Portal
Check a product's price and availability
You can check any product's pricing and availability by navigating to CRM > Price Check. Select the company you want to check the price for and enter the product code. You can optionally include a company address and/or warehouse if you'd like to see the pricing with those parameters. Note: users must have either superuser, administrator, or productPriceView permission to access this screen.
Export all company product lists
Previously you could export either the first page or the first 1000 rows from the company product lists screen. You can now export all the product lists at once which allows you to mass update all lists via exporting and then re-importing.
Preview a content page directly from the operations portal
Content pages in the operations portal now have a preview link which will take you directly to the page on the website. This eliminates the need to remember the page url at the end of the day when we all need more coffee.
Adjust the ticket comment panel to your desired width
When viewing and adding comments on the Tickets screen, you can adjust the width of the comment panel to your preferred width. This makes it easier when carrying out long discussions.
Set dynamic email subjects for any email template
You can set a dynamic subject for any email template in your Kodaris system. This subject can change based on parameters and/or data available in the system. To further support this, a code editor has been added to the subject column on the Templates screen where you easily personalize any template subject to your users.
Customer Portal
Filter and sort orders by user and total
Customers can now filter and sort orders by user (the person placed the order) and by order total.
Re-order any order you have access to
Previously we released an update where customers can re-order any order they had previously placed. In this release, we've made another update which allows users to re-order any order they have access to. For example, a user assigned to a location can also re-order orders someone else has previously placed for that location.
Use a tabbed layout for your embedded payment portal
You can easily embed the Kodaris payment portal in Unilog, Adobe Commerce, Magento and other systems. Please reach out if you are interested in embedding the Kodaris payment portal in your system.
In this release, we've released a new payment portal layout that uses a tabbed navigation view across the top instead of the navigation to the left side. Based on your website layout, you can choose between either the side navigation view or this tabbed view for your embedded payment portal.
Payment
Capture a credit card authorization on an order
When a customer checks out and pays via credit card, the authorization is recorded by the Kodaris system. Based on your system configuration, the authorization is then captured at the time of checkout or in the ERP at a later time. In this release, we've also added the ability to capture the authorization in the Kodaris operations portal under Orders > Order > Payments. This feature is still undergoing final testing so please reach out to your account manager if you are interested.
Tickets
KOD-13164: CMS - Make it Easy to Override the Default Block Styles of Gutenberg with User's Custom Stylesheet
KOD-13119: Tickets Screen - Pop-up on Toggle Comments
Comments section in the tickets page should show up from the right side and be draggable to a wider width.
KOD-11358: Add API Endpoint for Tickets
KOD-9373: Capture Auth on Payment Providers
KOD-13537: Customer Portal - Remove Shadows when Detail View is Opened in kg-grid
Open Customer Portal.
Open Invoices in kg-grid.
Press the Arrow Right Button at the end of any table row.
Scroll horizontally from left to right and vise versa.
Ensure that the checkbox and the Arrow Right Button don't have any vertical shadows while scrolling.
KOD-13806: System Cache Endpoints for New Cache Screen in Employee Portal
Endpoints added:
GET /api/system/script/cacheKeys
GET /api/system/script/cache
Existing endpoints modified:
GET /api/system/script/cache/list - check if endpoint returns existing caches with appropriate cache keys. If includeOnlyCacheNames = true then only cache names should be returned.
DELETE /api/system/script/cache/evictAll - should clear appropriate cache by specified cacheName. If 'servlet cache' used then it should re-initialize cache(if allowed).
KOD-13829: OAN Items Note
Here new field added, so probably will need to implement UX first and then test.
Regression tests:
Login as customer on a site with CSD price engine and make sure product and category pages does not crash.
Do the same as number 1 on cloud site.
Start an order and add an item on a non-cloud site in the portal.
Swagger test: POST api/system/product/priceByCode/{productCode} - check whether returned product has specialOrder field and it has be true when appropriate SKU record has status equals 'O'(big letter). (price engine should be CSD)
KOD-13910: Confirm Order Item Screens Have Paging
For the screens below, find the ones that list more than 50 Items.
The page should display 50 items max.
Test paging and adding a new product, when you're on the page that already lists 50 items.
There should be no errors.
Pages that need to be tested:
Order -> Items
Cash Quote -> Items
Quote -> Items
Quote Request -> Items
Summary Order -> Items
KOD-13855: Add Tabs to Embedded Customer Portal
Case 1: On embedded portal (desktop) make sure that:
There is no navdrawer on the left.
Navigation was moved to the top - tabs are shown on the top of the content.
It's possible to open to any available page using the tab navigation.
Case 2: On mobile version, make sure that:
There is no navdrawer on the left.
Navigation was moved to the top - navigation bar shown on the top of the content.
There is a menu button on the right of navigation bar, by clicking on it dropdown menu is shown.
It's possible to open to any available page using the dropdown menu navigation.
Case 3:
For both desktop and mobile, please check every page and make sure layout is correct.
Case 4:
On Thursday night be sure to request deployment to an embedded customer portal without tabs. Then login to portal, bust cache, and throughly test all the available customer screens there.
Regression:
Make sure that layout for non-embedded Customer portal remains the same and works as expected. Every screen should be checked for both desktop and mobile versions.
KOD-13919: Short Pay - Add Field for Short Pay Reason
No need to regression test on UI side, waiting for implementation on UI side.
At the moment we can test on swagger side:
PATCH: /api/account/payment/{paymentID}
scenarios:
if amountToPay = 0 or throw exception with message
if amountToPay throw exception with message
if amountToPay > invoiceAmount => throw exception with message
KOD-13995: Create Email Subject "Easy Editing"
Go to Marketing Templates.
Double click on Subject grid field.
A code editor pop up should display with code highlighting.
Test updating email subject
Test adding new templates and setting subject while you are doing it.
KOD-14005: Move Install Script
KOD-14026: Upgrade Version for Employee Portal
Regression tests:
Need to retest such screens: basic tax rate detail screen, cash quote detail screen, quote detail screen, and order detail screen.
Please check all buttons/dialogs/datepickers/dropdowns/autocompletes on screens mentioned above, all buttons on the top toolbar, they must work correctly
Throughly test:
Order entry
Quote entry
Updating quote pricing and company pricing records.
Test setting up quote jobs.
As much testing as possible on as many screens as possible in the employee portal would be good. Everything should look and behave as it did before.
KOD-14078: Add Schema Markup for Category Pages
Schema script should be present on category/search pages.
KOD-14083: Add Interceptor to Search Suggester
Regression Tests: Make sure the suggester works normally when using the type as you search in the search boxes. It should properly display the code and the name like it usually does.
KOD-14084: Error Listing Company Addresses Due to Invalid Search Param
Go to Customer => Product Lists and global Customer Product Lists.
Ensure there are no errors in console.
KOD-14088: Add New Employee Role updateDynamicDb
Go to Operations -> EmployeeRoles list -> check if setting: updateDynamicDb exist.
KOD-14093: Customer Portal - Placed By Filter and Sort Issue
KOD-14103: Move Price Check Screen to CRM Section
Price Check screen is moved from Pricing & Discounting to the CRM section.
KOD-14107: Add Ticket Employee Assignment Endpoints to Serverside API and Allow Assigning by userName
Tests:
POST /api/system/ticket/{ticketID}/assignee/byUsername
With administratorUsername request param, you should be able to assign or unassign employee from ticket.
KOD-14118: Index Assigned Employees onto Company Solr Docs
In portal take some Employee and make sure that is has email field populated.
Go to Companies, select some company and go to Details tab.
On the right side add Assignee to this company.
Inside tested company go to Development tab and check whether Assignee related fields appeared: assigneeIDs, assigneeNames, assigneeEmails, assigneeTypes.
KOD-14124: Customer Portal - UX for Reorder Button for All Users with Access
KOD-14131: Short Pay - Add Discount Disclaimer
Open Customer Portal.
Open Invoices.
Check a few Payments and set the Amount to Pay for each of them.
Disclaimer should appear in the middle of pop up (Please check the example of the look in the comments) if Short Pay enabled for this user.
Disclaimer shouldn't appear if Short Pay not enabled for this user.
KOD-14134: Move Company Product Lists Exports to Server Side
KOD-14142: Add Full Search for Quick Order
Please check quick order dropdown if it shows the code and name in the autocomplete
KOD-14147: Adjust Customer Number Appearing when Logged In State is Active in Topbar
Tests:
Currently only you have to test is possibility to update externalCompanyCode field for Company and Customer.
You can use Company API and Customer API, you should also see externalCompanyCode in the response.
Company:
POST /api/system/company
PATCH /api/system/company/{companyID}
Customer:
POST /api/system/customer
PATCH /api/system/customer/{customerID}
Regressions:
Changes will not produce any regressions, as currently is only new field added.
KOD-14149: Support Another Date Format
Testing:
In portal take some order and add to it CustomField new one with code 'invoicedt' if it doesn't have.
For this field provide mediumValue in the one of the allowed format: 'MM/dd/yy', 'yyyy-MM-dd'.
Do indexing for this Order.
Go to Order search and find your test Order, then go to tab Development and check if you see field 'invoicedt' populated with provided date.
Regression test
Do Order indexing, all should work as usual without any errors.
KOD-14151: Add extra3 to Order Search Grid in Operations Portal
extra3 field should be added to the order search grid in the employee portal.
KOD-14153: Extra4 Field is Blank but has a Value
extra4 field should display a value if exists in the operations portal on the orders data grid.
KOD-14164: Utility for Logging Data to Browser Console
KOD-14176: Add Preview Page Button for Pages Screens
On CMS -> Pages -> Search/Docs button "preview on website" should be present. By clicking on this button page should be opened in new window.
On CMS -> Pages -> Search/Docs -> page details -> "preview on website" button should be present inside top toolbar. By clicking on this button page should be opened in new window.
On CMS -> Blog posts -> Search/Docs button "preview on website" should be present. By clicking on this button page should be opened in new window.
On CMS -> Blog posts -> Search/Docs -> page details -> "preview on website" button should be present inside top toolbar. By clicking on this button page should be opened in new window.
KOD-14239: Add Session Establishment
KOD-14258: Check for Cenpos Tendering / Auth Capability
New field on Payment (DTO): paymentType.
Possible values:
SALE
PRIOR_AUTH
CAPTURED_AUTH
VOID
REFUND
CREDIT
Payment record which is a prior auth will have paymentType=PRIOR_AUTH.
To capture this payment - use POST /api/system/paymentProcessing/capturePriorAuth/byPayment?priorAuthPaymentID={paymentID}
After prior auth is captured successfully - new Payment record will be created with paymentType=CAPTURED_AUTH. The first record (PRIOR_AUTH) will now have webPaymentID set (reference to new CAPTURED_AUTH payment record), i.e. PRIOR_AUTH payment record could be disabled on UI (no not allow capturing it again)
Regression Tests:
PaymentView has changed. Check whether next screens are accessible and no errors:
Orders -> Order Details -> “Payments” Tab (API endpoint /api/system/order/{orderID}/payments)
Orders -> Order Details -> Payments -> Single Payment details (>) (API endpoint /api/system/payment/{paymentID})
KOD-14259: Cache Company and Addresses for Custom Rule Speed
Test the public commerce website category and product pages.
Login and test selecting company and selecting company address in topbar.
Test selecting company address in cart during checkout.
KOD-14267: UX for Capturing Auth on an Order
Test on both test and live.
A new field Payment Type is added to Order => Payments grid.
Possible values of it can be:
SALE
PRIOR_AUTH
CAPTURED_AUTH
VOID
REFUND
CREDIT
If the field Payment Type is PRIOR_AUTH and webPaymentID is null - there’s a new button Capture Payment is added. When a user clicks it and prior auth is captured successfully - new Payment record will be created with paymentType=CAPTURED_AUTH. The grid should be updated with a new payment in it.