Your Kodaris platform includes the ability for your customers to pay open invoices online via either ACH or credit card. In a previous release, the ability to set a convenience fee for those who opt to use a credit card at the global level was added. In this release, you now have the option to set a convenience fee for individual company accounts as well.
To enable this setting, go to the Customers section of your Operations Portal and select the company that you would like to adjust, turn off, or update the convenience fee on. Go to the Custom Fields tab and add your preferred convenience fee setting - percentageCreditCardFee or dollarCreditCardFee - and input the needed value. The fee is now enabled, and customers on that company will see the convenience fee amount appear if they choose to use a credit card when making payments.
Percentage card fee settings
Code: percentageCreditCardFee
Name: Percentage Credit Card Fee
Description: Percentage convenience fee for credit card payment
Type: PAYMENT
Value Type: Medium Value
Value: Preferred fee value
Dollar amount card fee setting
Code: dollarCreditCardFee
Name: Dollar Credit Card Fee
Description: Dollar convenience fee for credit card payment
Type: PAYMENT
Value Type: Medium Value
Value: Preferred fee value
Note: Any convenience fee enabled at the company level will override the global setting for that company.
Tickets
KOD-13925: Operations Portal Shows Green Successful Push When Items Errored
Regression Tests
Case 1:
Go to admin page and place an order
Then in the order page, release this order to ERP
When order is released, please check that it released successful
Tests
Case 1:
Log in as admin
You should index order you just set up and check that {{"releaseStatus": "Released"}}
Case 2:
Use same order as for Case 1, but now change {{trendSyncMessages}} setting value to {{"Read timed out"}}
Log in as admin
You should index order you just setup and check that {{"releaseStatus": "Error"}}
Case 3:
Use same order as for Case 1, but now change {{trendSyncMessages}} setting value to {{"warning, please check your item price"}}
Log in as admin
You should index order you just setup and check that {{"releaseStatus": "Warning"}}
KOD-14618: Add Schema Markup to Product Page
ld+json schema code should be present on product detail page
Check product with and without inventory and make sure that availability property shows correct value InStock/OutOfStock
KOD-15322: Payments Screen - User Unable to Tick/Untick Payment Period Checkbox Again Unless Return Page
Regression Tests
No regressions
Tests
Case 1:
Login to customer app
Click on “Payments” button
Tick and untick “1-30 Days” option; it should always tick or untick when user presses checkbox
KOD-15658: Confirmation Email Not Using Multi-site Branding
Regression Tests
Case 1:
Go to user login page and try to login with user you are logging in every day; log in should be as usual.
Tests
Case 1:
Try to login as a user that has not been logged in for more days than the “{{confirmEmailPeriodInDaysSinceLastLogin}}" setting.
You should get a alert saying go to your email and verify your email address.
Go to email, the email should be there ? go through the flow ? everything should look fine.
After confirming you should get another email saying that you confirmed.
You should be able to login successfully after that.
KOD-15920: Restrict Traffic to IP Address Range
New settings:
{{restrictCustomerRequestByIP}}
{{restrictEmployeeRequestByIP}}
{{whiteListIpAddresses}}
Test Steps #1:
Add one or more IP addresses, that won’t match your IP to {{whiteListIpAddresses}}. (*On this step you should be careful as enabling restriction will allow traffic to come only from specified IPs*). To make it easier - you can whitelist someone else’s team member IP, so this person could disable setting once testing is done.
Verify that both {{restrictCustomerRequestByIP}} and {{restrictEmployeeRequestByIP}} settings disabled and you can navigate to any page at both Operations and Customer Portals.
Enable {{restrictCustomerRequestByIP}}. Verify that Customer Portal is not accessible, but Operations Portal is accessible.
Enable {{restrictEmployeeRequestByIP}}. Verify that now both Operations and Customer Portals can’t be accessed.
Test Steps #2:
Disable both {{restrictCustomerRequestByIP}} and {{restrictEmployeeRequestByIP}}.
Update value of {{whiteListIpAddresses}} by adding your IP address.
Enable either {{restrictCustomerRequestByIP}} or {{restrictEmployeeRequestByIP}} or both. Verify that Portals can be accessed, because IP is whitelisted.
KOD-16059: Customer Payment Made and Employee Payment Made Template Updates
KOD-16220: Captcha Error
Tests
Case 1:
Go to a product page ? click the last item in the yellow info box.
There should be a popup ? make sure there is no error in the recaptcha box in the lower right part of the screen.
KOD-16325: Customer App - Upgrade to Latest Version
KOD-16330: PriorityPayments - Automate Generation of priorityPaymentsCustomerId
Regression Tests
Case 1:
Adding, updating and deleting company payment methods with existing and non-existing priority customer ID.
Tests
Case 1:
Adding new payment method without existing priority customer ID (it should be auto-generated) and making payment.
KOD-16396: Add Tab to Order Details Screen for Parcel Tracking Information
Regression Tests
Case 1:
Login to Customer Portal
Go to Orders ? Order Details
Make sure page layout is correctly displayed
Click on *Items* tab
Make sure page layout is correctly displayed
Click on *Files* tab
Make sure page layout is correctly displayed
Tests
Preconditions:
Go to Operations Portal ? System ? Settings
Make sure *shippingEngine* has "2SHIP" value
Make sure *customerOrderTrackingEnabled* has "1" value
Case 1:
Login to Customer Portal
Find order with linked Order Shipment
Go to Orders ? Order Details ? Tracking
Make sure tracking information displayed correctly
Preconditions:
Go to Operations Portal ? System ? Settings
Make sure *shippingEngine* has "2SHIP" value
Make sure *customerOrderTrackingEnabled* has "1" value
Case 2:
Login to Customer Portal
Find order without linked Order Shipment
Go to Orders ? Order Details ? Tracking
Make sure you see “This order has no shipments“ message
Preconditions:
Go to Operations Portal ? System ? Settings
Make sure *shippingEngine* has "RATETABLES" value
Case 3:
Login to Customer Portal
Go to Orders ? Order Details ? Tracking
Make sure you see “This order has no tracking information“ message
Preconditions:
Go to Operations Portal ? System ? Settings
Make sure *customerOrderTrackingEnabled* has "0" value
Case 3:
Login to Customer Portal
Go to Orders ? Order Details
Make sure Tracking tab is not presented
KOD-16642: Configure Register Page - For Users Without an Account
Regression Tests
Case 1:
Go through the login flow on the ‘spcu/login’ screen. Make sure everything looks good.
Tests
Case 1:
Go to the ‘spcu/login’ screen.
Check that the register form is no longer there.
Case 2:
Go to the ‘spcu/register’ page.
Go through the flow and make sure everything is working correctly, validation, “Shipping same as billing”, etc.
Case 3:
Make sure you get the email from the previous step with all the info from the submitted form + “fromName” = “Register Form”.
Note: the fromName should be near the top of the email.
Case 4:
Make sure all the fields from the form on the old site are on the new site.
KOD-16655: Customer App Showing Other Host Inventory
Regression Tests
Case 1:
Search for a product. Click on a product from the result to bring up the product detail screen. Product inventory should match the inventory of the same product in the web app.
Tests
Case 1:
Search for a product. Click on a product from the result to bring up the product detail screen. Product inventory should match the inventory of the same product in the web app.
KOD-16686: Add Featured Products Row to Homepage
Regression Tests
Case 1:
Go to front site
Check if items on the home page are loading good:
Banners
Categories
Slider with Top Categories
Tests
Case 1:
Go to front site
Scroll down to bottom
Check if you can see “Featured Products”
KOD-16713: Unit Price and Total Not Shown in Order Items Grid - Customer Portal
KOD-16716: When You Write a Request That Cannot Be Found on Category Page, There Should Be Written "no products available"
Regression Tests
No regressions found for other parts of the app.
Tests
Case 1:
Log in to the app
Press search bar on the top
Enter some text
Press search icon on your keyboard
Get results
Case 2:
Log in to the app
Press search bar on the top
Enter some text
Press search icon an your keyboard
Get result
Press on search bar
Search should not begin
Case 3:
Log in to the app
Press search bar on the top
Enter some text
Press search icon on your keyboard
Get result
Delete all text from search bar
Search should not begin
Case 4:
Log in to the app
Press search bar on the top
Enter some text
Press search icon on your keyboard
Get result
Enter space after your search request
Search should not begin
Enter letter after space
Search should begin
Get results
Case 5:
Log in to the app
Press search bar on the top
Enter some text
Press search icon on your keyboard
Get result
Enter impossible to find text without spaces
“No products found” should display in the center of screen
Case 6:
Log in to the app
Press search bar on the top
Enter some text
Press search icon on your keyboard
Get result
Enter impossible to find text without spaces
“No products found” should display in the center of screen
Enter space and search string from case 1
Results should contain only results that was shown on Case 1 search; space should work like OR condition
Case 7:
Log in to the app
Press on any category button under “Shop By Category” text
Results should be found for this category
Case 8:
Log in to the app
Press on any category button under “Shop By Category” text
Results should be found for this category
Press on search field
Search should not begin
Case 9:
Log in to the app
Press on any category button under “Shop By Category” text
Results should be found for this category
Enter some text to search
Results should be shown
Test Case 4, 5, 6 for this search field (should work the same)
Case 10:
Log in to the app
Press on any category button under “Shop By Category” text
Results should be found for this category
Enter some search request
Let it load
Delete all text from search bar
Search should begin
Get same results as in Case 7
KOD-16717: WebUI / CSD API Write Back Synchronization
Regression Tests
Case 1:
Create or update a product
Case 2:
Create or update a product price
Tests
Case 1:
Turn on new setting:
Go to setting menu
Look for settings {{enableSyncProductPriceToERP}} and {{enableSyncProductToERP}}; set value = 1 to both of them
Case 2:
Update product and review logs to see that interceptors was called to update ERP
Case 3:
Update product price and review logs to see that interceptors was called to update ERP
KOD-16739: Configure Registration Form Email
Regression Tests
Case 1:
Go to Operations Portal ? Settings ? {{contactFormEmailTo}}
Add email
KOD-16751: Adding Importer Capability for Discounts Screen
Use {{createAndUpdateExistRecord.csv}} {{createAndUpdateNonExistRecord.csv}} {{createAndUpdateNonExistRecordWithException.csv}} files or create your own to perform update action
Use {{createExistRecord.csv}} {{createNonExistRecord.csv}} {{createNonExistRecordWithException.csv}} files or create your own to perform update action
KOD-16763: Live Chat Setup for Site and Mobile App
Tests
Case 1:
Go to Operations Portal
Go to Setting page
Check if setting websiteHeadCode exists
Go to front side of site
Inspect the page
Go to source tab
Please check if this script is available
KOD-16792: PurchaseOrder InternalFile - UX
Tests
Case 1:
Go to Purchase Orders > Details page, then select Internal Files tab.
Add a column 'deleted' and remove the filter.
Try to sort or filter the table if there is any data.
Case 2:
Try to attach a new customer file, view it, download and delete.
KOD-16810: Enable Guest Pricing
KOD-16853: Review DQTech Data to Ensure It's Flowing Correctly
KOD-16854: Remove White Spaces From Home Page Tiles When No Title is Provided
Tests
Case 1:
White gap below each tile in the Home Page disappears when the title and the additional text is not provided
KOD-16857: Create and Send API Documentation For Integration
KOD-16860: Links Not Picking Up Site Color on CMS Page
Tests
Case 1:
Check CMS pages for links; they should be in primary color of the website.
KOD-16906: Purchase Order - Details Screen Fixes
Regression Tests
Case 1:
On Purchase Orders Details screen, check that data in Remit to & Tracking section is displayed correctly.
Case 2:
On Purchase Orders Details screen, check that data in Summary section is displayed correctly.
Tests
Case 3:
On Purchase Orders Details screen, check Column 2 in Remit to & Tracking Section.
There should be 3 rows:
{{Purchase Order #}} with the actual purchase order
{{Customer Tracking #}}
{{Reference}}
Case 4:
On Purchase Orders Details screen, check Summary section.
Check that {{Vendor Code}} and {{Vendor Name}} are links that lead to the corresponding *vendor* details page.
*Web # row* has purchase order number.
*ERP # row* if it has ERP # data should display ERP #. Otherwise, if purchase order doesn’t have ERP #, this line won’t be shown below the Web #.
Case 5:
On Settings screen search for {{erpInUse}} setting. Set it to 1.
On Purchase Orders Details screen, check Summary section.
Check that {{Status}} selection is disabled. If you has already defined status, it should be shown as selected option.
Case 6:
On Settings screen search for {{erpInUse}} setting. Set it to 0.
On Purchase Orders Details screen, check Summary section.
Check that {{Status}} selection is *not* disabled. You should be able to select, choose and set any status from the list.
KOD-16910: Update API Request Upload Internal File for Employee
Tests
Case 1:
Go to User Scripts and run script
Modify script regarding to instructions
Run script and go to Employees page, check employee you uploaded image to, go to Internal files and check if file is uploaded
KOD-16922: Fixing the Timestamp for Customer Document Files
KOD-16924: Footer not Full-Width
KOD-16926: Allow Convenience Fee for Card Payments on Account to be Managed by Company
Regression Tests
Case 1:
Make sure that global settings {{enableShortPayments}}, {{openInvoicePaymentsEnabled}}, {{paymentOnAccount}} are turned ON, and either global/company-level {{percentageCreditCardFee}} and {{dollarCreditCardFee}} are not set.
Verify the payment at all was successful.
Case 2:
Set {{percentageCreditCardFee}} some value.
Case 3:
Set {{dollarCreditCardFee}} some value, {{percentageCreditCardFee}} to null.
Tests
Case 1:
Leave {{dollarCreditCardFee}} setting at any value. Add the same setting at company level, with different value.
Make sure that fee is equal to value from company-level setting.
Case 2:
Set some value for global setting {{percentageCreditCardFee}}. Set different value at company level.
Make sure the fee is calculated using company level value.
Case 3:
Test endpoints to verify that these settings can be updated and read:
/api/system/company/readDetails/{companyID}
/api/system/company/{companyID}
KOD-16938: Add Interceptor to Specify Shipping Engine
Regression tests
Case 1:
Name was not changed in interceptor, value is taken from global setting.
Case 2:
Guest users who have a delivery address in a freight free zone should get free shipping.
Go to the cart with products.
Enter a delivery postal code that is in a freight free zone.
Go to the third tab, ensure that the shipping says Free.
Also do the same with a freight charged shipping zone and “Charges may apply” should show.
Case 3:
Log in customer
Go to the Operations Portal and ensure the company your customer is under has a blank trendCompiledSettings.frttermscd setting.
In cart, choose a delivery address that does not have a trendCompiledSettings.frttermscd setting and also has a freight free postal code.
Go to the third tab, ensure that the shipping says Free.
Case 4:
Log in as customer whose delivery address is not in a freight free zone, should get not free shipping.
Go to the Operations Portal and ensure the company your customer is under has a blank trendCompiledSettings.frttermscd setting.
Choose a delivery address that does not have a trendCompiledSettings.frttermscd setting and also does not have a freight free postal code.
Go to the third tab, ensure that the shipping says "Charges may apply".
Case 5:
Log in as customer whose company has trendCompiledSettings.frttermscd setting should always get free shipping even if they choose a delivery address that is not in a freight free zone as long as the items in their cart have a sku status of O, S, or X.
Go to the Operations Portal and ensure the company your customer is under has a trendCompiledSettings.frttermscd setting populated.
As a logged in customer user:
Navigate to the commerce site.
Add a product to your cart that has a sku status of O, S, or X.
Go to the cart and choose a delivery address that does not have a trendCompiledSettings.frttermscd setting and also does not have a freight free postal code.
Go to the third tab, ensure that the shipping says Free.
Case 6:
Log in as customer whose company does not have trendCompiledSettings.frttermscd setting but whose delivery address has a trendCompiledSettings.frttermscd should always get free shipping even if they choose a delivery address that is not in a freight free zone as long as the items in their cart have a sku status of O, S, or X.
Go to the Operations Portal and ensure the company your customer is under has a blank trendCompiledSettings.frttermscd setting.
As a logged in customer user:
Navigate to the commerce site.
Add a product to your cart that has a sku status of O, S, or X.
Go to the cart, and choose a delivery address that has a trendCompiledSettings.frttermscd setting and also does not have a freight free postal code.
Go to the third tab, ensure that the shipping says Free.
Case 7:
Log in as customer whose company does not have trendCompiledSettings.frttermscd setting but whose delivery address has a trendCompiledSettings.frttermscd should not get free shipping if any items in the cart are not O, S, or X.
Go to the Operations Portal and ensure the company your customer is under has a blank trendCompiledSettings.frttermscd setting.
As a logged in customer user:
Navigate to the commerce site.
Add a product to your cart that does not have a sku status of O, S, or X.
Go to the cart and choose a delivery address that has a trendCompiledSettings.frttermscd setting and also does not have a freight free postal code.
Go to the third tab, ensure that the shipping says "Charges may apply".
Tests
Case 1:
Name was not changed in interceptor, value is taken from global setting.
Case 2:
Change name in interceptor to engine, that has no tracking implemented.
Case 3:
Global setting has value of not implemented engine, changing it via interceptor.