Kodaris’s AP Automation capabilities can be used in a variety of ways to help automate and streamline your accounts payable processes, thus limiting manual intervention and saving your team time and resources.
One of the powerful ways you can utilize the AP Automation technology is to match vendor invoices to purchase orders. To help identify and manage invoice discrepancies, we’ve added a feature to the Vendor Invoices screen that notifies you of any possible discrepancies.
The system can now locate discrepancies when it comes to vendor invoices, vendor invoice items, and vendor invoice discounts. If discrepancies are present, they will be displayed as red or orange badges on the Search grid of the Vendor Invoices screen. A badge will appear with the total number of discrepancies, and when hovering over the badge with your mouse, a tooltip will appear with the number of warnings and exceptions.
Discrepancy badges will also appear on the Details page of a vendor invoice and the Items tab of a vendor invoice, if applicable. When hovering over the badges on these pages, the system will display a tooltip with information on the discrepancy that was found.
At this time, here is a list of fields that could showcase a discrepancy:
Vendor Invoice
External Order Number
Purchase Order
Total
Subtotal
Vendor Invoice Item
Code
Total
Quantity
Vendor Invoice Discount
Code
Total
Along with this new feature, you also have the ability to configure how discrepancies are handled by setting your risk tolerance per rule. This enables you to tailor the settings to your company’s specific AP processes.
To learn more about this feature, how you can view vendor invoice discrepancies, and configure your settings, watch the video below:
https://youtu.be/ZK1vrKtVsxA
Additional sorting and filtering capabilities added to the Filter Categories screen
When using the Filter Categories screen in the Operations Portal, it can be helpful to leverage sorting and filtering capabilities to more easily locate your desired results and settings.
To make searching the Filter Categories screen simpler and faster, the following fields are now sortable and filterable:
Product Display
Display
Searchable
Check out this video to see a demonstration of the new sorting and filtering capabilities relating to the fields listed above:
https://youtu.be/5jksY0xu8GY
Mobile App
View “Last Sale Date” and “Sales YTD” fields in Employee Mobile App
When using the Employee Mobile App, your sales team may want quick access to data such as the last date of sale and the year-to-date total sales. This information can be helpful when tracking customer spending, assessing when a customer last placed an order, and more.
When using the Employee Mobile App, you can now add the “Last Sale Date” and “Sales YTD” fields to your grid view on the Companies screen, which will display the corresponding information per company account. The “Last Sale Date” is also available on a Company’s Details page.
To find out where you can view this information, check out the images below, or download the app to see for yourself. If you haven’t downloaded the mobile app yet, 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.
KOD-20080: Filter Category Columns: Product Display, Display, Searchable Need to be Sortable/Filterable UX
Regression Tests
Case 1
Go to the Operations Portal and open the Filter Categories page. Make sure that the reset columns can be sorted and filtered.
Tests
Case 1
Go to the Operations Portal and open the Filter Categories page. Make sure that the columns: Product Display, Display, and Searchable can be sorted and filtered.
KOD-20615: Orders and dependencies - Sync mapping scripts
KOD-20950: Replace productCode with code2 on recentlyViewedProducts slider and productSlider
KOD-21519: Integration Next Steps
KOD-22969: Kodaris orders entered by ksys operator
KOD-23198: Implementation - Test taxes
KOD-23284: Map ERP Quotes
KOD-23637: Notifications not going to user Assigned to Job
KOD-23639: Implementation - 8192_1501 update
KOD-23746: Link all Order Emails to an Order record
KOD-23769: Drag and Drop Request
KOD-23811: Add /api/user/search/contentPage/text endpoint to the list of server-side endpoints
Regression Tests
Case 1
Check the swagger endpoint: /api/user/search/contentPage/text.
Check whether works sorting by fields: ""categoryID"", ""created"", ""lastModified"", ""code"", ""name"", ""categoryOrder"", ""pageTitle"", ""title"".
KOD-23924: Support entering Returns in operations portal - Platform
KOD-24039: Support entering Returns in operations portal - UX
Tests
Case 1
In the context of this task, a More button has been added for the list of companies.
By clicking on the button, Dropdown opens with the ""Start Return"" option.
By clicking on the button, a request is sent to the endpoint.
/api/system/order/start?CompanyCode
After successful requests, we will be redirected to a new order in which we can add items for a return.
KOD-24144: Embedding App
Regression Tests
Case 1
Go through the checkout flow. Make sure that everything works as expected with no issues.
Especially the delivery address section and the state selections.
Case 2
On the product and product list pages, check that the add to catalog flow works correctly as well.
KOD-24151: Master order/budgets - Next steps for UX in customer portal
Regression Tests
Case 1
In the Customer Portal Locations → Budgets:
Make sure screen is not broken.
Make sure you're able to add/remove columns from the grid.
Make sure you're able to check all the info under those columns.
Tests
Case 1
In the Customer Portal Locations → Budgets:
Make sure in the column list there are no columns with ID.
Make sure there were added 2 new columns: product code, unit. They should not be filterable or sortable.
Make sure Name column was renamed to Product Name.
Make sure default column ordering was changed to that order.
KOD-24162: Email Configuration
KOD-24221: Use Four Decimals when Calculating Price
KOD-24246: Integration Mapping
KOD-24254: API Integration
KOD-24290: Employee App sales
Tests
Case 1
Go to companies screen.
Open filters.
Confirm, you can show ""Last Sale Date"" and ""Sales YTD"".
Confirm, that they are showing correctly on the table itself.
Case 2
Open any company with Last Sale Date and press on (i) symbol on the top right. You should see Last Sale Date here too.
KOD-24398: High Speed Price Exports - Customer Side
KOD-24407: Add Order Notes to the Ship Instruction field in SXe
KOD-24421: UX - AP Automation Discrepancies
Regression Tests
Case 1
For this regression test, we will go to Vendor Invoices screen - Search tab.
Make sure the page loads without any errors.
Make sure the eye button still takes you to the Internal Files screen of the selected vendor invoice.
Also, the right arrow should take you to the details screen of the selected vendor invoice.
Make sure there are no visual errors on the badge or tooltip when you resize the screen or add and remove columns.
Case 2
For this regression test, we will go to the Vendor Invoices screen of an item that has no discrepancies.
We should test both the Details and the Items tab.
Make sure no errors pop up when you enter any of these pages.
We will update the fields and Add'l Charges on the Details tab, and the items on the Items tab.
Make sure everything works as expected.
Case 3
For this regression test, we will go to the AP Automation screen.
We need to make sure that no errors are displayed when we enter this screen.
The Save button shouldn't trigger any API call if no changes have been made to any input.
We can test changing the values on the fields, clicking save and make sure everything is updated successfully.
Tests
Case 1
For this test, we will go to Vendor Invoices screen - Search tab.
If a vendor invoice item has discrepancyWarningCount or discrepancyExceptionCount values greater than 0, you should see a badge on the footer section of the row.
If any of the discrepancies is of exception type, the badge should be red. Otherwise it should be orange.
When you hover the badge, a tooltip with the number of warnings and exceptions should be displayed.
Case 2
For this test, you should go to a Vendor Invoice Details screen.
If that vendor invoice item has discrepancyWarningCount or discrepancyExceptionCount values greater than 0, the discrepancies endpoint should be called, if not, it shouldn't be called. You can check that by opening the Network tab.
On the details screen, you should see discrepancy badges on the following places:
Fields: Purchase Order # and Invoice #.
Sidebar: Add'l Charges section (discount items). Totals section: subtotal and total amount text.
The badges should be displayed if a discrepancy pointing to those fields exist for that vendor invoice.
If the discrepancy is an exception, the badge should be red, otherwise it should be orange.
A tooltip with the discrepancy message is also able to be seen if you hover the badge.
Case 3
Still on the details screen, we will test the functionality to recalculate discrepancies.
Changing any value from the vendor invoice should trigger a new call to the discrepancy endpoint.
You can check that by opening the Network tab.
The badges should also be updated if the modified field caused a change on the discrepancies.
Update the fields that may contain badges and verify that the discrepancies are also recalculated properly.
Discrepancies are created when comparing a Vendor Invoice to a Purchase Order, removing the Purchase Order should clean all discrepancies, and adding it again should create them again. Make sure to test that too.
You should also update the other fields not related to discrepancies to make sure it all works as expected.
Case 4
For this test, we will move to the Items tab on the Vendor Invoice screen.
If there are discrepancies on the vendor invoice items, you should see the total number of discrepancies on a badge on the Items tab.
If any of the vendor invoice items discrepancies is of exception type, the badge should be red, otherwise it should be orange.
The total number of item discrepancies should also be recalculated if you make changes on the number of items or the items fields.
Similarly to previous test cases, a red or orange badge should be displayed inside the cell that contains the discrepancy. These cells could be: Code, Qty and Total.
Make sure the badges and tooltips match the correct discrepancies this vendor invoice has on the items.
Updating said cells could remove or create new discrepancies, so make sure you also test that.
You should also update the other cells not related to discrepancies to make sure it all works as expected.
Case 5
For this test, we will go to the AP Automation screen.
A new section called Exceptions should be found at the bottom.
We should have three tables: Invoice, Invoice Items and Invoice Charges & Discounts exception rules.
If an exception has its tolerance value equal to false, no inputs should be displayed for the Tolerance $ and Tolerance % on the table. Otherwise, number inputs should be displayed for that row.
The values displayed there should match the ones from the GET /api/system/setting/apAutomation/discrepancyConfiguration endpoint.
Changing one of the values and clicking on save, should call the PUT endpoint of the same name and update the values.
Make sure that is the case after you click on Save, reload the page and make sure the new values are displayed.
Since this is a PUT endpoint, we are sending the entire object every time we are making a change.
If you click Save after making a change on the AP Automation form but not on the Exception forms, the discrepancyConfiguration endpoint should not be called.
Case 6
Still on the AP Automation tab, we will open another tab and navigate to a Vendor Invoice with existing discrepancies.
We will test the color badges changing when we update the Level value of the discrepancy configuration.
First, on the Vendor Invoice Search tab, then on the details screen and items screen.
The color of the badges and should match the discrepancy configuration selected.
KOD-24460: Update order sync to populate deliveryAddressCode
KOD-24463: Group Like Specs Together
Regression Tests
Case 1
Product page works fine.
Tests
Case 1
Product page → Specs tab.
Expected results:
All specs that listed in the Operations portal → Product → Specs tab are listed.
Looks good on desktop and mobile.
Attributes are listed below if available.
Case 2
Product page → Specs tab.
No specs and attributes available for product.
Expected results:
No specs available message is shown.
Case 3
Product page → Specs tab.
No specs available for product.
Attributes are available for the product.
Expected results:
Attributes are shown in specs tab.
Case 4
Product page → Specs tab.
No attributes available for product.
Specs are available for the product.
Expected results:
Specs are shown in specs tab.
KOD-24466: Scheduled Payment Failure to Run Alerts
Regression Tests
Case 1
Test Invoice payment in the Customer portal (you should be able to pay chosen open invoices in customer portal as before).
Tests
Case 1
Test Expired and Failed Scheduled payments report is sent as expected.
KOD-24506: Pulling header into French for products
Regression Tests
Case 1
Check pulling header into some language for products.
Select some product, switch to some language and then update header.
Use swagger endpoint GET: /api/user/product/code with filled product code and language code.
In my case I selected language: fr-ca → filled product header for current language → read by product code and language: fr-ca.
KOD-24547: Add Specs Translation Capability
Regression Tests
Case 1
Make sure that the ""specs"" list is displayed correctly in different languages.
KOD-24550: Sync whse and icsw
KOD-24561: Home page - Brands section
KOD-24679: Category Code Length
KOD-24681: Limited-Access Users Unable To See Assigned Location Orders
KOD-24689: Catalog view default on search screen
Regression Tests
Case 1
Make sure you can still search for a product.
Case 2
Click into any category → switch the view then go to a different category and notice the last view was saved (if it defaults to something else verify that the category has a default view layout).
Tests
Case 1
Go to a category page and switch the view to something other than grid → now search for something → notice it always defaults to the grid view.
Case 2
Click either list or catalog view now and notice that the page updates accordingly.
Case 3
Go to a category and click either list or catalog view (remember this view) → search for a product → now go back to a category page → notice the view is the same as the one from your previous catalog view.
KOD-24690: Support partial payments
KOD-24714: Addon's to CSD Snippet
KOD-24715: Validate Rule before pushing order to ERP - Limit operator
KOD-24721: Make kd.pageService.getUrl generate link without host
Regression Tests
Case 1
For sites that do not have hosts, click around into different articles and make sure they still load properly.
Case 2
Also make sure the breadcrumbs on those sites with no hosts are set to what they were before.
Tests
Case 1
Find a site that has hosts and ""useV2SEOFilterUrls"" is set to 1 → click into different articles on the site and notice that the host code is no longer in the URLs.
Case 2
Also make sure the breadcrumbs have the correct URL without the host code.
Case 3
Find a site that has hosts but ""useV2SEOFilterUrls"" is set to 0 or doesn't exist → click into different articles on the site and notice that the host code is no longer in the URLs.
Case 4
Also make sure the breadcrumbs have the correct URL without the host code (useV2SEOFilterUrls is set to 0 or doesn't exist).
KOD-24742: Set up host & install website
KOD-24744: Terminal transactions - Save terminalID on a Payment record
KOD-24751: Investigate why the cache isn't automatically updating
KOD-24756: New rule to copy line item location back to header
KOD-24769: Mass Edit/Delete Media Files & Primary Images
Verify that product lists (grid, list, catalog) still looks good.
Case 2
Verify that product details page still looks good.
Case 3
Verify that recently viewed products looks good (should look for more then 4 products).
Tests
Case 1
If product doesn't have any images you should see one of Placeholder on category page.
Case 2
If product doesn't have any images you should see one of Placeholder on product details page.
Case 3
If product doesn't have any images you should see one of Placeholder on recently viewed products.
KOD-24839: Timeline Photo Swap
Tests
Case 1
Need to verify text and that that image was changed.
KOD-24843: Check on Using unitStock Instead of unitSell for Minimum/Interval
Regression Tests
Case 1
Check that the product list and product detail pages works as normal with no errors.
Tests
Case 1
The units and unit dropdowns should now show how many parts are in each unit if the unit.unitConverion is greater than 1.
Case 2
If a product unit does not have a unitConversion value greater than 1, the unit should be displayed as normal.
KOD-24846: Add pdscCode to /product/exportPrices API
KOD-24850: Update Desc Mapping on Products & Resync
KOD-24853: Update order template similar to HTML version
Regression Tests
Case 1
Generate an order pdf and make sure it still loads properly.
Tests
Case 1
After the pdf is generated, notice the store logo is now smaller and the bill to, ship to, remit to box is now the full width, the top box is now slightly wider to get it closer to the html version, the top box is also more even in box sizes, and there are spaces between the boxes to make it look more similar to the html version.
KOD-24857: Get schema
KOD-24859: Set up the KITs
KOD-24865: Custom Button alignment not working
Tests
Case 1
Check if alignment for button is working correctly.
KOD-24869: AP Automation Product Mismatch
KOD-24872: AP - total not being picked up when zero
KOD-24878: Change registration link in the header
KOD-24880: Implementation - ERP Sync
KOD-24882: Payment Request is missing Card Detail Fields when Customers Click on Link Multiple Times
Regression Tests
Case 1
Check whether the COD link open without hiding part of (payment card fields) form after open the COD link more then three times.
Create order on system side, add some item and then click the button email button.
Try to click the button: "Review and pay" and open more then three times and check whether it opens without hiding block card details.
KOD-24883: Vendor Parser not populating all items
KOD-24884: Map host code on companies
KOD-24885: Operations portal - Open original order in a new tab
Tests
Case 1
Check if original order is opening in a new tab on:
Cash quote items
Order items
Quote items
Quote-request items
Summary-order-items
KOD-24886: Operations Portal - Add Initialized order status to dropdown
Tests
Case 1
Check if order has initialized status displayed in dropdown.
KOD-24889: Add Fields to Warehouse
Tests
Case 1
Check if the companyCode and customerWarehouse fields are returned in the warehouse list response.
KOD-24890: Add canUsePOs field to the search and data grids on companies
Regression Tests
Case 1
Expected result: Search tab should work without any problems on companies screen
Steps:
Log into the operations portal.
Navigate to the companies screen.
Screen should load fine, you should be able to add any fields, filtering/sorting should work where available.
Case 2
Expected result: Data tab should work without any problems on the companies screen.
Steps:
Log into the operations portal.
Navigate to the companies screen.
Click on Data tab.
Screen should load fine, you should be able to add any fields, filtering/sorting should work where available.
Tests
Case 1
Expected result: Can Use POs (canUsePOs) should be added Search tab under the Companies screen.
Steps:
Log into the operations portal.
Navigate to the companies screen.
Click on icon with 3 lines, you should see new field added → Can Use POs, add this column to grid.
This column should be sortable/filterable.
Case 2
Expected result: Can Use POs (canUsePOs) should be added Search tab under the Companies screen.
Steps:
Log into the operations portal.
Navigate to the companies screen.
Click on Data tab.
Click on icon with 3 lines, you should see new field added → Can Use POs, add this column to grid.
This column shouldn't be sortable/filterable.
Case 3
Expected result: Card Payments (companyHasCardTurnedOn) should be added Search tab under the Companies screen.
Steps:
Log into the operations portal.
Navigate to the companies screen.
Click on Data tab.
Click on icon with 3 lines, you should see new field added → Card Payments, add this column to the grid.
This column shouldn't be sortable/filterable.
KOD-24895: Enable to Delete Multiple Rows on Specs Tab in the Operations Portal
Regression Tests
Case 1
The user should be able to add new rows and export table.
Tests
Case 1
Go to the Specs tab. The user should be able to delete multiple rows as well as a single row. There should be no errors in the console and the Network tab.
KOD-24899: Google Tag manager
Regression Tests
Case 1
Navigate to the commerce site.
Confirm that pages are loading as expected.
Tests
Case 1
On the commerce site open developer tools.
Search for “head" on the Elements tab.
Confirm head contains code snippet from the description at the top.
Case 2
On the commerce site open developer tools.
Search for “body" on the Elements tab.
Confirm body contains code snippet from the description at the top.
Case 3
On the commerce site open developer tools.
Confirm in the “Console" section there are no any security errors.
Note:
Security issue should be configured from the operation's portal security screen.
KOD-24904: AP Automation - Update email status for vendors where AP Automation is not enabled
KOD-24906: AP Automation - Add Setting To hold possible Invoice Email Statuses
KOD-24911: Serverside order settings endpoint
KOD-24922: Allow changes on company address syncs and unit conversion syncs
Regression Tests
Case 1
From the import mapping, (Unit conversion screen), we need to make sure that:
We can update a Unit conversion without sending the productCode (or erpProductCode) in the headers.
If we are creating a Unit Conversion, we need to verify Product is required (In other words, you have to test do not sending the productCode column and you should get an error and then create it with the productCode).
Case 2
From the CompanyAddress import mapping, (company screen), we need to make sure that:
We can update a CompanyAddress without sending the company in the headers.
Notice that we could find a company by sending the companyCode, the erpCompanyId1 (extra3) and the erpCompanyId2 (extra4)
If we are creating a Unit Conversion, we need to verify Product is required (In other words, you have to test do not sending the productCode column and you should get an error and then create it with the productCode).
Tests
Case 1
For updates (you can use updateOnly or create and Update mappings) you can change the product under a UnitConversion. If you send the productCode it will try to find it and change it (Unless it doesn't find it and then you will get an error).
Case 2
For updates (you can use updateOnly or create and Update mappings) you can change the Company under a CompanyAddress. If you send the companyCode it will try to find it and change it (Unless it doesn't find it and then you will get an error).
This should work for any of these header names.
companyCode, erpCompanyId1, erpCompanyId2
erpCOmpanyId1 is for finding company with extra3 field as lookup.
erpCompanyID2 is for finding company with extra4 field as lookup.
KOD-24926: Add options: itemSettings, itemSettingsAsMap for order /exportAsNdjson endpoint
KOD-24927: Set canUsePOs to true when new companies are added in the ERP
KOD-24930: Text Edits - Fix
KOD-24943: Timeline change question
Regression Tests
Case 1
Confirm that the ""Our Company"" page loads without issues.
Case 2
Confirm that the ""Timeline"" slider is displayed correctly.
Tests
Case 1
Confirm that if ""Default Pagination"" is selected in the block settings, the last slide of this pagination (in our case, the year 2025) is always displayed on the page.
KOD-24945: Add extendedRoundingTargets Setting
KOD-24957: Website Image Removal
Regression Tests
Case 1
Check that search page still looks good.
Tests
Case 1
Check that on the search page you see picture from ticket's description.
KOD-24958: Broken Images on website
Regression Tests
Case 1
Check that welcome page still looks good.
Tests
Case 1
Check that broken images are not present (which shows in ticket description)
KOD-24968: Move Shelf Pack to the undertitle data
Regression Tests
Case 1
Open the customer portal and go to any product detail page. Check if it is displayed as expected.
Tests
Case 1
Open the customer portal. Go to any product detail page for product with set value for spec shelf pack.
Case 2
In case if there is no shelf pack set, it will not be displayed at all.
KOD-24975: Don't set shipped quantity on order items when adding line items to a return
Regression Tests
Case 1
Try to start Return order and add some items to return order (employee/customer portal) and verify everything works as expected.
Tests
Case 1
Try to add item to Return order in the operations portal and verify shipped quantity is not set (not copied from original order item).
KOD-24983: Bring in the Manufacturer Name and Manufacturer Part Number
KOD-24986: Add fields to Warehouse grids and details screen
Regression Tests
Case 1
Check that the locations screen still works as normal.
Tests
Case 1
There should be two new fields added to the locations screen, company code, and customer warehouse.
Viewing, adding, and removing values should work with no issues.
KOD-24989: Master order/budgets - Total Spend overlaid on the menu items in the customer portal
KOD-24998: Change ""Lead"" to ""Opportunities"" on the employee mobile app.