New Role Enables Company Catalog Management Without Admin Access
We've introduced the "Company Catalog Edit" role that allows designated users to fully manage company catalogs without requiring admin permissions.
Users assigned this new role can create, view, edit, and delete company catalogs directly from the Commerce site. After logging in, they can access the Catalogs page to add new catalogs, modify existing ones, and manage catalog contents.
This permission-based approach streamlines catalog management workflows by allowing organizations to delegate catalog responsibilities to appropriate team members while maintaining proper access control. Team members can independently manage catalogs without needing to request changes through system administrators.
The Company Catalog Edit role is now available for all users. For a detailed walkthrough of how to assign this role and use its features, please refer to our demonstration video.
https://youtu.be/8DoojTJQxCU
Tickets
KOD-23816: Order submission - Address line 2
KOD-24266: Enter Returns in CSD
KOD-25289: Install Website Package Created From Ticket 21522
KOD-25873: Payments Report API Integration
KOD-25890: Add streaming AI Chat endpoint functionality
KOD-26343: Check if data contains the product weights Created From Ticket 26707
KOD-26386: Payment Testing
KOD-26498: Ship To address not saved correctly - Created From Ticket 27378
Regression Tests
Case 1
Preconditions:
User is on the page with the locations dropdown (for example quotes/quote/{id}/detail)
Scroll down to the delivery address field.
Check that everything works as expected, without any errors.
Users can update/save the current address.
Dropdown items are visible.
Case 2
Let's test the dropdown switching and setting the value via the keyboard.
Click on deliveryadress input, try switching between dates using the arrows, up/down and set the value using Enter.
Tests
Case 1
Preconditions:
The user is on the quote detail page (quotes/quote/{id}/detail).
Scroll down to the delivery address field.
Test Steps:
Click on the "Address" field in the Delivery Address section.
Start typing any partial address.
Wait for autocomplete suggestions to appear.
Click on one of the suggested addresses from the dropdown.
Observe the network requests in browser DevTools.
Address input should be updated with the selected address.
Case 2
The same preconditions from the previous case.
Test Steps:
Click on the "Address" field in the Delivery Address section.
Type a complete address manually.
Do NOT select from autocomplete dropdown (wait for suggestions to disappear or ignore them).
Click outside the address field.
Observe the network requests in browser DevTools.
The address input should be updated with the selected address according to what you wrote in it.
KOD-26502: customer parser request Created From Ticket 27562
KOD-26590: customer emailed order automation request
KOD-26618: Implementation - Image import
Regression Tests
Case 1
Navigate to the commerce site.
Search for any product.
Confirm product page displayed as expected.
Find products with multiple images.
Confirm images displayed as expected.
Click on the images from the bottom menu.
Confirm the main image is changed.
Case 2
Add multiple images for specific products.
Confirm all of them are clickable.
Using developer tools resize the page for different devices.
Confirm product page is displayed properly.
Tests
Case 1
On the operations portal navigate to the settings screen.
Search for “productCustomerFileTypes“.
Navigate to its detail page.
Add ‘spinLink’ value, separated by a comma.
Import several spinLinks.
Navigate to the Customer Files screen.
Click “File > Import > Create & Update”.
Confirm products were updated and images are imported.
Testing:
On the commerce site navigate to the products screen.
Select product with spin Image.
Confirm:
If a product does not have a primary image on the list page there is default image.
If a product does have a primary image on the list page there will be that image.
Navigate to it’s detail page.
Confirm spin Image displayed first.
Confirm you can spin images.
Confirm you can switch to another image.
Using developer tools, resize the product page.
Confirm page is displayed properly for different screen sizes.
KOD-26699: Implementation updates
KOD-26702: Counter Terminal Signature for Pickup - Finish in CSD
KOD-26740: COD Link to prompt to pay order total, instead of order shipped
KOD-26742: Add the additional fields in the Excel line items view on the order history
Regression Tests
Case 1
Please confirm that the page with order line items loads without errors and that we can see our items.
Tests
Case 1
Please also confirm that we can add new columns such as:
department
customerGLAccount
workOrderNumber
project
Note that users will not be able to filter, search, or sort by these columns.
KOD-26883: parser request From Ticket 29536
KOD-26901: Mobile Applisting
KOD-26913: Integration - Create job to handle orders
KOD-26920: Implementation - Public pricing
KOD-26938: Implementation - Payment Methods
KOD-27008: Ticket Templates Server Side Export & All Rows
Tests
Case 1
Enter the Operations Portal, and open the Ticket Templates page.
Click the Data tab, then click File > Export.
Click Save, then open the downloaded CSV file:
It should have all the rows from the grid's total rows number.
KOD-27020: Implementation - Email Configuration
KOD-27039: Setting for displaying subcategories
Tests
Case 1
For this test, we will go to a Category that has at least 3 child categories.
Instead of the regular product list, you should see the children categories being listed. If the category has a description, you should see it under the child categories.
Also check with less than 3 categories, in that case you should see the product list screen. If the category has a description, you should see it above the list of products.
KOD-27041: Surface catalog products on the website
KOD-27048: Fraud detection - Hold suspicious orders to release to ERP
KOD-27054: AP-Invoices Zip Files Created From Ticket 30191
Regression Tests
Case 1
Validate endpoint /api/system/internalFile/unzip/{internalFileID} continue working as expected.
Steps:
Open 3 browser tabs. One for Logs screen, other for Internal Files screen and other for swagger.
Go to swagger and look for the endpoint /api/system/internalFile/unzip/{internalFileID}.
Past an internal file ID of a zip file.
Click on the Execute button.
All files in the zip file whose extensions are the defined in the system setting allowedInternalFileTypes must have been extracted as internal files.
Tests
Case 1
Validate when uploading an email with a zip file attached in it, the zip file is added as an internal file and the pdfs files inside it are extracted as individual internal files.
Steps:
Open 3 browser tabs. One for Logs screen, other for Internal Files screen and other for swagger.
Go to swagger and look for the endpoint /api/system/email/upload.
Upload an email file which has some zip file attached to it (this zip file must have pdf files and other file types).
Click on the Execute button.
KOD-27063: Order not Picked Notification - Split email to 2 sections
KOD-27072: Ticket Template employee notification linking to customer portal
Regression Tests
Case 1
As an employee, enter a new ticket.
Scroll down to the customer section.
Confirm “Display To Customer” is set to “No”.
Note: This is intended behavior and if the “Display To Customer” is set to “No” customer and employee will not get notification about it.
Case 2
As a customer and employee turn on “Employee edit a ticket notification“.
As an employee look for a “Display To Customer: Yes” ticket.
Enter a comment.
Confirm 2 emails are sent.
One email to a customer with a “view” button linked to the customer portal.
One email to an employee with a “view” button linked to the operations portal.
Case 3
As an employee, add notification email to the customer facing ticket.
As a customer, write a comment under it.
Confirm email is sent to the “employee” address.
Confirm “View” button is linked to the customer portal.
KOD-27111: Add Details tab and information for new transaction types
Regression Tests
Case 1
Make sure payment details tab is loaded with no issues for these 3 transaction types:
WebCreditCard
WebAccountPayment
Scheduled Payment
Case 2
For transaction types which are not in this list:
ERP Credit
ERP Refund
WebCreditCard.
WebRefund - Refund/Credit
99 - Web Account Payment
97 - Deposit
CompanyPayment - Charge
Terminal Payment
Terminal Credit
ERP Payment
95 - Scheduled payment
Sent To Terminal
Failed at Terminal
In Progress
Make sure the Payment internal comments tab is loaded with no issues when you are trying to check payment “Details“ from the Search or Data tabs.
Case 3
While being on the payment, leave in the route operations/accounts-receivable/{your payment ID} and press Enter.
Make sure you are redirected to the internal-comments tab automatically and the Internal Comments view is loaded.
Tests
Case 1
On Accounts Receivable screen:
For transaction types which are in this list:
ERP Credit
ERP Refund
WebCreditCard.
WebRefund - Refund/Credit
99 - Web Account Payment
97 - Deposit
CompanyPayment - Charge
Terminal Payment
Terminal Credit
ERP Payment
95 - Scheduled payment
Sent To Terminal
Failed at Terminal
In Progress
When you click the details button from the Search or Data tabs - make sure you are automatically redirected to the Details tab of the Payment and Details tab is added to the top nav of the payment.
Case 2
For some transaction types there would not be invoice generated.
In the Network tab check api/system/payment/search endpoint response. In response If content is empty array: [] =>
In this case we should show the Details tab and within the details tab show only transaction details without the invoice grid.
Case 3
For transactions for which we have invoices : In the Network tab check api/system/payment/search endpoint response. In response If content is not empty array […] =>
When you go to the details tab, we should show the regular details layout with a grid on the left side and transaction details on the right side.
KOD-27123: Update request ship date function on certain parsers
KOD-27126: Automated Invoice Delivery and Statements
KOD-27138: Check if Sales Order or Stock Order Should be used for ERP Order Type
KOD-27162: Temporarily turning off Account Registration
Regression Tests
Case 1
Check if the log in pop up is still working correctly on the product list / detail page.
Check mobile menu of display links.
Tests
Case 1
Go to the product list / product detail page and check if the widget account contains “registration“ options.
Check if the register option on pop up is available when customerRegistrationEnabled is set to 1.
Check if the register option is available on mobile view when customerRegistrationEnabled setting is set to 1.
Check if you are not able to navigate to this URL : /spcu/signup while customerRegistrationEnabled is disabled.
KOD-27171: Search function in employee app for quick order Created From Ticket 30025
KOD-27180: Add Terms and condition link to emailed invoice From Ticket 31178
Regression Tests
Case 1
On the regular Order generate Order Email.
Make sure it looks good and all data is displayed.
Case 2
On the Cash Quote generate Email.
Make sure it looks good and all data is displayed.
If there is value in this global setting cashQuoteTerms.
Make sure at the bottom of the Email this setting value is displayed.
KOD-27189: Adjust Company Catalogs screen with new role
Tests
Case 1
Remove companyAdmin role and add companyCatalogEdit role. Check if on View (Catalog details screen) you can see Actions dropdown with Edit option.
Case 2
Remove companyCatalogView and companyAdmin roles. Check Details screen for catalog. There should not be an Actions dropdown.
KOD-27205: Invoice And Statements Email Sending configuration - UX
Regression Tests
Case 1
Navigate to companies → details page. Check that page still looks good.
Case 2
Navigate to companies → details page. Check that you can update any field on this page.
Tests
Case 1
Navigate to companies → details page. Scroll down to the Automated Invoicing & Statements section. Check that you see Invoice Delivery Emails and Statement Delivery Emails fields, also check that you can update these fields.
KOD-27212: Guest Pricing not displaying correctly
KOD-27217: Account new drag and drop Created From Ticket 31309
KOD-27218: Stock filter Created From Ticket 31220
Regression Tests
Case 1
Check that the product search page looks correct.
Check that the filters on the product search page work and display correctly.
Check that there are no errors in the console.
Tests
Case 1
Check that when pimInStockFilterEnabled and pimWarehouseFilterEnabled are enabled, filters are not displayed for the guest on the search page.
Check that when pimInStockFilterEnabled and pimWarehouseFilterEnabled are enabled, filters are displayed for the user on the search page.
Check that the pimInStockFilterEnabled filter works correctly - when selecting the “Yes” checkbox, only those products that are in stock are shown. Otherwise, all products are shown, regardless of their availability
Check that the pimWarehouseFilterEnabled filter works correctly - when selecting a warehouse, only those products are shown that belong to this warehouse. Otherwise, products that belong to another selected warehouse are shown. If there are no products that match the filter conditions when selecting a warehouse, the message “We're sorry, we couldn't find any results for …“ appears.
KOD-27231: Remove Business Events link from operations portal menu
KOD-27237: Implementation updates
KOD-27246: Parser update From Ticket 31527
KOD-27256 Implementation - Order Confirmation
KOD-27266: Ticket Field: Company Code Needs to Be Dropdown Selection
KOD-27272: Implementation - Install Applications
KOD-27282: Implementation - Install applications
Regression Tests
Case 1
Check that the payment portal still works as before without issues.
View the following pages and make sure everything loads without issues:
Login
Forgot Password
Reset Password
Account Activation
Account Password
Customer Portal Order Details
A Few Customer Portal Pages
Tests
Case 1
Check that this now has the commerce templates.
Click through the different pages and make sure everything loads correctly without issues, e.g.:
Account Activation
Account Password
Login
Quick Order
Product List
Product Detail Page
Cart
KOD-27284: Update Dept. Field Value on Customer Assets
KOD-27287: Create COD Payment Link Template Pack
Tests
Case 1
Check that the website loads without errors.
It will just be a blank page, but the header should still load fine.
Case 2
Go through the COD Payment flow.
Make sure the COD payment page loads, looks good, works correctly.
Along with the thank you page.
KOD-27295: Add ability to turn off/on both returns flows independently
Regression Tests
Case 1
Turn on setting : customerReturnsEnabled
Test Return order functionality in Customer Portal (on Returns screen), everything should work as expected.
Customer portal:
Create a new Return order.
Add items to the Return order.
Update items in Return order.
Delete Items from Return order.
Submit Return order.
Tests
Case 1
New setting consumerReturnsEnabled added.
Try to start a new return order for a specific order (Paid or Invoiced) and all of the items for such return must be from that order. If the setting is OFF - then you should not be able to start/place a new consumer order, if setting ON - you should be able to start/place new return order for a specific order (consumer flow).
KOD-27302: New Customer Parser To Add Created From Ticket 31701
KOD-27303: New Customer Parser To Add - Created From Ticket 31706
KOD-27304: Integration - Mapping updates
KOD-27307: New Customer Parser To Add - Created From Ticket 31705
KOD-27308: Update Account Activation Screen and Login screens to say email address versus username
Regression Tests
Case 1
Confirm that these pages are displayed and function correctly, we can log in, update the password, and activate the account.
Tests
Case 1
Confirm that on the login, account-activation, and reset-password pages, as well as in the popover in the header, the label next to the input displays Email Address instead of Username.
KOD-27310: New Customer Parser To Add Created From Ticket 31702
KOD-27311: New Ticket Templates
KOD-27313: New Parser Created From Ticket 27573
KOD-27314: Credit Application 1st round of tweaks
Regression Tests
Case 1
Navigate to the /spcu/credit-application-register page.
Follow the process and confirm a new company is created with “Appling for Credit” status.
Fill in all fields and submit the form.
Confirm form is summitted.
Confirm status of the new company has changed to “Applied for Credit”
Access internal file screen with “companyConfidentialInternalFileView“ role assigned to the employee.
Confirm the pdf is generated properly.
Tests
Case 1
On the credit application form, confirm the first block contains the “Preferred Payment method” dropdown.
Select “Credit Account“.
Scroll to the bottom and confirm the following blocks are displayed.
AP information
Business Financials
Owners
Confirm not filled required fields in those blocks are restricting users from submitting a credit application form.
Select any other option from “Preferred Payment method dropdown”.
Confirm blocks from step 3 are not visible.
Confirm you can proceed with the credit application properly.
Case 2
On the credit application page locate the “Credit Information 2“ section.
Confirm there are two suppliers input fields.
Confirm you can not proceed without entering required information for the Supplier.
Add one supplier.
Confirm “x“ icon appears on each supplier.
Click the “x“ button.
Confirm section is removed and the “x” button is not visible.
Confirm “x” button is visible when more than 2 Supplier information provided.
Provide some information in the fields and refresh the page.
Confirm fields are populated.
Add more than 2 Suppliers and fill some information in.
Remove previously filled in sections.
Confirm the proper supplier has been removed.
Refresh the page.
Confirm the information is populated properly.
Case 3
On the credit application page locate “Additional files“.
Upload any of those files.
Confirm after the file uploaded the input turns grey and restricts users from uploading one more file.
Refresh the page.
Confirm file input with the file provided is grayed out.
Confirm other fields are available to upload the file.
On the operations portal navigate to the Companies screen.
Select your “Applying for Credit” company.
Go to the “Custom Fields” tab.
Confirm the following records are populated and contains the file names of the file uploaded
Go to the “Internal Files” tab.
Confirm file is displayed and can be previewed.
Case 4
On the credit application page locate the “Preferred Payment Method“ dropdown.
Select “Cash” or “Credit Card” options.
Submit a form.
On the operations portal to the “Companies” screen.
Select your “Applying for a credit” company.
Go to the “Internal Files“ section.
Confirm credit application form is listed.
Preview this form.
Confirm following sections are not displayed in the file:
AP information
Business Financials
Owners
Reapply for a credit, selecting “Credit Account“ from “Preferred Payment Method” dropdown.
Confirm sections from point 9 are displayed in the credit application form pdf.
Case 5
On the credit application page locate the “Preferred Payment Method” dropdown.
Select “Credit Account” first.
Then select any option “Credit Card” or “Cash”.
Reselect “Credit Account”.
Confirm Owners fields are not required:
SSN
Percent Ownership
KOD-27321: Store invoiceNumber on payment record when return is processed
KOD-27322: Unable to Identify Vendor - Date format issue Created From Ticket 27628
KOD-27325: Sync Customer GL Codes from Storeroom to Kodaris
KOD-27326: Amount Due doesn't match Total Due
KOD-27327: Form - Residual Features
KOD-27333: Update returns flow to use negative quantities
Tests
Case 1
Test updating/adding items to Return order in customer portal, items quantity should be processed (returned) as negative in platform side.
Also, prices (totals) in Return orders should be listed as negative values as well.
Try re-calculate totals on Return order (operations portal) and Invoicing this order after submitting it in customer portal. Check order (items) totals, quantity and taxes are negative, so we can treat it as naturally ‘Return’ order (negative quantity, total and tax).
KOD-27336: Make Department field on checkout required
Regression Tests
Case 1
Test that the cart page still loads correctly without issues, especially the final checkout tab.
Case 2
Check that you can still place an order without issues.
Tests
Case 1
On the final checkout tab, you should now be required to select a department.
And if you try to enter a random value or remove the department, it should default back to the dept you previously selected.
KOD-27338: Phase 2 - Report API Integration
KOD-27347: CMS Updates after Go Live
KOD-27349: Registration Question Update
KOD-27350: Kodaris.com – CSD Integrated Payments Text Update
KOD-27352: Validating Departments Issue
KOD-27353: Implementation - ERP Configuration
KOD-27354: Pricing Tolerances update: run releaseOrderValidationAuto.js interceptor when realTimeConnectionToERP is enabled
Regression Tests
Case 1
Access the website, create some orders, ensure no errors occur until order created.
Tests
Case 1
Change script releaseOrderValidationAuto.js, just set:
trendHold = 1;
Login as a customer on the website and create an order.
Access operations portal, go to the order you just created → custom fields.
You should find code: trendHold and must be set to 1.
Also, check the order was not released. The Release button must be there.
KOD-27359: Email associated with a credit card Created From Ticket 32025
Regression Tests
Case 1
Edit Company payment method.
Case 2
Edit Customer payment method.
Tests
Case 1
Edit email from CSD “Modify Card“ form.
Make sure email is saved/updated.
Close and open the edit form again.
Check in the operations portal “Payment Methods“ - lookup the payment method by external token or by UUID, check API call response - see "email" field on it.
KOD-27360: Implementation - Update for test site
KOD-27361: Implementation - More updates for test site
Check product categories, product details page, Recently Viewed Products, cart that images still look good.
Tests
Case 1
Check product categories, product details page, Recently Viewed Products, cart that when product doesn’t have any images has image from ticket description.