Once a logged-in user adds items to their shopping cart on your commerce website, they can now add the cart items to a company catalog or a personal catalog.
With this feature, your customers can easily browse your website, find products they need, and add them to their cart to either purchase at that time, save to a catalog for future use, or both.
Check out the experience in the video below!
https://youtu.be/PTd_o8ExYWE
Operations Portal
New “Price Engine” tab added to the InforCSD screen
A new tab titled “Price Engine” has been added to the InforCSD screen in the Operations Portal. On this tab, you will be able to manage your pricing configuration via point-and-click functionality! The tab contains informative documentation explaining each section and field so that it’s straightforward and simple to configure.
Check out the new tab here:
Enter email addresses to receive email notifications on ticket updates
A new field titled “Notification Emails” has been added to the Details screen on all tickets within the Kodaris Tickets module. This field allows you to enter the email addresses that will receive notifications when there are updates to the ticket. Each ticket has its own “Notification Emails” field, and email addresses can be added or removed at any time.
Watch the video to see how you can begin using this feature:
https://youtu.be/ponvWmXjJXQ
Download multiple invoices in a single zip file from a company’s Orders tab
You can now download multiple invoices at one time directly from a company’s Orders tab! Recently, this same capability was made available through the Orders module where you can select multiple invoices across all companies to download at one time. Now, this feature can be used to download selected invoices for a single company.
Watch the video to learn more:
https://youtu.be/_rRA_AmdXYc
Mobile App
Companies screen displays all available fields on Employee Mobile App
The Companies screen on the Employee Mobile App now offers all the columns/fields that are available on the desktop version. You can view, search for, sort, and filter by these fields while using the app.
Check it out for yourself by downloading the app if you haven’t yet! To download, head to the App Store or Google Play, search “Kodaris Employee Portal”, and download the app with the Kodaris logo. To log in, enter your company’s domain/URL, your username, and your password. Your credentials will be the same as what you use to log into the desktop version.
Tickets
KOD-17531: Customer pricing structure
KOD-18977: Parser is not pulling up Lumber products
KOD-19325: Credit status change email showing null
KOD-19956: Add Ability to Download Multiple Invoices from Companies > Company > Orders
Regression Tests
Case 1
On the operations portal navigate to CRM → Companies → Choose the company → Data tab → orders tab.
Use search and sort on the table.
Open specific order.
Case 2
On the operations portal navigate to CRM → Companies → Choose the company → Data tab.
Try to switch between tabs to make sure that everything works as expected.
Tests
Case 1
On the operations portal navigate to CRM → Companies → Choose the company → Data tab → orders tab.
Press “More“ Button → “Download selected orders as internal PDF files“.
Confirm that error message is shown.
Close this message,
Repeat steps 2-4 for “Download selected orders as customer PDF files“.
Case 2
On the operations portal navigate to CRM → Companies → Choose the company → Data tab → orders tab.
Select some orders.
Press “More“ → “Download selected orders as internal PDF files“.
Verify is “internal-order-pdfs.zip“ file downloaded properly.
Repeat steps 3, 4 for “Download selected orders as customer PDF files“.
File name should be `customer-order-pdfs.zip`.
KOD-20153: Avatax not calculating based on transaction of goods (will call vs delivery)
Regression Tests
Preconditions:
Setting shippingEngine is RATETABLES (or CustomJS)
Setting taxEngine is Avalara.
Case 1
Checkout:
Log in, add items to the cart.
On step 2 - populate delivery address.
On step 3 - chose Shipping - “Customer Pickup“ and place the order.
Find order in operations portal and make sure pickUpLocation settings (Custom Field) is saved on Order.
Also find the Avalara calculation data.
Go to “System Events” and find the “Avalara_[ORDER_ID]_transaction_request“ record. ORDER_ID you can find in URL (or on Order “Development tab“)
Open preview and find the shipTo information that was used in tax transaction.
shipTo information should be - address of the warehouse of pickUpLocation.
Case 2
Do the same test as above, but use “Delivery” Shipping method.
pickUpLocation} setting should not exist or have empty value after order is placed.
Avalara transaction request shipTo should be now order delivery address.
Tests
Case 1
Start a new order in operations portal, select/fill delivery address and select Delivery Method: DEL (“Delivery”)
Hit “Calculate Totals”, it should calculate taxes as well (using Avalara tax engine).
Go to “System Events” and find the latest “Avalara_[ORDER_ID]_transaction_request“ record. ORDER_ID you can find in URL (or on Order “Development tab“).
Open preview and find the shipTo information that was used in tax transaction.
It should match the filled delivery address on Order.
Now change Delivery Method “Shipping Method“ to CPU (Customer Pickup) and hit “Calculate Totals“.
Go to “System Events” and find the latest “Avalara_[ORDER_ID]_transaction_request“ record.
Open preview and find the shipTo information that was used in tax transaction.
Now it should be a different address - address of the order warehouse.
KOD-20212: Add UX for engaged status updates
Regression Tests
Case 1
For this test, we need to go to Customers. We need to make sure that the Show / Hide buttons work in Search and Data tabs.
We can also check the sorting, editing and filtering functionality.
Tests
Case 1
For this test, we need to go to Customers. We should be able to display the new Engaged Status column in both Search and Data tabs.
In the Search tab you are able to use sorting with that column.
In the Data tab, you shouldn’t be able to edit, filter or sort with it since it’s not supported.
Different text indicators should be display depending on the engagedStatus value.
0 = “Account Created”.
1 = “Logged In”.
2 = “Inactive 30+ Days”.
3 = “Inactive 60+ Days”.
4 = “Inactive 90+ Days”.
Case 2
For this test, we need to go to Customers > Select a customer.
We should see the new Engaged Status row inside Details in the sidebar.
Different text indicators should be display depending on the engagedStatus value.
0 = “Account Created”.
1 = “Logged In”.
2 = “Inactive 30+ Days”.
3 = “Inactive 60+ Days”.
4 = “Inactive 90+ Days”.
KOD-20638: 2ship integration: include sender information in the payload
Tests
For shippingEngine = 2SHIP:
Now "order" object is included in scope of twoShipShippingRatesRequestPreProcessor.js interceptor, so Order info (order warehouse) could be used to set Sender information of 2SHIP rates request.
"Sender" information now could be populated in the interceptor.
Case 1
Populate Sender information in rates request with Order warehouse address information.
In twoShipShippingRatesRequestPreProcessor.js, make Warehouse lookup by order.warehouseCode and use warehouse address fields to populate sender fields:
Code snippet:
// Use order warehouse for Sender information
if (order.warehouseCode) { var warehouse = scriptServiceUtils.runAPIMethod('GET', '/api/system/warehouse/byCode/{code}', {code: order.warehouseCode}, null, null);
if (warehouse)
//Populate Sender address fields from Order Warehouse address info senderCountry = warehouse.country; senderState = warehouse.state; senderCity = warehouse.city; senderPostalCode = warehouse.postalCode; senderAddress1 = warehouse.address1; senderCompanyName = warehouse.companyName; } }
Open some test order in the operations portal and at “Delivery Method“ section hit “Select“:
while doing it - open operations Portal > Logs, should see rates request payload, smth like:
where Sender info is populated from warehouse address.
Shipping option(s) should be returned from 2ship.
KOD-20651: Demo site - Adding products from the cart to the wish list
Regression Tests
Case 1
As both a logged in and logged out user, on the cart page, (if you have at least one item in the cart) in the new dropdown menu "actions," the option to request an item should remain (as long as there are non stock products).
Case 2
On the cart page for both logged in and logged out users, if you have no items in the cart (and there are non stock products), then you should still see ‘Continue Shopping’ and ‘Request Custom Item’ buttons.
Tests
Case 1
If you are logged in and have at least one item in the cart:
On the cart page , the new "actions" dropdown menu now includes an "upload files" option.
Select a file type → now click download template → the correct template should have downloaded
If no file type is selected, you should get an error message.
Case 2
Continuing from case 1 → select a file type and select a file to upload → click Upload → once items are uploaded, page should refresh with the items that were added.
If items could not be uploaded or there was an error, you will see those messages pop up.
Also can’t show the error handling since the code needs to be deployed but it should look like this if a product couldn’t be uploaded.
Case 3
On the cart page, the new "actions" dropdown menu now includes an "add company catalog" option. After creating this catalog, it should be added to our company catalogs list on the catalogs page.
Case 4
On the cart page, the new "actions" dropdown menu now includes an "add personal catalog" option. After creating this catalog, it should be added to our “My Catalogs“ list on the catalogs page.
Case 5
The dropdown menu “actions“ should be visible if customer is logged in or there is nonstock products:
If logged in, you will always see Upload File, Add a Company Catalog, Add a Personal Catalog.
Request Custom Item will show up if there are nonstock products.
Case 6
For a logged in user with no items in the cart, you should now see ‘Upload File’ as a button.
KOD-20672: Set up second system
KOD-20738: Instructions on how to modify order forms
KOD-20749: Upgrading the Converge API
KOD-20803: Set up test/demo system
KOD-20841: Employee app - Update Companies screen to present all available fields
KOD-20963: PIM Required Attributes Template
KOD-20972: DDA Email Notifications not Going out
KOD-21131: Surface ticket field in the operations portal
Regression Tests
Case 1
Go to Ticket screen in the operations portal and navigate to the main screen/details and update some fields.
Verify no errors appear and the data is saved correctly.
Tests
Case 1
Validate you can add/delete emails within notification Emails field.
Locate and open the InforCSD screen from the navigation menu.
Verify that all functionalities of the InforCSD Credentials screen are working correctly.
Change the value in any field and test the Save button.
Additionally, test the "Test" button.
Ensure that all actions are performed without any errors.
Tests
Case 1
Log to the system.
Locate and open the InforCSD screen from the navigation menu.
Verify that the screen contains two tabs: Credentials and Price Configuration.
Navigate to the Price Configuration tab.
Open the attached file containing the descriptions of all settings and requirements.
Verify that each field on the Price Configuration screen matches the specifications provided in the document.
Attempt to modify the values in the fields.
Click the Save button.
Ensure that the requests are executed and that the updated values are reflected in the settings.
Expected Results:
The screen should contain the correct tabs.
All fields on the Price Configuration screen should match the provided specifications.
The modified values should save correctly, and the corresponding settings should be updated as expected.
KOD-21311: Associative products - combining local and direct ship into one product
Regression Tests
Case 1
Product detail, grid, list, cart page should be loaded with no issues.
Customer Portal order detail, operations portal order email and order pdf should be loaded with no issues.
All existent functionality should persist and be loaded with no issues.
Tests
Case 1
Logged in user.
Note: Pickup only and Ships Direct flags shouldn’t be displayed for user at all.
Make sure in the product tile there is info specified with 2 delivery options: Pickup and Delivery.
When you add this product to cart from grid or list, by default Pickup option is selected.
Make sure in the payload of api/user/cart/item, there is warehouse parameter passed with your selected warehouse code.
Product detail page:
Make sure there are 2 options added on the product page for this product: Pickup and Delivery. You should be able to select each of them. When you’re clicking on them, the tile is marked with check mark as selected.
Make sure when you click Delivery and add this product to a cart - in the payload of api/user/cart/item, there is no warehouse parameter passed.
Make sure when you click Pickup option, in the above endpoint you’re passing selected warehouse code.
Case 2
Note: Pickup only and Ships Direct flags shouldn’t be displayed for user at all.
Logged in user:
Grid/list pages:
Make sure in the product tile there is info specified with 1 delivery option: Delivery.
When you add this product to cart from grid or list, by default Delivery option is selected.
Make sure in the payload of api/user/cart/item, there is no warehouse parameter passed.
Product detail page:
Make sure there is 1 option available on the product page for this product: Delivery.
Make sure when you click Delivery and add this product to a cart - in the payload of api/user/cart/item, there is no warehouse parameter passed.
Case 3
Guest user
Note: Pickup only and Ships Direct flags shouldn’t be displayed for user at all.
With no warehouse selected:
If product has no SKU with directShipped: true, Delivery would be unavailable on this product. When delivery is unavailable it should be displayed but as grayed-out.
If product has at least one SKU with directShipped: true, Delivery should be available on this product.
If the product has at least one SKU with directShipped: false, on which availability will be 1 and more - Pickup Option should be available for the user.
Case 4
Logged in user:
Note: Pickup only and Ships Direct flags shouldn’t be displayed for user at all.
Delivery option should be available all the time and not grayed out.
Pickup option should be available on the product if there is an SKU which directShipped: false and availability more than 0 and code is the same as for your selected warehouse.
If there is no Pickup option, it should not be visible to user at all on grid/list and product pages.
Case 5
Pickup only and Ships direct flags nd icons should not be displayed on following pages for products.
Product page, product grid/list pages, cart items, order items in customer portal order details, orderEmail order items in operations portal order details, order PDF order items in operations portal order details.
KOD-21321: Implementation
KOD-21328: Add Job Name & Company to Quote Expiration Emails
KOD-21334: Drag & Drop
KOD-21335: Drag & Drop 2
KOD-21346: Order Totals and Cart Review API
KOD-21371: Replace Ships from Manufacturer with Ships Next Day Filter
Regression Tests
Case 1
Run through all existing filters to make sure they still work fine for guest & authenticated users.
Tests
Case 1
Removed the “Excludes Ships from Manufacturer Products” Filter for both Guest and Authenticated Users.
Case 2
Added “Usually Ships Next Day“ (In Stock) filter for only authenticated users.
And added container to allow the user access the login page.
Case 3
Testing specific to the 'Usually Ships Next Day' filter.
Requirements:
User must be logged in.
User must have a shipto/address selected.
User must have a warehouse assigned on the selected shipto.
Product must have inventory in that assigned warehouse.
If any one of the above criteria are not met, the filter should not show to the customer.
KOD-21370: Messaging for More quantity available on PIP
KOD-21380: Open New Trend OE Journal Through API Call - Reconcile
Regression Tests
Case 1
Regression will be to run the daily batch out payment in the hourly job and make sure there are no errors and payments are synced to the ERP.
We need enableDailyPaymentBatchOut setting enabled and then wait until the process run based on dailyPaymentBatchOutHour hour.
Tests
Case 1 (Phase 1)
Enable enableDailyPaymentBatchOutProcess and closeJournalsWithOrderInsert setting when running the batch out payment process and confirm the closeJournals interceptor runs.
To run the test we need to have the setting erpLogicEngine to ‘InforCSD’.
KOD-21396: Add Geolocation for Shop By Store
Tests
Case 1
Check if geolocation is working for logged in/ not logged in user with allowed localization (first visit on site with no selected store by shop.
Case 2
Check if user without geolocation is redirected to very first warehouse from list of available warehouses.
KOD-21397: User Option to Set Default Location for Shop by Store
Tests
Case 1
For this test, we need to go to the web repo and log in.
You will see the Shop By Store button. We will test the “Set as Default Store” button.
Click on that button. You will be send to that store and also if you look at the customer information, the warehouse data you selected was added to the customer object.
If you change the store selected without changing the default store you will be send to that store but the information in the customer object won’t change.
You can also test that the warehouse selected as default now has a text saying “Default Store” instead of the button.
Case 2
For this test, we need to go to the operations portal > Customers > Select a customer and go to details.
You should see a new Default Store field.
Now, we are going to change the selection. It should update the customer.
We can also do it the other way around changing it first in the web repo, let’s change the Default Store clicking on the new button, and if you reload in the operations portal you should see the selection being updated .
Case 3
For this test, we need to go to the customer portal. We are going to test the new autocomplete field inside the “Your Store” section. First, you should test the autocomplete functionality.
Now we can select a store. We can check Net tab to verify that the warehouse information for the customer is being updated.
We can also open the repo and reload after we update the default store and see the changes there. We can also do it the other way around to verify everything is connected and working properly.
KOD-21428: Build Manufacturer Page Using Shop by Brand Layout
KOD-21524: UX - updates to specs
Regression Tests
Case 1
Make sure product details screen still appears fine.
Case 2
Make sure specs with correct code (specs_productid) still show up on website.
Case 3
Make sure that specs screen in operations portal still works.
Created specs should have attribute code = specs_productid
KOD-21533: Export for salesforce - pull host code from company for customer data
Regression Tests
Case 1
Make sure you can export the customer from search and data tab without selecting de hostCode and all the column appears correctly.
Tests
Case 1
Add ‘hostCode’ field to the data grid and export the results.
A new field should be added to the export results with column ‘companyHostCode’ which should have the hostCode from the company under the customer.
hostCode still should be populated from the Customer.
KOD-21538: Fix paid amount on order details screen after refund
Regression Tests
Case 1
For this test we are going to the orders section > Pick a Order > Scroll down to Payments section.
Paid amount is loading and showing the correct amount.
Tests
Case 1
For this test we are going to the orders section > Pick a Order > Scroll down to Payments section.
Discount amount is loading and showing the correct amount.
Paid amount should be all amounts minus web refunds.
KOD-21548: Create Videos & Documentation for CMS Blocks
KOD-21562: Home Page updates
Regression Tests
Case 1
On the commerce site navigate to the welcome page.
Confirm everything displayed as expected.
Navigate to the other pages.
Confirm all pages loaded properly.
Tests
Case 1
On the operations portal navigate to the settings screen.
Find setting ‘homePageCategoriesEnabled’
If it is not populated, see the screenshot in the developer videos section and add this setting.
Set value to 0.
Navigate to the welcome commerce page.
Confirm left-hand side panel with categories is not displayed.
KOD-21563: Website - Next Steps
KOD-21569: Search Rule Screen Refinement P2
Regression Tests
Case 1
For the regression testing, we can check that the filtering, sorting and editing still work on all tabs.
We can also test the Show / Hide columns button.
Tests
Case 1
For this test, we are going to check the Synonyms, Replacements and Category Redirects tabs.
The only columns you are allowed to display now are:
Synonyms:
Search Rule ID, Rule Order, Language Code, Query, Synonyms and Active.
Replacements:
Search Rule ID, Rule Order, Language Code, Query, Replace With and Active.
Category Redirects:
Search Rule ID, Rule Order, Language Code, Query, Category Code, Minimum Match and Active.
Case 2
Now, we are going to test the creation of new Search Rules on the Synonyms, Replacements and Category Redirects tabs.
The only required input should be Query, everything else should be automatically added.
You shouldn’t see any new rule on a tab different than where it was created.
Case 3
Now, we are going to test the More tab.
We can use Swagger to help us.
First, we can use Swagger to check if there is a rule with action = “productRedirect” or “addToSearch”.
If there’s not a rule, or rule.active = false, the displayed value in the form field should be “No”. If there’s a rule and rule.active = true, the displayed value in the form field should be “Yes”.
Case 4
Now, we are going to test the functionality of the select form fields in the More tab.
If there’s a rule for Product Redirect or Add To Search and active = true, when you change the selection to “No”, you can see a Patch method being called and now rule.active = false.
The same should happen when you change the selection to “Yes”. Now, rule.active = true again.
If there was not a searchRule and you switch the value to “Yes” you should see the Post method being called and a new rule of that type being created.
KOD-21570: Issue When Selecting Pickup Warehouse
Regression Tests
Case 1
Please test that user still can place an order and select pickup
Tests
Case 1
Please test that if user select pickup → warehouse it will be saved to order.
KOD-21575: Custom Parser
KOD-21581: Send POD Files in Order Emails
KOD-21585: Surface Delivery Customer Files under the Order Customer Files API
KOD-21591: History Block Issues
Regression Tests
Case 1
Confirm that the section works correctly: slides can be scrolled, added, deleted, fields in the columns can be modified, and columns can be hidden.
Tests
Case 1
Confirm that we can change the color of inactive pagination elements by adjusting the corresponding setting in the section settings.
Case 2
Confirm that the display setting works correctly and hides the specific column/slide that we selected.
KOD-21599: Clear out Aptt/Suite # Field if Customer Updates Delivery Address
Regression Tests
Case 1
Appt/suite# input needs must work correctly and the whole form.
For this test we are going to go to the cart > have an item in the cart > go to second step > Update form.
Tests
Case 1
Appt/suite# input needs must clear when address is changed by Google Maps
For this test we are going to go to the cart > have an item in the cart > go to second step > Update address using Google Maps options.
KOD-21604: Change displaying of proof of delivery
Regression Tests
Case 1
Check that form for sending email for order still looks good.
Case 2
Check that you can still send orders emails.
Tests
Case 1
Check that displaying of proof field are under requested amount.
KOD-21605: Connect to Kodaris data from MicrosoftBI
KOD-21607: DDA - Persist selected filters across restarts
Regression Tests
Case 1
Ensure that the trip filters selected by the user on the DDA home screen (Truck, Warehouse and Current trips only) persist in each new session.
KOD-21613: Implementation - Templates tweaks
KOD-21614: Surface Delivery Customer Files under the Order Customer Files
Regression Tests
Case 1
In Customer Portal Orders find order with several customer files available. Make sure there are several image files.
Make sure all of those customer files came from Order entity only. (They should be the same in operations portal and in customer portal for the same order).
Make sure all those customer files are successfully loaded. If there were image files - image preview should be loaded with no issues.
Found an order in customer portal for average joes and all of the files opened properly.
Tests
Case 1
Create Delivery or use existing one.
Add there several Customer files (image files and other file types) to that Delivery.
Associate this Delivery with particular Order, which should have several Customer Files.
Go to the Customer Portal Orders. Open Order from step 3.
Make sure all customer files are loaded with no issues. Customer Files should contain files coming from Order and Delivery at the same time. All previews should be loaded with no issues and should be available for user.
Make sure you can open all of the files (both coming from Order and Delivery).
KOD-21615: Fix editor for comments on Tickets screen
Regression Tests
Case 1
Tickets > Open a ticket > Toggle Comments section.
The Comments editor works well and the layout is in the correct form.
Tests
Case 1
Comments editor behaves well with the new design format.
Tickets > Open a ticket > Toggle Comments section.
KOD-21619: Associative Products Next Steps
KOD-21620: Implementation - Create App Listing
KOD-21621: Make quantity ordered more prominent on checkout step 1
Regression Tests
Case 1
Add one or more products to the shopping cart.
Click on the shopping cart icon to view the cart contents.
Increase and decrease the quantity of products in the cart.
Ensure the quantity is updated correctly and reflected in the total price.
Remove one product from the cart and confirm that the cart is updated correctly without errors.
Attempt to place an order with the products in the cart.
Check the invoice after the order is placed.
Confirm that the product quantities and total amounts on the invoice are correct.
Tests
Case 1
Add one or more products to the shopping cart.
Click on the shopping cart icon to view the cart contents.
Verify the position and label:
Ensure that the “Quantity” button is displayed on the right-hand side of the product item.
Confirm that the button includes the correct label “Quantity”.
Verify that the design of the “Quantity” button is displayed correctly and consistently in the mobile layout.
KOD-21626: Kodaris - Add ability to brand kodaris-web repo
KOD-21631: Adjust quantity of DNR products in the cart if qty ordered is greater than availability
KOD-21636: Tag & Hold Order isn't marked
KOD-21639: Mobile - Unable to change accounts for users with parent accounts
KOD-21665: Pay with Punchout section not displaying
Regression Tests
Case 1
Make sure you can go through the cart as punchout and regular user without issues.
Case 2
For both users:
Should be able to navigate by the top checkout tabs without issues.
Payment tab should show payment methods, etc.
Case 3
For both users:
Should be able to navigate by the next and previous buttons at the bottom of the cart.
Payment tab should show payment methods, etc.
Case 4
Place order as guest user, logged in user, and punchout user to make sure placing orders still works.
Tests
Case 1
Check that as a punchout user on the last checkout tab, the information is displayed correctly and you can see checkout as punchout.