Manual Fraud Flagging Now Available in Operations Portal
Operations teams can now manually flag orders as fraudulent directly through the Operations Portal interface.
The manual fraud flagging feature allows authorized personnel to override automated fraud detection when suspicious activity is identified after order processing. Located in the "More" dropdown on order details pages, the feature assigns a 99% fraud score to flagged orders and creates an entry in the Frauds tab with a "High" risk designation. Users can include optional reasoning for the fraud flag, providing context for other team members.
This functionality addresses communication gaps that previously occurred when one person identified fraud but others with release permissions remained unaware. The manual fraud records integrate seamlessly with existing automated fraud scoring systems and order release security controls, ensuring flagged orders are properly restricted from release. The feature also includes the ability to clear fraud flags when needed, providing complete control over manual fraud designations.
The manual fraud flagging feature is now available in the Operations Portal for all authorized users. For a step-by-step demonstration of the functionality, refer to the instructional video provided by the development team.
https://youtu.be/Uf2SJDECQiA
Tickets
KOD-24492: Self Service Customer Pickups
Regression Tests
Case 1
As a regression test make sure check outs from the customer side continue working the same when a non-pickup method is selected.
Steps:
From the Customer portal, purchase select a non-pickup method (a delivery).
Go to the operations portal and look for the created order.
Go to the order development tab and look for field warehouseManagementStatus , this must not be set.
Tests
Case 1
Validate newly added endpoints below are working as expected.
POST - /api/account/order/{orderID}/orderAssignment
GET - /api/account/order/{orderID}/orderAssignment/{orderAssignmentID}
PUT - /api/account/order/{orderID}/orderAssignment/{orderAssignmentID}
POST - /api/account/order/{orderID}/orderAssignment/list
POST - /api/account/order/{orderID}/orderAssignment
Go to the customer portal swagger and look for the endpoint.
For an existing order create a new customer assignment by passing a payload like this { "customerID”:<here your customer id>, "assignmentType": "Order Pickup" }, then Execute.
NOTE : If the customer belongs to your same account the assignments will be properly created otherwise an exception will be thrown.
GET - /api/account/order/{orderID}/orderAssignment/{orderAssignmentID}
Go to the customer portal swagger and look for the endpoint.
Pass the orderID of the order previously use and the newly created assignmentID for the orderAssignmentID then Execute.
PUT - /api/account/order/{orderID}/orderAssignment/{orderAssignmentID}
Go to the customer portal and swagger look for the endpoint.
Pass the orderID of the order previously use and the newly created assignmentID for the orderAssignmentID.
Pass as payload like:
{ “assignmentType“: “a new assignment type“}
Then Execute (now a days the only field can be modify for Customer assignment is the assignmentType)
POST - /api/account/order/{orderID}/orderAssignment/list
Go to the customer portal and swagger look for the endpoint.
For an existing order do a search, then Execute.
A properly filtered/sorted list of assignments for that order must be retrieved.
Validate when user check out an order with a pickup method the order must be placed with warehouseManagementStatus field set to Order Received
From the Customer portal, purchase select a pickup method.
Go to the operations portal and look for the created order.
Go to the order development tab and look for field warehouseManagementStatus, this must be set to Order Received.
Case 3
Validate when warehouseManagementStatus order field changes to Order Ready For Pickup a notification email is sent to the user who placed the order, when the order does not have any assignee with Assignment Type Order Pickup.
From the operations portal, go to the order created in Case 2.
Go to the development tab.
Set field warehouseManagementStatus to Order Ready For Pickup.
You must receive an email notification with the subject “Order <your order ID> is ready for pickup”.
Case 4
Validate when warehouseManagementStatus order field changes to Order Ready For Pickup a notification email is sent to those users who are defined as order assignees with Assignment Type Order Pickup.
Repeat the same process done in Case 2.
Go to the customer portal’s swagger and look for the new endpoint POST - /api/account/order/{orderID}/orderAssignment and pass the ID of the newly created order.
Pass a payload like the one below and click on the Execute button (repeat this as many times as you want to assign a customer).
Go to the operations portal and follow the steps we made for Case 3.
An email notification with the subject “Order <your order ID> is ready for pickup” must be sent to all the assignees with assignment type “ Order Pickup “.
{
"customerID": <here your customer id>,
"assignmentType": "Order Pickup"
}
Case 5
Validate new setting warehouseManagementStatuses is created and its textValue is set to the default values Order Received,Order Ready For Pickup.
KOD-28464: Add export/import ability to Company Groups > Companies
KOD-29309: Vendor Inventory Integration
Tests
Case 1
Verify that when running a custom import, the InventoryLevel value is updated according to the data from the imported JSON file.
Verify that the import will not work for files of a type other than JSON or CSV.
Verify that there are no errors in the console when running the import, and that the POST /api/system/mapped/custom/any/file/{file}/direct/json request is returned.
Check that if the required fields in the import file are not filled in, a message like this will appear in the ops logs:
1 'partNumber is not provided for item: X'
2 'availableQuantity is not provided for partNumber: Y'
3 'locationCode is not provided for partNumber: Z'
If there are any problems during the import, information with details will be displayed in the operations logs.
KOD-29420: Price discount by volume based on price group
KOD-29471: Pricing Information not Lining Up
KOD-29661: Catch order ship to discrepancies
KOD-29734: Kodaris - Checkbox Component
Regression Tests
Case 1
Added a checkbox to the Form Example, so we need to test if the form submission still works.
Try submitting with and without the added checkbox checked.
Case 2
Test the navigation on the docs to ensure it works properly after adding the checkbox to the menu.
Tests
Case 1
For the simple checkboxes select and unselect them. Check the DOM rendering to see if the element reflects the state of the component.
You can’t check the disabled checkboxes but the DOM should still reflect if they are either checked or unchecked.
The indeterminate checkbox shows indeterminate on the DOM and once checked it won’t be indeterminate again even if unchecked.
Case 2
For the “Require validation" checkboxes try to click submit on the first page load, with them unchecked, they should turn red as to hint that they must be checked. You can then check it and submit, an alert should show up to represent that the submission was successful.
Try unselecting it again and submitting, it should be red and not allow submission.
For rich content slots you should click on the Terms and Conditions link and an alert will show to register that the click was successful.
Case 3
On the docs path /apps/docs/#checkbox
Check that the checkboxes and their code are rendered similarly to the demo.
Validate the checking and validation logic but mostly we are looking for rendering issues and possible behavior differences from the demo. We can validate by toggling the checkboxes, submitting forms, clicking on links on rich labels and validating the data with the “Show Form Data" on the form integration section.
KOD-29803: Integration Hub Docs Transfer: 3. Create an Employee API User
Tests
Case 1
To test this ticket you need to open the documentation page for this ticket. There follows instructions how to create a user API key and copy that key.
Then run a script that is placed at the end of the documentation. Paste it in User Scripts, replace the commerce site with the one where you created the employee API key and paste the API key in the Authorization header instead of xxxx. Open in another tab logs screen and run that script. Check Logs.
KOD-29859: Line notes/comments Missing in CSD
KOD-29899: Add Products and Categories to Search
KOD-30070: Availability of product search
Tests
Case 1
Precondition:
User has a selected warehouse, product is out of stock at that warehouse but available at other warehouses Steps: Open product listing page Expected result:
Title: "Pickup (0 at [Warehouse] )"
Below it: "Check Nearby Stores" with location icon in primary color.
Clicking "Check Nearby Stores" or city name opens the "Select a Store" panel.
Case 2
User has a selected warehouse, product is out of stock at all warehouses Steps: Open product listing page Expected result:
Title: "Pickup"
Text: "0 Available at [Warehouse] "
"Check Nearby Stores" is not displayed.
KOD-30259: Kodaris - Product Custom Fields Follow-up - Ability to Update on Grids
Regression Tests
Setup
Make sure this setting has blank value:
integrationIndexedProductFields
Regression Case 1 — Product list without custom fields configured
Go to Products → Data tab.
Verify products load normally.
Regression Case 2 — Product import without custom fields
Go to Products → File → Import → Default Product Mapping → Select this CSV regression-case-2.csv
Go to Scheduler → find FiveMinuteBulkJobsJob and run it.
Go back to Products and verify products created. No errors.
Regression Case 3 — Product PUT/PATCH without custom fields configured
Edit any product field from the grid (e.g. change the name).
Verify the update saves successfully. No errors.
Tests
Setup
Go to Settings → Search for integrationIndexedProductFields → Paste this JSON into its value:
Go to the product → Developer Fields tab and verify no new setting was created.
KOD-30261: Vipar Integration Customizations
KOD-30355: Folder Tree Implementation on the Left Nav
Tests
Case 1
Notice on the left hand side you will see All with an arrow and folder icon → click on the arrow and notice the folders right under All are loaded → if you click the arrow again, the folder structure closes.
You can keep clicking the arrows on the child folders until there are no more folders left. (The arrow will go down but nothing will be under it (similar to google drive).
Case 2
Instead of clicking on an arrow, if you click on the folder name, you will get taken to that folder. The name will be highlighted and the breadcrumbs will also be updated.
Case 3
Now if you click through the folder structure in the grid or list view, the left hand side will also be updating as you do that.
Case 4
You can also resize the left hand side menu (there is a min and a max size it can go). If you reload the page, the size will go back to the original size (similar to google drive).
Case 5
If you delete a folder, you should see that it was deleted on the left hand side.
And if you have the arrow down on the folder on the left and you add a new folder, you should see the new folder there. If the arrow isn’t down, once you click it, you will see the new folder there.
KOD-30365: Invoice Emails - Processing Failed
KOD-30400: Syncing records from cono in existing tables and sync new tables (Phase 1)
KOD-30404: Reorder not working on IOS Phone
Regression Tests
Case 1 Chrome / Firefox / Edge
Log in to the customer portal.
Navigate to Orders page.
Open any completed order.
Click the "Reorder" button.
Expected Result:
A new tab opens with the Cart page.
Items from the order are in the cart.
The original order page remains open in the previous tab.
Tests
Case 1 Safari
Open Safari browser.
Log in to the customer portal.
Navigate to Orders page.
Open any completed order.
Click the "Reorder" button.
Expected Result:
Redirect happens on the CURRENT TAB (not a new tab).
You are redirected to the Cart page.
Items are in the cart.
KOD-30414: Sync Payments
KOD-30416: Add option to run price book as specific UOM
Regression Tests
Case 1
Open the following screens and make sure the grids load properly, you can display and hide columns, edit values, assign products and export a csv sheet:
Company Catalog Products grid
Company Groups - Catalogs - Products grid.
Tests
Case 1
Verify priceUnit column appears in the Company Catalog Products grid.
Navigate to the Companies list page.
Select a company that has a catalog with assigned products.
Click the "Catalog" tab to open the Company Categories page.
Select a category from the left-side category tree that has products assigned.
Verify that the grid allows you to display a "Price Unit" column among the product columns.
Verify that the "Price Unit" column displays the correct value for each product row (or is empty if the product has no price unit set).
Make sure the column is editable.
Case 2
Repeat steps of case 1 on the Company Groups - Catalogs - Products grid.
Case 3
Verify that the correct UOM is displayed in the exported price list when no priceUnit has been set on the company product category product item. The priceBookUom should reflect the product's Unit Sell field, and priceBookUnitPrice should be calculated using the matching Unit Conversion.
Pre-requirements:
A company catalog (Company Category) with at least one product item that does NOT have a priceUnit set. If you need to create one:
Log into the customer portal.
Click on Catalogs.
Click ADD CATALOG to create a new Company Catalog.
Search for your product and click ADD TO CATALOG on the product card/details, then select your catalog.
The product must have at least 2 Unit Conversions (e.g., CS and GL).
Setting allowCustomerPriceBookDownload must be enabled.
Steps:
Log into the customer portal.
Go to Catalogs.
Click VIEW on your catalog record.
Click the ACTIONS dropdown and select Export Price List.
Check Attach file to email and click CONFIRM.
Wait for FiveMinuteBulkJobsJob to run (or trigger it manually).
Open the email and download the CSV file.
Locate your product in the exported price list.
Verify that priceBookUom matches the product's Unit Sell field.
Verify that priceBookUnitPrice is correctly calculated using the Unit Conversion whose Units field matches the product's Unit Sell value.
Expected Result: priceBookUom displays the product's Unit Sell value. priceBookUnitPrice is calculated according to the Unit Conversion that matches Unit Sell.
Case 4
Verify that when priceUnit is explicitly set on a catalog product item, the exported price list uses that unit. The priceBookUom should reflect the priceUnit value, and priceBookUnitPrice should be calculated using the matching Unit Conversion.
Pre-requirements:
A company catalog (Company Category) with at least one product item. If you need to create one:
Log into the customer portal.
Click on Catalogs.
Click ADD CATALOG to create a new Company Catalog.
Search for your product and click ADD TO CATALOG on the product card/details, then select your catalog.
The product must have at least 2 Unit Conversions (e.g., CS and GL) — these must match the Units field in the Unit Conversion definition.
Settings allowCustomerPriceBookDownload and inforCSDPriceEngineRestrictQtyBreaksToGreaterQuantities must be enabled.
Steps:
Set priceUnit on the catalog product item. Use the new column called “Price Unit” to add that value to that product item (e.g., "priceUnit": "CS" ).
Verify the Network response shows the priceUnit value persisted.
Log into the customer portal.
Go to Catalogs.
Click VIEW on your catalog record.
Click the ACTIONS dropdown and select Export Price List.
Check Attach file to email and click CONFIRM.
Wait for FiveMinuteBulkJobsJob to run (or trigger it manually).
Open the email and download the CSV file.
Locate your product in the exported price list.
Verify that priceBookUom matches the priceUnit value set in step 1.
Verify that priceBookUnitPrice is correctly calculated using the Unit Conversion whose Units field matches the priceUnit value.
Expected Result: priceBookUom displays the priceUnit value that was set. priceBookUnitPrice is calculated according to the Unit Conversion that matches the specified priceUnit .
Case 5
Verify that when priceUnit is set to a unit that does not match any Unit Conversion record, the engine falls back gracefully. The priceBookUom should fall back to the product's Unit Sell field (or Unit Stock if Unit Sell is not set), and priceBookUnitPrice should be calculated accordingly.
Pre-requirements:
A company catalog (Company Category) with at least one product item. If you need to create one:
Log into the customer portal.
Click on Catalogs.
Click ADD CATALOG to create a new Company Catalog.
Search for your product and click ADD TO CATALOG on the product card/details, then select your catalog.
The product must have at least 2 Unit Conversions (e.g., CS and GL) — these must match the Units field in the Unit Conversion definition.
Settings allowCustomerPriceBookDownload and inforCSDPriceEngineRestrictQtyBreaksToGreaterQuantities must be enabled
Steps:
Set priceUnit to an invalid unit on the catalog product item. Since there is no UX for this field yet, use Swagger:
Open Swagger and find the endpoint PATCH /api/system/companyProductCategory/{companyProductCategoryID}/productByID/{productID}
under the Company ProductCategory API section
Set companyProductCategoryID to your catalog ID and productID to the product ID of the item
In the request body, send a unit that does not match any Unit Conversion:
{
"priceUnit": "<YOUR_WRONG_UNIT>"
}
(e.g., "priceUnit": "XYZ" )
Execute the request and verify the response shows the priceUnit value persisted.
Log into the customer portal
Go to Catalogs.
Click VIEW on your catalog record.
Click the ACTIONS dropdown and select Export Price List.
Check Attach file to email and click CONFIRM.
Wait for FiveMinuteBulkJobsJob to run (or trigger it manually).
Open the email and download the CSV file.
Locate your product in the exported price list.
Verify that priceBookUom falls back to the product's Unit Sell field (if Unit Sell is not set, it falls back to Unit Stock ).
Verify that priceBookUnitPrice is correctly calculated using the Unit Conversion whose Units field matches the fallback unit (Unit Sell or Unit Stock).
Verify that valid prices are generated — no null, empty, or zero values caused by the invalid priceUnit
Expected Result: The engine handles the invalid UOM gracefully. priceBookUom falls back to the product's Unit Sell (or Unit Stock if Unit Sell is not set). Prices are calculated correctly using the fallback unit (1). The price book is generated without errors or crashes.
KOD-30425: Company Product Categories Screen - Surface Additional Fields and Update Sortable/Filterable UI
Regression Tests
Case 1
Navigate to Company Categories.
Verify that grid still loads fine.
Case 2
Navigate to Company Categories.
Choose any company category and navigate to the details page.
Verify that the details page still loads fine.
Case 3
Navigate to the Companies screen.
Choose any company and navigate to the details page.
Navigate to Catalogs.
Choose any category.
On the right top you can see the button → Action.
Verify that you can still edit categories.
Case 4
Navigate to Companies screen.
Choose any company and navigate to details page.
Navigate to Catalogs.
Verify that you can still add category.
Tests
Case 1
Navigate to Company Categories.
Verify that you can see that fields on grid:
Company Address ID
Company ID
Company Product Category Order
Created
Customer Group ID
Customer ID
Host Code
Last Modified
Parent Company Product Category
Source Group Catalog ID
Template
Type
Case 2
Navigate to Company Categories.
Verify that you can filter on all fields except next:
Description
External ID
Company Code
Case 3
Navigate to Company Categories.
Verify that you can sort on next fields:
Code
Company Product Category ID
Company Product Category Order
Customer Asset ID
Customer Group ID
Name
Source Group Catalog ID
Case 4
Navigate to Company Categories.
Choose any company category and navigate to the details page.
Verify that you can see that fields on page:
Company Address ID
Company ID
Company Product Category Order
Created
Customer Group ID
Customer ID
Host Code
Last Modified
Parent Company Product Category
Source Group Catalog ID
Template
Type
Case 5
Navigate to the Companies screen.
Choose any company and navigate to the details page.
Navigate to Catalogs.
Choose any catalog.
On the right top you can see the button → Action.
Click on Edit Category.
Verify that you can see a new field on popup → Type.
Case 6
Navigate to Companies screen.
Choose any company and navigate to details page.
Navigate to Catalogs.
On top left side, you should see ‘Add’ button.
Verify that you can see new field on popup → Type.
KOD-30434: Digital Merchant Application Form Updates
Regression Tests
Case 1
Verify form styling.
Open the Credit Application form.
Scroll through the entire form.
Verify:
No visual gaps or broken layout.
All sections have proper borders.
Section titles display correctly.
Case 2
Verify adding the owner works correctly.
Open the Credit Application form.
Go to Business Ownership - Identify all owners with 25% or More Ownership section.
Click the "Add Owner" button.
Verify:
The new owner section appears.
The owner is numbered correctly (Owner 2, Owner 3, etc.).
Fill in owner fields.
Refresh the page.
Verify:
Owner data is saved.
Case 3
Verify form submits successfully.
Open the Credit Application form.
Fill in all required fields.
In "Account Usage" sub-section: answer "Yes" to at least one question and make sure the percentage fields add up to 100%.
Upload all required documents.
Click the Submit button.
Verify:
Form submits without errors.
Redirects to the confirmation page.
KOD-30442: Additional -99 Invoice updates
KOD-30447: Support XML File Type in Document Studio / OA Flow
KOD-30448: Product Configurator
Regression Tests
Case 1
Open the commerce site.
Open the product list page: everything should work as expected.
Case 2
Open the commerce site.
Open a product page: everything should work as expected.
Tests
Case 1
Open the commerce site.
Open the product list page: for each product in the list, the part number should be with the name section.
Case 2
Open the commerce site.
Open a product page with filter select.
Click the variant select to show options:
Hover a disabled option: it should display the “not-allowed” cursor style.
Click a disabled option: nothing should happen (disabled options should not be clickable).
Case 3
Open the commerce site.
Open a product page that has at least 2 filters.
Log in the Operations Portal, and open PIM → Filter Categories page.
Find those filters in the grid searching by Name .
Change filter categories “position” property in the grid to make a new order for filters.
Open System → Scheduler page.
Find SolrReindexJob and click on the running man icon on the right side of the row to run it manually.
Back to the commerce site product page, and reload it:
It should display the filter selectors sorted according to the new order.
If the “position” values for the filter categories are equal, these filter selectors should be sorted alphabetically.
Case 4
Open the commerce site.
Open a product page that has at least one filter.
Copy this filter name.
Log in the Operations Portal, and open PIM → Filter Categories page.
Find that filter in the grid searching by Name , and click to open its Details page.
Click the Attributes tab.
In the Attributes list on the left, click “Edit” (pencil icon) for editing an attribute: it will open an “Edit Attribute” modal form.
Change the “Order” value, and click “Save”.
Repeat these steps to edit the “Order” value for each of the other attributes.
Open System → Scheduler page.
Find SolrReindexJob and click on the running man icon on the right side of the row to run it manually.
Back to the commerce site product page, and reload it.
Click the selector for the changed filter:
It should display the attribute options sorted according to the new order.
If the “order” values for the attributes are equal, these attribute options should be sorted alphabetically.
KOD-30469: Can't View 2026 on Stats
KOD-30480: Credit Card Name Reference
KOD-30482: Shared Drive App - Navigation Fix
Regression Tests
Case 1
Cross-app navigation from app bar.
Navigate to any app from the global app bar.
Click the apps grid icon in the global app bar to open the applications menu.
Click on a different app (e.g., "Document Automation Studio") from the menu.
Verify the browser navigates to the selected app without any console errors.
Verify the selected app loads and renders correctly.
Tests
Case 1
Cross-app navigation from Shared Drive via app bar.
Navigate to the Shared Drive app from the global app bar.
Click the apps grid icon in the global app bar to open the applications menu.
Click on a different app (e.g., "Document Automation Studio") from the menu.
Verify the browser navigates to the selected app without any console errors.
Verify the selected app loads and renders correctly.
Verify navigation inside Shared Drive.
KOD-30492: App Checkout Error
KOD-30496: Transaction Type In Customer Portal UX
Regression Tests
Case 1
Ensure the Open Invoices page opens without errors.
Ensure the Column Picker opens and displays a list of available columns.
Ensure there are no errors in the console on the Open Invoices page.
Tests
Case 1
Verify that the new "Transaction Type" column appears in the Column Picker.
Verify that the "Transaction Type" column isn't displayed in the grid by default.
Verify that after enabling the "Transaction Type" column in the Column Picker, it appears in the grid.
KOD-30500: Implementation - Link Color
KOD-30510: Questions About Sending Automated Messages (Low Stock Notifications)
KOD-30516: Implementation - Product Images
KOD-30568: Implementation - ERP Configuration
KOD-30571: Allow for price book catalog edits without requiring company catalog deletion
Regression Tests
Case 1
Navigate to Company Groups > select a group > Catalog tab > select a category.
Click the Actions dropdown menu.
Verify all options are present: Generate Price Book , Generate Price Book for All Companies , Sync to Company Catalogs , Edit Category , Remove Category.
Click Edit Category and verify the edit dialog opens.
Close the dialog and click Actions > Generate Price Book.
Verify the Generate Price Book dialog opens with Template , Company , Email , and Attach file to email fields.
Tests
Case 1
Navigate to Company Groups > select a group > Catalog tab > select a category.
Click the Actions dropdown menu.
Verify Sync to Company Catalogs appears after the Generate Price Book for All Companies.
Click Sync to Company Catalogs.
Verify a confirmation dialog appears with the message: "This will sync all company catalogs with the latest group catalog changes. This process runs in the background."
Click Confirm to proceed.
Verify a snackbar appears with: "Group catalog sync started. This process runs in the background."
Open the browser Network tab and verify a POST request was sent to /api/system/companyProductCategory/customerGroup/syncLinkedCatalogs/async
Verify your catalog was updated.
KOD-30585: Implementation - Order / Invoice Documents
Tests
Case 1
Go to Operations Portal, Orders → Orders.
Open a random order for a test. Try to generate PDF Invoice and Email Invoice. Check that the design of templates is looking good and similar to the customers current invoices.
Go to the customer portal Orders. Open the random order. Check that the HTML version for templates looks good.
KOD-30596: Order Automation: Make "From Field" Filterable for Username Filtering in Order Email
Regression Tests
Case 1
The list for testing pages is in the comments section.
We need to go through Email pages and check that they still load fine.
Tests
Case 1
The list for testing pages is in the comments section.
We need to test that the From field is filterable on Emails pages.
KOD-30598: Back arrow navigation in Shared Drive folder
Regression Tests
Case 1
Make sure the shared drive actually loads and you can navigate to different folders and still click to preview files.
And clicking on breadcrumbs still navigates you to the correct folder.
Tests
Case 1
Click into different folders and if you click the back button, it should take you to the last viewed folder.
Case 2
Click to preview a file and click the back button → the file should close and you should still be in the same folder.
Case 3
The URL now has the folder id in it so if you copy and paste that URL, it should direct you to that folder (left nav should be closed when you navigate).
The breadcrumbs up top should show the folder structure.
Now click into a folder that is on the page in the grid/list view, you should navigate there as well as the left nav folder structure should open.
Same thing should happen if you click the breadcrumbs - the nav folder structure should open.
KOD-30600: Add Company Name and Company Code columns on Financial Accounts
Regression Tests
Case 1
Go to the operations portal.
Go to the financial accounts tab.
Create a new financial account if the table is empty.
See if the list is working properly.
Expected:
You should be able to interact with the list successfully, filtering, etc.
Case 2
Go to the operations portal.
Go to the companies tab.
Go to a company detail.
More → Financial Accounts.
See if the list is working properly.
Expected:
You should be able to see all the records of that company.
Case 3
Go to the operations portal.
Go to the financial accounts tab.
Create a new financial account.
Expected: You should be able to successfully create a new financial account. After creating it, you should be able to see it in the list.
Case 4
Go to the operations portal.
Go to the financial accounts tab.
Click in the financial account details of the record that you just created (or any other).
Expected: You should be able to see the details without any issue.
Case 5
Go to the operations portal.
Go to the financial accounts tab.
Actions → Create a gift card account .
Fill in the information.
Expected: You should be able to see the new credit card account created without any issue.
Case 6
Go to the operations portal.
Go to the financial accounts tab.
Go to any record details.
Edit a field (e.g. code)
Refresh the page. Expected: You should be able to edit the field successfully. The information updated should have the same value that you just put after refreshing the page.
Tests
Case 1
Be sure that you have a financial account in your environment.
Go to the swagger.
Go to the FiAccount API.
Query the POST /api/system/fiAccount/list with this payload:
You should be able to see two new fields, company code and company name for each record. The values should be the name and the code from the company that holds that ID.
Find a test company. Try to generate a statement. Check that it looks good, design similar to example statement.
Check that checks list looks good and has appropriate data.
KOD-30608: Allow customers to view an Item History
Regression Tests
Case 1
Search with full-text search (product search) and verify its working as expected.
Tests
Case 1
We don't have UX yet but we can test with Swagger or Postman.
Send POST request to /listProductsV2?lastPurchaseDateFrom=2026-01-01 lastPurchaseDateTo=2026-03-07 page=0 size=10
and it should return 200 and products with last purchase date > 2026-01-01 and lastPurchaseDateTo < 2026-03-07.
KOD-30623: Hide Pricing Feature Implementation
Regression Tests
Case 1
Open the commerce site as an anonymous user (not logged in).
It should not display a dropdown button at the top with Store / Customer View options.
The product prices should be displayed as expected in:
PLP
PDP
Header mini cart
Cart page
Tests
Case 1
Open the commerce site and log in as a customer:
It should display a dropdown button at the top with Store / Customer View options.
Select “Store View”.
The prices should be displayed in:
PLP
PDP
Header mini cart
Cart page
Case 2
Open the commerce site and log in as a customer.
Click the new dropdown button at the top and select “Customer View”.
It should hide prices in:
PLP
Header mini cart
Cart page
In PDP it should hide:
Any prices other than retail price
Pricing button
KOD-30630: Setting up a rule for Service Ticket Workflow
KOD-30633: UX Kodaris Ticket System Refinement Requested Custom Fields
Regression Tests
Case 1
Open Commerce Portal → Configurations page.
Verify page layout.
Ensure all sections are displayed correctly.
Verify no elements are broken or misaligned.
Tests
Case 1 (Commerce): Verify Project Size, Percent Complete, and Your Department Fields
Open Commerce Portal → Tickets.
Verify columns in Tickets list.
Open Columns.
Enable Project Size, Percent Complete, and Your Department.
Verify columns are displayed.
Ensure data is populated in these columns.
Verify fields in detailed view.
Open any ticket.
Locate Project Size, Percent Complete, and Your Department fields.
Verify edit permissions.
Ensure Project Size and Percent Complete are read-only (not editable).
Ensure Your Department is editable.
Verify dropdown behavior for Your Department.
Open the dropdown.
Ensure users can select a department.
If dropdown is empty:
Add values in Configurations.
Verify they appear in the dropdown.
Case 2 (Operations Portal): Verify Project Size, Percent Complete, and Customer Department Columns in Ticket Records
Open the Operations Portal → Tickets.
Open the column visibility panel (Columns button).
Enable Project Size , Percent Complete , and Customer Department.
Verify the columns appear in the grid.
Ensure data is populated for tickets that have these fields set on the backend.
For a ticket row where Project Size is set, click the cell to open the inline editor.
Verify a dropdown appears with the configured project size options.
Select a different value and confirm it saves.
Case 3 (Operations Portal): Verify Project Size and Percent Complete in Ticket Detail View
Open the Operations Portal → Tickets.
Open any ticket to the detail view.
Navigate to the Customer Details section.
Locate the Project Size and Percent Complete fields.
Project Size:
Click the Project Size dropdown.
Verify options are displayed.
Select a value and click away (blur) to trigger auto-save.
Refresh the page and confirm the selected value persists.
If the dropdown is empty: add values in Configuration → Ticket → Project Sizes, refresh, and re-verify.
Percent Complete:
Click the Percent Complete field.
Enter a numeric value (e.g. 50 ).
Click away (blur) to trigger auto-save.
Refresh the page and confirm the value persists.
Enter a non-numeric value and verify it is rejected or ignored.
KOD-30642: Microsite
KOD-30643: Pricing Issue - 1 cent off on some items, causing order discrepancies
KOD-30645: Iframe option to disableAutocomplete
KOD-30644: Search request updates
Regression Tests
Case 1
Search for any suggestion on suggestion endpoint.
Note: you should see /api/user/search/product/suggest endpoint in network.
Case 2
Open any list AND search page on the operations portal, ensure data is loading correctly.
Case 3
Open any search for non-logged in users (for example, search delivery address).
Tests
Case 1
In the response of suggestions you should see images.
Case 2
For ALL public API (user API), when searching/filtering on any list or search endpoints, when value exceeds 1000 for expression operations and 255 chars for all other:
You should see error:
Search field value is too long.
Test with both list and search.
Case 3
For ALL customer and employee search/list endpoints, when value exceeds 1000 chars for expression and 255 for every other type, you should see JS log in the console.
KOD-30648: Map Vendor Part Number to Manufacturer Product Code
KOD-30650: Check Import for Fields being Populated from CSD
KOD-30666: Dynamic Price Book PDF Generation from Catalog Products
Regression Tests
Case 1
Log in to the Operations Portal and navigate to a company that has a product catalog configured.
Trigger the pricebook PDF export for that company.
Verify the PDF is generated successfully and downloads without errors.
Open the PDF and verify it displays the company name, date, product categories, product codes, descriptions, and prices correctly
Verify the PDF header no longer shows empty Shipto or Sales Rep rows.
Repeat the export from the Customer Portal and verify the same PDF is generated correctly.
Tests
Case 1
Log in to the Operations Portal and navigate to the product catalog for a company.
Note the current products, categories, and prices in the catalog.
Trigger the pricebook PDF export and save the output for comparison.
Make a change to the catalog (e.g., add a product, update a price, or rename a category).
Trigger the pricebook PDF export again.
Verify the newly generated PDF reflects the catalog changes made in the previous step.
Revert the catalog change made in step 4.
KOD-30674: Portal Flow on non-Consumer Sites
KOD-30680: Implementation - Payment Methods
KOD-30683: Trouble translating text on Order details form
KOD-30688: DDS PIM Taxonomy
KOD-30698: Update GET: api/system/contentPage/{contentPageID}/settings to read content page(contentPage = true) category instead of category (contentPage = false)
using order id from step 6 and productItemID from step 8 and this body:
{ "quantityShipped" : 1}
Execute PATCH /api/system/{orderID}/orderItem/{coreItemID} using order id from step 6 and coreItemID from step 8 and this body:
{
"quantityShipped" : 1,
"active" : false
}
Go to Scheduler → Run SolrReindexJob to be sure that order will be reindexed.
Case 1 - CORE return item works and doesn’t throw error message
Log out from the operations portal.
Log into the customer portal (customer must belong to the same company as the order).
Open Swagger in another tab and switch to User API.
Call GET /api/user/customer/authToken and copy data value from response.
Switch to Account API, click the Authorize button in Swagger and paste the token.
Execute POST /api/account/order/return/start?companyID={companyID} originalOrderID={orderID}
using companyID of your test company (check it on Operations Portal → Companies) and orderID from step 6 of setup.
Note orderID from response.
Call POST /api/account/order/return/{returnOrderID}/addItem using orderID from step 7 and this body (replace <productItemID> in json with productItemID from step 8 of setup):
{
"code": "KCoreCharge",
"quantity": 1,
"type": "CORE",
"originalOrderItemID": <productItemID>
}
Verify response code is 200 and there are no "The item with code KCoreCharge does not exist in any Order" error message.
KOD-30723: Price Lists Mass Email off Company Group Catalog (UX)
Regression Tests
Case 1
Navigate to Company Groups > select a group > Catalog tab > select a category > Actions > Generate Price Book.
Verify the dialog shows Template , Company , Email , and Attach file to email fields.
Select a company, optionally enter an email, and click Generate.
Verify the price book is generated with a success toast and the dialog closes.
Navigate to Companies > select a company > Catalog > select a category > Actions > Generate Price Book.
Verify the dialog works the same and Generate Price Book for All Companies is not available in the Actions menu.
Tests
Case 1
Navigate to Company Groups > select a group > Catalog tab > select a category.
Click Actions and verify two options appear: Generate Price Book and Generate Price Book for All Companies.
Click Generate Price Book for All Companies.
Verify the dialog shows only the Template dropdown — no Company, Email, or Attach file to email fields.
Select a template and click Generate.
Verify a toast message appears and the dialog closes.
KOD-30724: Copyright Edit
Regression Tests
Case 1
Navigate to any page on the website.
Scroll down to the footer section.
Expected Result:
Footer is visible and displayed correctly.
Tests
Case 1
Navigate to any page on the website.
Scroll down to the footer section.
Verify the copyright section.
Expected Result:
Footer displays 2 separate copyright statements.
KOD-30725: Operations Portal Discrepancy Display for Cash Quotes
Regression Tests
Case 1
Go to the operations portal → Cash Quotes. Quotes without any discrepancies should not have discrepancy bubbles. To check if the cash quotes has or doesn’t have discrepancies → go to its developer fields and search for the following setting “discrepancies“. If it is not present or is empty - there are no discrepancies and no bubbles should appear for that quote on the grid page, details page and items page.
Tests
Case 1
The feature test would be to check that if there are discrepancies on a cash quote - the bubbles actually reflect that. There is a simple way to add discrepancies to a cash quote manually, we can just add the setting “ discrepancies “ to the developer fields of some cash quote.
Setting fields:
Code: discrepancies
Name: Order Discrepancies
Description: Order Discrepancies
Type: AUTOMATION
Value Type: textValue
KOD-30741: Order / Invoice Documents - Displaying email issue in Outlook
Regression Tests
Case 1
Navigate to Orders page.
Choose any order.
Click the email icon and generate an email using the "Order Email" template.
Send the test email to a Gmail account, an Outlook account.
Open the email in:
Email page in Operations Portal
Gmail (web)
Outlook web ( outlook.com ) or new Outlook desktop app.
Expected Results:
Layout is not broken and looks correct.
Tests
Case 1
Navigate to Orders page.
Choose any order.
Click the email icon and generate an email using the "Order Email" template.
Send the test email to an account configured in old (classic) Outlook.
Open the email in Old (classic) Outlook.
Verify:
Website logo displays at correct size.
logo displays at correct size.
The header section has proper proportions.
KOD-30746: Product Preferences (Availability & Supplier Part #)
Regression Tests
Case 1
Navigate to a product detail page.
Verify product name, images, pricing, and PART number display correctly.
Enter a quantity and click Add to Cart.
Verify the product is added to the cart successfully.
Navigate back to the product list and confirm grid and list views render without errors.
Tests
Case 1
Navigate to a product list page.
Verify products display "In Stock" or "Out of Stock" text instead of individual warehouse names and quantities.
Toggle to list view.
Verify the same "In Stock" or "Out of Stock" label appears in the list view.
Click on a product that has inventory available.
Verify the product detail page shows "In Stock" without warehouse breakdown.
Navigate to a product with zero availability across all warehouses.
Verify the product detail page shows "Out of Stock".
Case 2
Navigate to a product detail page.
Verify the SUPPLIER attribute is not displayed in the product attributes section.
Verify the SUPPLIER PART # attribute is not displayed in the product attributes section.
Verify the PART attribute and other product details still display correctly.
KOD-30750: Add UX Manual Fraud Flag Button
Regression Tests
Case 1
Go to CRM → Quote Requests.
Find a quote that has a predefined fraud level, reload the page, and verify that the fraud label successfully appears on the layout.
Look at the data to check the specific risk score. For example, verify that a score like 11.32 correctly corresponds to a "low" level of fraud.
Pull up additional quotes to verify other fraud scenarios. Check that a "medium" fraud level (e.g., a risk score of 69) and an "empty" fraud status both render correctly.
Navigate to orders.
Check the overall order layout to ensure it looks correct and that there are no broken elements on the page.
Check Automated Fraud Label Rendering*.* Find an order that has automated fraud predefined and verify that the fraud level successfully renders on the layout.
Validate Order Risk Scores. Confirm the specific threat level and score for the order. For example, verify that an order with a risk level of 5.23 accurately displays as a "low threat".
Tests
Case 1
Go to Operations Portal Orders → Orders Open a random order record to begin the test.
Open the "More" dropdown menu. You should see a new button that says either "flag fraud" or "clear fraud," depending on whether a manual fraud flag has already been created for that order. Since you are starting with a clear record, it should say "flag as fraud".
Click the "flag fraud" button in the dropdown. Check that the modal is responsive and that everything looks visually correct.
Open your browser's network tab to monitor the request, and click "flag fraud" within the modal to create it.
Check that the fraud tab updates appropriately and that a "fraud" label now appears on the page.
Open the "More" dropdown again and confirm that the button has dynamically changed to say "clear fraud".
Reload the page and verify that the state has not changed, the "fraud" label should still be there, and the dropdown button should still say "clear fraud".
Navigate to the main "frauds" area and verify that the newly created manual fraud appears in the list.
Go back to the dropdown and click "clear fraud". A confirmation button will appear; click it to confirm the action.
Confirm that the fraud flag is successfully removed, the state changes back to "clear," and the dropdown button reverts to "flag fraud".
Reload the page one last time and confirm that there are no longer any frauds shown for the record.
Case 2
Find and open an order that already has a pre-existing fraud level.
Open the dropdown menu and confirm that the "flag fraud" button appears. It should be available because, even though the order has an existing fraud level, no manual fraud flag has been created yet.
Click the "flag fraud" button to apply a manual fraud flag to the order.
Check the record to ensure the overall fraud status has changed to "high" and the manual score has updated to 99.
Go back to the dropdown and test the clear functionality by removing the manual fraud flag.
Confirm that the fraud status and the tab successfully revert to their previous state after the manual flag is cleared.
Check the dropdown menu one last time to ensure the button has dynamically changed back from "clear fraud" to "flag fraud".
Case 3
Create a test user with viewOrder permissions.
Go to the specific order. In the More dropdown check, you don’t see “Clear Fraud” or “Flag Fraud” buttons.
Set the new permission for the user, could be fraudDataEdit or superuser or administrator .
Log in to this user and repeat steps with More dropdown. Check that either the “clear” or “flag” fraud button exists.
Case 4
Go to orders. Find an order with status “Received” that was created within 7 days.
Go to the developer fields of the order, remove settings pulledByTrend and trendSynced if they exist.
Go to the platform settings. check that fraudDataKodarisHoldThreshold is greater than 0. If it’s not, set the value, for example. 23.
Go back to the orders page, check that the selected order “Employee status” column is empty.
Go to the order. Create manual fraud for it.
Go to the schedulers, find FiveMinuteIntervalJob scheduler and run it.
Go back to orders. Check the “Employee status” column for this order, see that the value changed to “Fraud Data Hold” for it.
KOD-30752: Rename Catalogs to Shopping Lists
Tests
Case 1
“Shopping Lists" label in navigation and menus.
Log in as a customer.
Verify the header navigation link reads "Shopping Lists" (not "Catalogs").
Open the mobile menu and verify the link also reads "Shopping Lists".
Verify clicking either link navigates to /spcu/catalogs.
Case 2
Shopping Lists main page labels.
Log in as a company admin and navigate to /spcu/catalogs.
Verify the page title reads "Shopping Lists".
Verify the section headings read "Company Shopping Lists" and "My Shopping Lists".
Verify the description text reads "Company shopping lists are used to create or display company-wide shopping lists..." and "My Shopping Lists are used to create or display any personal shopping lists..."
Verify both "Add Shopping List" buttons display correctly.
Case 3
Shopping list CRUD operations.
Log in as a company admin and navigate to /spcu/catalogs.
Click "Add Shopping List" under Company Shopping Lists, enter a name, and click "Add".
Verify the new shopping list appears in the table.
Click "View" to open it, then click edit — verify modal title reads "Edit Shopping List".
Delete the shopping list — verify confirmation message reads "Deleting this shopping list will also delete all nested shopping lists and items in the shopping list."
Confirm deletion and verify it is removed.
Case 4
"Shopping List" labels on product, product list, and cart pages.
Log in as a customer and navigate to any product detail page.
Verify the button reads "Add to Shopping List".
Navigate to a product list page and switch between Grid and Shopping List views.
Verify the view toggle label reads "Shopping List" and "Add to Shopping List" buttons are present.
Navigate to the cart, open the save dropdown, and verify options read "Add a Company Shopping List", "Add a Personal Shopping List", and "Add to Existing Shopping List".
Case 5
Add products to a shopping list from product pages.
Log in as a customer and navigate to a product detail page.
Click "Add to Shopping List" and select a list from the picker.
Verify the product is added successfully (button briefly shows success state then returns to "Add to Shopping List").
Navigate to /spcu/catalogs and open the shopping list to confirm the product appears.
Case 6
Create a Shopping List from the category page.
Log in as a company admin and navigate to a product category page.
Verify the button reads "Create Shopping List".
Click it, enter a name in the modal under "Shopping List Name", and click "Create".
Verify the success message reads "Shopping List Creation in Progress".
Click "Go to Shopping Lists" and verify it navigates to /spcu/catalogs .
KOD-30753: Make State Dropdown Dynamic
KOD-30754: Add Purchase Order Number Limit of 22 Characters
Tests
Case 1
Go to the Customer Portal.
Add some products to the cart.
Go to the cart and pass the first two steps.
On the third step find the “Add a Purchase Order” field.
Please test that the user cannot checkout with more than 22 symbols in the PO field.
Case 2
Please enter more than 22 symbols to the PO input → refresh the page and the PO input should be trimmed. We should be able to place orders now.
KOD-30759: Customer Email Address being over written by Infor
KOD-30763: Ecommerce Cart Line Comment/Note
KOD-30765: Translate month names in Purchase History
Regression Tests
Case 1
Go to the product details page.
Make sure the page loaded without any errors.
Verify all product data is displayed correctly.
Click on the "Purchase History" tab.
Expected result:
If the product has a purchase history: table with data is displayed correctly.
If the product has no purchase history: message "You have no purchase history for this product yet." is displayed.
Tests
Case 1
Log in as a customer.
Navigate to the product details page for a product that contains some purchase history data.
Set site language to English.
Expected result:
Date is displayed in English format.
Change site language.
Expected result:
The Date is displayed in the selected language format.
KOD-30766: PIM - Integration Remove Status Filter
KOD-30767: PARSER
KOD-30769: Kodaris - Exclude Pages from the FAQ Parent Page Input
Regression Tests
Case 1
The existing suggestParents method still works for non-FAQ content pages.
Navigate to a non-FAQ content page section (e.g., Pages, screen).
Locate any Parent Page autocomplete field.
Type a search query into the Parent Page field.
Verify that all content page types (not just FAQs) still appear as suggestions.
Verify that selecting a parent page saves correctly.
Case 2
FAQ page creation and editing still functions correctly.
Navigate to the FAQ list page at `/faq`.
Open an existing FAQ entry.
Edit a field (e.g., the name or code) and save.
Verify the changes persist after refreshing the page.
Verify the Parent Page field still displays the previously selected parent correctly.
Tests
Case 1
Parent FAQ autocomplete on FAQ list page only shows FAQ pages
Navigate to the FAQ list page at `/faq`.
Click on the "Data" tab or navigate to `/faq/data`.
Locate the Parent Page autocomplete field.
Type a partial name or code of a known FAQ page into the Parent Page field.
Verify that the autocomplete suggestions only display FAQ-type pages (not regular content pages, blogs, etc.).
Verify each suggestion displayed in the format "Code - Name".
Case 2
Parent FAQ autocomplete on FAQ Detail page only shows FAQ pages.
Navigate to the FAQ list page at `/faq`.
Click on an existing FAQ entry to open its detail view at `/faq/:faqID`.
Locate the Parent Page autocomplete field.
Type a partial name or code into the Parent Page field.
Verify that the autocomplete dropdown only shows FAQ-type pages.
Verify the current FAQ page itself is excluded from the suggestions (self-referencing prevented).
Case 3
Parent FAQ autocomplete on FAQ Drafts pages only shows FAQ pages.
Navigate to the FAQ Drafts list page at `/faq-drafts`.
Click on the "Data" tab or navigate to `/faq-drafts/data`.
Locate the Parent Page autocomplete field and type a search query.
Verify that only FAQ-type pages appear in the suggestions.
Navigate to an existing FAQ Draft detail page at `/faq-drafts/:faqID`.
Locate the Parent Page autocomplete field and type a search query.
Verify that only FAQ-type pages appear in the suggestions and the current draft is excluded.
KOD-30771: Update return policy message to be black
KOD-30773: Parser fix
KOD-30777: Invoice updates - PO filed fix
KOD-30780: Bi-directional sync for Customer Cross Reference
Tests
Case 1
Enable jobSyncProductCrossReferenceToErpEnabled.
Create/update a cross reference in the operations portal (/operations/cross-references page) without unitSell (for a product that has one).
Wait for the 5-minute job.
Verify no CSD errors and the sync succeeds.
Case 2
Same as #1 but create the cross reference from the customer portal.
KOD-30783: Add Support Chat
KOD-30784: Add required attribute to the Form
KOD-30787: Price Engine issue
KOD-30788: Recently Ordered and description not translating on Recently ordered catalog page
Regression Tests
Case 1 Company catalog page loads without errors
Navigate to the website.
Log in and navigate to the catalog page.
Expected result:
Page loads without errors.
Catalog name and description displayed without issues.
Case 2 Verify page handles catalogs without descriptions gracefully
Navigate to a company catalog page that has a catalog WITHOUT a description.
Locate the catalog header section.
Expected result:
Page loads without errors.
Catalog name displays correctly.
No empty space or "undefined" text where description would be.
Tests
Case 1 Verify catalog displays translated text when locale is changed
Pre-condition: Site must be with translations configured.
Navigate to a company catalog page.
Change the site language to an alternate language.
Observe the catalog name and description.
Expected result:
Catalog name displays in the selected language.
Catalog description displays in the selected language.
Case 2 Verify fallback behavior when no translation is set up
Switch to a locale where translation is not defined.
Observe the catalog name and description.
Expected result:
Original (default) catalog name is displayed.
Original (default) catalog description is displayed.
No error messages or blank text.
Case 3 Verify special characters are properly escaped and displayed
Navigate to a company catalog page with special characters in catalog name or description (you can create one if none exist).
Observe how special characters are displayed.
Expected result:
Special characters display correctly: < > " '.
No HTML injection or broken layout ('<b>This text is bold</b>' not ‘ This text is bold’ )
KOD-30789: Update the wording from Catalog to Order Template
Regression Tests
Case 1
Complete the full order template creation flow with valid data.
Navigate to /spcu/catalogs.
Verify the order template appears in the list.
Expected Result:
Order template creation functionality works identically to before.
Only display text has changed.
Tests
Case 1
Log in to the application.
Navigate to a category page.
Verify button displays "Create Order Template".
Click the "Create Order Template" button.
Verify modal title displays "Create Order Template".
Verify form label displays "Order Template Name".
Enter a valid name.
Submit the form.
Verify success title displays "Order Template Creation in Progress".
Verify success message displays "Your order template will be created within the next few minutes."
Verify link button displays "Go to Order Templates".
Case 2
Log in to the application.
Navigate to a category page.
Click the "Create Order Template" button.
Enter a name longer than 200 characters.
Submit the form.
Clear the input field.
Enter a name with special characters.
Submit the form.
Expected Result:
Both error messages use "Order template" terminology (NOT "Catalog").
KOD-30792: "Add a Note" option
Regression Tests
Case 1
Verify that the Company Shopping List (/company-catalog?code=...) opens and displays products correctly.
Tests
Case 1
Verify that the “Add a note” option is NOT displayed in the grid/list view on the Company Shopping page.
KOD-30795: Shopping List/Catalog question
Regression Tests
Case 1
Navigate to /catalogs (Shopping Lists page).
Verify existing company and group shopping lists are displayed correctly.
Click View on a shopping list and confirm it loads properly.
Tests
Case 1
Navigate to a product listing or product detail page.
Click Add to Shopping List on any product.
Verify no Retail Price Catalog entries appear in the dropdown.
Navigate to /catalogs (Shopping Lists page).
Verify Retail Price Catalog is not listed in the company shopping lists table.
Navigate to the Cart page with at least one item in the cart.
Click Add to Existing Shopping List to open the modal.
Verify Retail Price Catalog is not listed in the shopping list dropdown.
KOD-30793: Platform - Order/AP Discrepancies add "ruleDataColumn" to sscRule to hold user editable configurations
KOD-30796: Port existing order automation discrepancies over to rule engine
KOD-30801: Online order parser
KOD-30802: Google Tag Manager issue
Regression Tests
Case 1
Check that website still loads fine.
Tests
Case 1
Login to operations portal.
Navigate to Google Analytics.
Populate the Google Tag Manager and Google Tag Manager (noscript).
Go to the front side.
Open the inspector.
Verify that Google Tag Manager and Google Tag Manager (noscript) loads.
KOD-30806: Update synced company categories name,code etc when the group catalog has changed
Regression Tests
Case 1
Prerequisites : Have a group catalog with companies assigned.
Have already triggered a price book for any of the companies and verify that the company catalog name/code/description etc. are being populated based on the group catalog information.
Then:
Execute the following endpoint: /api/system/companyProductCategory/customerGroup/syncLinkedCatalogs/async
and it should not update any existing company catalog data since the information should still be the same as the group catalog.
Note : The endpoint runs asynchronous so you should update the company catalog screen to confirm that after a few seconds.
Tests
Case 1
Prerequisites : Have a group catalog with companies assigned.
Have already triggered a price book for any of the companies and verify that the company catalog name/code/description etc. are being populated based on the group catalog information.
Then, change some metadata from the group catalog:
You could change name, code, description, type, host.
Then, run again the endpoint /api/system/companyProductCategory/customerGroup/syncLinkedCatalogs/async.
And now all the company catalogs should have the fields updated based on the group catalog.
For instance, if the group catalog changes its name, the company catalog should have the same name as well.
KOD-30807: Add reportingEmail field to the Terminals screen
Regression Tests
Case 1
Verify that the Terminals and Terminal Detail screens display correctly.
Verify that the terminal grid functions correctly.
Tests
Case 1
Verify that a new field, “Reporting Email,” has appeared in the column picker.
Verify that sorting and filtering by the “Reporting Email” field are disabled.
Verify that the “Reporting Email” field is editable in the grid.
Verify that a new “Reporting Email” field has appeared in the “Other Info” section on the details page.
KOD-30811: Search Functionality
KOD-30819:Create rule to not allow search engines to index product search pages
KOD-30821: 360 Product Image Viewer
Regression Tests
Case 1
Open a product that has multiple regular images and no 360 images.
Verify all thumbnails display correctly with product photos.
Click on each thumbnail — the main image should switch accordingly.
Verify no rotation icon or "Drag to rotate" hint appears anywhere.
Tests
Case 1
Add images with _LG_XX_360 naming pattern to a product.
Open the product detail page.
First thumbnail should show a rotation icon instead of a product photo.
The main area should display a 360 viewer with a "Drag to rotate" hint.
Click and drag horizontally — the image should rotate through frames.
The hint should disappear after the first interaction.
Regular product photos should follow as normal carousel slides.
Case 2
Open a product that has only regular images (no _360 in filenames).
The carousel should work exactly as before — no rotation icon, no viewer, standard thumbnail navigation.
KOD-30823: Automating Account Process Roles & Symbol Update
KOD-30827: Cannot select language when accessing site through mobile browser
Regression Tests
Case 1 Verify desktop language selector was not affected by mobile changes
Open the website on the desktop (window width > 960px).
Locate the language button in the top header bar.
Click the language button.
Select a different language from the dropdown.
Expected result:
The language button displays the current language name.
The dropdown opens showing available languages.
Page updates with selected language.
Case 2 Verify mobile menu still functions correctly after layout changes.
Open the website on mobile (window width <= 960px).
Tap the hamburger menu icon.
Tap the close button (X).
Open menu again.
Expected result:
The mobile menu opens fine.
Close button (X) appeared on the left side.
Menu closes when tapping the close button.
Menu reopens correctly.
Tests
Case 1 Verify language button displays correctly in mobile menu header.
Open the website on mobile (window width <= 960px).
Open mobile menu.
Expected result:
Language button is visible on the right side of the menu header.
Button shows the current language name (e.g., "English").
Case 2 Verify language dropdown opens and displays correctly on mobile
Open mobile menu.
Tap the language Button.
Expected result:
The dropdown panel opens.
The dropdown does not overflow the screen.
The dropdown shows a list of available languages.
Tap outside the dropdown.
Expected result:
Dropdown closes.
Case 3 Verify language can be changed using mobile menu selector
Tap the language button.
Select a different language from the dropdown.
Expected result:
Language changes after selection.
Page content updates to selected language.
The language button in the mobile menu shows the newly selected language.
KOD-30828: Updating the “MAP Price?” field at the product level in Kodaris directly from CSD
KOD-30831: Implementation
KOD-30833: Updates to send placed by field
KOD-30835: Parser update
KOD-30834: Incomplete Addon Data
KOD-30844: Send invoice & statement emails to Kodaris delivery fields if populated
KOD-30846: Multi-Payment-Type Sync to CSD
KOD-30851: Add Company Name and Company Code columns for Financial Accounts grid
Regression Tests
Case 1
Go to Operations Portal. Open System → Financial Accounts.
Check that the grid renders properly and we don’t have any UI bugs, errors in the console.
Tests
Case 1
Open columns dropdown and enable “Company Code” and “Company Name” fields.
Check that these fields render properly, the correct data shown in these fields. The fields should be readonly/non-filterable/non-sortable.
KOD-30855: Quick Order > Sales Rep's can't re-enter an order they had started
KOD-30856: App Welcome Name
KOD-30861: Send user10 field on order insert
KOD-30862: Install Applications
KOD-30867: PIM - Update CSD Integration so All Active Products Marked as Display = Yes