All Releases
February 19, 2026 February 12, 2026 January 22, 2026 February 5, 2026 January 29, 2026 January 15, 2026 January 8, 2026 January 1, 2026 December 25, 2025 December 18, 2025 December 11, 2025 December 4, 2025 November 27, 2025 November 20, 2025 November 13, 2025 November 6, 2025 October 30, 2025 October 23, 2025 October 16, 2025 October 9, 2025 October 2, 2025 September 25, 2025 September 18, 2025 September 11, 2025 September 4, 2025 August 28, 2025 August 21, 2025 August 14, 2025 August 7, 2025 July 31, 2025 July 24, 2025 July 17, 2025 July 10, 2025 July 3, 2025 June 26, 2025 June 19, 2025 June 12, 2025 June 5, 2025 May 29, 2025 May 22, 2025 May 15, 2025 May 8, 2025 May 1, 2025 April 24, 2025 April 17, 2025 April 10, 2025 April 3, 2025 March 27, 2025 March 20, 2025 March 13, 2025 March 6, 2025 February 27, 2025 February 20, 2025 February 13, 2025 February 6, 2025 January 30, 2025 January 23, 2025 January 16, 2025 January 9, 2025 January 2, 2025 December 26, 2024 December 19, 2024 December 12, 2024 November 28, 2024 November 21, 2024 November 14, 2024 November 7, 2024 October 31, 2024 October 24, 2024 October 17, 2024 October 10, 2024 October 3, 2024 September 26, 2024 September 19, 2024 September 12, 2024 September 5, 2024 August 29, 2024 August 22, 2024 August 15, 2024 August 8, 2024 August 1, 2024 July 25, 2024 July 18, 2024 July 11, 2024 June 27, 2024 June 20, 2024 June 13, 2024 June 6, 2024 May 30, 2024 May 23, 2024 May 16, 2024 May 9, 2024 May 2, 2024 April 25, 2024 April 18, 2024 April 11, 2024 April 4, 2024 March 28, 2024 March 21, 2024 March 14, 2024 March 7, 2024 February 29, 2024 February 22, 2024 February 15, 2024 February 8, 2024 February 1, 2024 January 25, 2024 January 18, 2024 January 11, 2024 January 4, 2024 December 21, 2023 December 14, 2023 December 7, 2023 November 30, 2023 November 16, 2023 November 9, 2023 November 2, 2023 October 26, 2023 October 19, 2023 October 12, 2023 October 5, 2023 September 28, 2023 September 21, 2023 September 14, 2023 September 7, 2023 August 31, 2023 August 24, 2023 August 17, 2023 August 10, 2023 August 3, 2023 July 27, 2023 July 20, 2023 July 13, 2023 July 6, 2023 June 29, 2023 June 22, 2023 June 15, 2023 June 8, 2023 June 1, 2023 May 25, 2023 May 18, 2023 May 11, 2023 May 4, 2023 April 27, 2023 April 20, 2023 April 13, 2023 April 6, 2023 March 30, 2023 March 23, 2023 March 16, 2023 March 9, 2023 March 2, 2023 February 23, 2023 February 16, 2023 February 9, 2023 February 2, 2023 January, 2023 December, 2022 November, 2022 October, 2022 September, 2022 August, 2022 July, 2022 June, 2022 May, 2022 April, 2022 March, 2022 February, 2022 January, 2022 December, 2021 November, 2021 October, 2021 September, 2021 August, 2021 July, 2021 June, 2021 May, 2021 April, 2021 March, 2021 February, 2021 January, 2021 December, 2020
View all releases

February 12, 2026 release notes

Tickets

  1. KOD-29217: Dealer - Order Flow
    • Tests
    • Case 1
      • Ensure that the user script (generateCNHCheckoutCartFile) is working correctly, namely that a CSV file is generated as shown in the example.
      • Verify that the file is created on the orders screen, in the customer files tab.
      • Ensure that the file is successfully sent to the email address.
  2. KOD-29307: Implement non stock products to CSD on order insert
  3. KOD-29386: Product Search Updates for Catalogs
    • Regression Tests
    • Case 1
      • Having the new setting useFullTextSearchOnCatalogs disabled.
      • On the catalogs in the site, make sure you can search for products within a catalog and you are getting the results as expected. Basically, the search is doing a ‘contain’ for product.code, product.name and product.manufacturerCode. This means if there is a product with code ‘ABCDEF’ and you search for ‘ABC’ it should find it.
      • The same if you find it for CDE.
    • Tests
    • Case 1
      • Having the useFullTextSearchOnCatalogs now when you search for products within catalogs it will implement a full index search.
      • Their products have various names like electrical maintenance tape , etc.
      • Before it was trying to do a ‘CONTAIN’ search, so if you searched for tape you could find a lot of records because there were many ‘electrical maintenance tape’ products. But then if you searched by ‘electrical tape’ the search didn’t find those.
      • Now, it will try to do a full text search against particular fields:
      • code , seoCode, name, description, keywords, manufacturerProductCode
      • So if any of those fields contains any word like tape, maintenance or electrical, it should appear.
      • See the video to understand the results better.
    • Case 2
      • 2 new endpoints available
      • /api/account/companyProductCategory/{companyProductCategoryID}/listProductsV
      • Which is supposed to replace this one:
      • /api/account/companyProductCategory/{companyProductCategoryID}/listProducts
      • and /api/account/customerProductCategory/{companyProductCategoryID}/listProductsV2
      • which is supposed to replace: /api/account/customerProductCategory/{companyProductCategoryID}/listProducts
  4. KOD-29560: Add UX for tenants and tenant settings
    • Tests
    • Case 1
      • Log in to the Operations Portal.
      • Ensure the Tenant screen is accessible via the main menu.
      • Navigate to the Tenant screen.
      • Verify Tenant CRUD operations.
      • Create a new tenant.
      • Edit the newly created tenant (e.g., change name or other fields).
      • Delete the newly created tenant.
      • Verify Tenant detail view.
      • Open the detail view for any existing tenant.
      • Verify the presence of the following tabs:
      • General Info
      • Details
      • Review the following sections:
      • Developer Fields
      • Development
      • Verify Developer Fields functionality
      • Create a new Developer Field setting
      • Edit the newly created setting
      • Delete the newly created setting
      • Verify Development section
      • Verify that all available fields from the Tenant response are displayed correctly.
  5. KOD-29618: Price Book Downloads
  6. KOD-29621: Export for Quote Non-Stock Items
    • Tests
    • Case 1
      • Use sample payload for testing.
      • use submitEvent endpoint in Business Event in swagger,
      • Expected:
      • An internal file gets generated that includes every line item with code NONSTOCK.
  7. KOD-29625: Create price engine and logic integration
  8. KOD-29631: Change forgot password contact info
    • Tests
    • Case 1
      • Verify Email Is Displayed Instead of Phone Number.
      • Navigate to the website.
      • Click on the "Forgot password" option.
      • Verify the text is displayed as:
      • "Still having trouble? Give us a call at {email}
      • Ensure that an email address is displayed instead of a phone number.
  9. KOD-29676: Implementation - Install Applications
  10. KOD-29684: Kodaris - Sync Orders
  11. KOD-29702: Implementation - Order / Invoice Documents
    • Regression Tests
    • Case 1
      • Check that the order templates still generate and look good without errors.
      • Order PDF:
      • Go to the Operations Portal.
      • Go to the details screen of an Order.
      • In the header menu, click the Generate PDF option.
      • After being redirected to the Internal Files screen, open the PDF.
      • It should look good and not have any errors.
      • Order Email:
      • On the same order in the header menu, click the Generate Email option.
      • In the popup, use the pre-selected template, and generate the email.
      • Check that it looks good without issues or errors.
      • Order HTML:
      • Login on the customer side of the website.
      • Go to the customer portal > Orders screen and go to the details page for an order.
      • Check that the template looks good without issues or errors.
      • Also, for the HTML template, place an order on the website and check that the template on the confirmation screen looks good without errors.
    • Tests
    • Case 1
      • Do the same steps as the regression tests, but for each template, check that it matches the example template for orders that is in the ticket description.
      • Check that:
      • All labels and messaging match the example template.
      • Data is correct (especially when comparing Kodaris templates in their example order to the CSD template in ticket description).
      • Also, on the HTML template, check that it is mobile responsive.
  12. KOD-29732: V3 DDA testing
    • Regression Tests
    • Case 1
      • In the operations portal, you should still be able to generate an order PDF.
      • And if the display proof of delivery is not, the PDF should remain the same.
    • Case 2
      • On a quote, you should still be able to generate a PDF.
    • Tests
    • Case 1
      • If an order has a POD signature, when you generate the order PDF (and select yes to show the proof of delivery), you should now see the signature displayed along with the created date and geo coordinates.
  13. KOD-29737: Customer login first time, displaying default unknown location
  14. KOD-29744: Implementation - Taxes
  15. KOD-29749: Implementation - Install Applications
  16. KOD-29755: Brands not in Alphabetical Order
    • Regression Tests
    • Case 1
      • Make sure the brands are displayed in the shop.
      • Make sure sorting works when a brand is selected.
    • Tests
    • Case 1
      • Ensure the brands are listed in alphabetical order.
  17. KOD-29765: Add UX for adding assignees to intranet page and intranet page drafts
    • Regression Tests
    • Case 1
      • In the operations portal, make sure you can still go to the Internal FAQ details page and it still loads.
      • Make sure you can still go to the Internal FAQ draft details page and it still loads.
    • Tests
    • Case 1
      • On the Internal FAQ details page, notice the new section for Assignees.
      • Click the Assignment Type dropdown and pick a type → now type in an assignee name and pick one → notice both name and type are added.
      • You should not be able to add the same assignee twice.
      • Now click the X and the assignee/type should be removed from the page.
    • Case 2
      • On the Internal FAQ Draft details page, notice the new section for Assignees.
      • Click the Assignment Type dropdown and pick a type → now type in an assignee name and pick one → notice both name and type are added.
      • You should not be able to add the same assignee twice.
      • Now click the X and the assignee/type should be removed from the page.
    • Case 3
      • Also notice in the Internal FAQ details page, that there is now a header for Details and General Info (also Assignees but that was added with the new code) - to match how it is on Internal FAQ drafts and FAQs.
  18. KOD-29768: Implementation - Taxes - Test Feedback
  19. KOD-29777: Update UX for product code with slashes issue
    • Regression Tests
    • Case 1
      • Make sure the company catalogs, customer catalogs, and product list pages still load properly.
    • Tests
    • Case 1
      • Go to a company catalog → Make sure you can drag and drop a product and you don’t get an error.
      • Now make sure you find a product with a / in the product code, make sure you can drag and drop that product as well.
      • Test for both grid view and list view.
    • Case 2
      • In a company catalog, make sure you can delete a product.
      • Now make sure you can delete a product with a slash in the product code.
      • Test for both grid view and list view.
    • Case 3
      • In a customer catalog, make sure you can delete a product.
      • Now make sure you can delete a product with a slash in the product code.
      • Test for both grid view and list view.
    • Case 4
      • Go to any product list view, make sure you can add a product to a catalog.
      • Now make sure you can add a product that has a slash in the code.
      • (Can only add products while in list or grid view).
  20. KOD-29782: Add the ability to search open search
    • Tests
    • Case 1
      • Log into the Operations Portal with 'administrator' / 'superuser' role.
      • Go to Swagger and call /api/system/opensearch/sql with request body:
      • {"query": "SELECT * FROM orders LIMIT 10"}
      • Make sure it returns results from OpenSearch.
    • Case 2
      • Empty query:
      • Log into the Operations Portal with 'administrator' / 'superuser' role.
      • Go to Swagger and call /api/system/opensearch/sql with request body:
      • {"query": ""}
      • Make sure it returns error: "SQL query cannot be empty"
    • Case 3
      • DELETE blocked:
      • Log into the operations Portal with 'administrator' / 'superuser' role.
      • Call /api/system/opensearch/sql with request body:
      • {"query": "DELETE FROM orders WHERE orderID = 1"}
      • Make sure it returns an error: "Only SELECT queries are allowed".
    • Case 4
      • DROP blocked:
      • Log into the Operations Portal with 'administrator' / 'superuser' role.
      • Call /api/system/opensearch/sql with request body:
      • {"query": "DROP TABLE orders"}
      • Make sure it returns an error: "Only SELECT queries are allowed"
    • Case 5
      • Update blocked:
      • Log into the Operations Portal with 'administrator' / 'superuser' role.
      • Call /api/system/opensearch/sql with request body:
      • {"query": "UPDATE orders SET status = 'CANCELLED'"}
      • Make sure it returns error: "Only SELECT queries are allowed"
    • Case 6
      • Log into the Operations Portal with 'administrator' / 'superuser' role.
      • Call /api/system/opensearch/sql with request body:
      • {"query": "SELEC * FORM orders"}
      • Make sure it returns OpenSearch error message.
    • Case 7
      • Log into the Operations Portal with 'administrator' / 'superuser' role.
      • Call /api/system/opensearch/sql with request body:
      • {"query": "SELECT * FROM nonexistent"}
      • Make sure it returns OpenSearch error about missing index.
    • Case 8
      • Log out from the Operations Portal.
      • Call /api/system/opensearch/sql as non-admin user with request body:
      • {"query": "SELECT * FROM orders LIMIT 10"}
      • Make sure it returns an error.
    • Case 9
      • Log into the Operations Portal with 'administrator' / 'superuser' role.
      • Call /api/system/opensearch/sql/explain with request body:
      • {"query": "SELECT orderID, status FROM orders WHERE status = 'Received'"}
      • Make sure it returns the Query DSL translation (OpenSearch query plan)
    • Case 10
      • Log into the Operations Portal with 'administrator' / 'superuser' role.
      • Call /api/system/opensearch/sql with request body:
      • {"query": "SELECT orderID, status FROM orders LIMIT 5", "format": "csv"}
      • Make sure it returns response with data field containing CSV string (e.g., "data": "orderID,status\n120,Web Entered\n...")
    • Case 11
      • Log into the Operations Portal with 'administrator' / 'superuser' role.
      • Call /api/system/opensearch/sql with request body:
      • {"query": "SELECT * FROM orders", "format": "jdbc", "fetchSize": 5}
      • Make sure it returns only 5 rows in data rows.
    • Case 12
      • Log into the Operations Portal with 'administrator' / 'superuser' role.
      • Call /api/system/opensearch/sql with request body:
      • {"query": "SELECT orderID, status FROM orders",
      • "filter": {"match": {"status":"Received"}}}
      • Make sure it returns only orders with status = "Received".
    • Case 13
      • Log into the Operations Portal with 'administrator' / 'superuser' role.
      • Call /api/system/opensearch/sql/export?fileName=orders.csv with request body:
      • {"query": "SELECT orderID, status FROM orders LIMIT 100"}
      • Make sure the browser downloads a file named orders.csv with CSV content.
    • Case 14
      • Log into the Operations Portal with 'administrator' / 'superuser' role.
      • Call /api/system/opensearch/sql with request body:
      • {"query": "SELECT orderID, status FROM orders LIMIT 5", "format": "raw"}
      • Make sure it returns a response with a data field containing pipe-delimited string.
    • Case 15
      • Log into the Operations Portal with 'administrator' / 'superuser' role.
      • Call /api/system/opensearch/sql with request body:
      • {"query": "SELECT * FROM orders LIMIT 5", "format": "invalid"}
      • Make sure it returns an error: "Invalid format. Allowed values: json, jdbc, csv, raw".
  21. KOD-29797: Implementation - Install Applications
  22. KOD-29816: Customer Portal - Design Updates
  23. KOD-29817: Kodaris Operations Portal - Error on Every Order - Cannot Use
  24. KOD-29827: Product Configurator - Display part number according to selected variant
    • Regression Tests
    • Case 1
      • Check that the regular product details page still looks good.
    • Case 2
      • Check that the configurator product details page still looks good.
    • Case 3
      • Check that you can add a regular/configurator product to the cart from the details page.
    • Tests
    • Case 1
      • Check that when you open the configurator product (as an example in ticket description) and choose any available variant, product code gets updated.
  25. KOD-29828: Implementation - ICSW Sync
  26. KOD-29831: AP - Install Existing Vendor Mappings
  27. KOD-29834: Order confirmation Email improvements
    • Regression Tests
    • Case 1
      • Make sure you can still generate an order email and an order with status not equal to Received should have not been changed.
    • Tests
    • Case 1
      • For an order that has status ‘Received’ and does not have trend compiled settings, generate an order email → notice the product images are not getting cut off any more.
  28. KOD-29848: Implement HTML on SpecificationData.csv Export
  29. KOD-29849: Required Attribute Assignment screen - Add UX for filtering for blank/null values across columns
    • Regression Tests
    • Case 1
      • Ensure that the “Required Attribute Assignment” grid looks and functions correctly.
    • Tests
    • Case 1
      • Ensure that the filter icon appears next to the fg_* columns.
      • Ensure that clicking on the filter opens a menu with two options:
      • Empty (sends IS_BLANK)
      • Not empty (sends IS_NOT_BLANK)
      • Ensure that the empty/not empty filter is functioning correctly.
  30. KOD-29852: Issue with Related product files without path
    • Regression Tests
    • Case 1
      • Preconditions:
      • Regular product exists (productDisplayType NOT "Configurator").
      • Product has multiple images attached (1 primary + 1 secondary).
      • Product has NO variants/related products.
      • Navigate to the regular product page.
      • Observe the product image carousel.
      • Verify all product images are displayed.
      • Navigate through the carousel.
      • Check that no console errors appear.
      • Expected Result:
      • Carousel displays all product images (primary + secondary).
      • No duplicate images appear.
      • No JavaScript errors in the console.
      • No changes in behavior compared to before the configurator inheritance feature.
    • Case 2
      • Variant without own images inherits all parent images.
      • Preconditions:
      • Configurator product exists with 3 images (1 primary + 2 secondary).
      • Variant product exists with NO images/files attached.
      • Variant is related to configurator as relatedType: "ConfiguratorVariant"
      • Steps:
      • Navigate to the configurator variant product page (e.g., /CouchTestMediumGreen).
      • Observe the image carousel.
      • Expected Result:
      • Carousel displays 3 images (all inherited from the parent configurator product).
      • Images match the parent product's primary + secondary images.
      • No duplicate images appear.
      • Carousel navigation works correctly.
    • Case 3
      • Variant with own images shows ONLY own images.
      • Preconditions:
      • Configurator product exists with 3 images.
      • Variant product exists with 2 own images (one as primary and second one as secondary).
      • Variant is related to the configurator as relatedType: "ConfiguratorVariant".
      • Navigate to the configurator variant product page (e.g., /CouchTestMediumRed).
      • Observe the image carousel.
      • Expected Result:
      • Carousel displays 2 images total (ONLY own images, NO inherited).
      • Parent images are NOT displayed.
    • Tests
    • Case 1
      • Preconditions:
      • Upload Customer files to the products.
      • Navigate to the Customer Files screen.
      • Click “File” > “Import” select one of the available importers (for example - Product Files: Create Update).
      • Import file that is available by this link .
      • In productCode column type code of the product variant or product configurator.
      • Confirm Images are displayed on the Public Files tab under Product in the operations portal.
      • Navigate to the commerce and set configuration to match the configurator valariat attributes (dropdown values).
      • Confirm only one image is loaded.
      • Add path to one file.
      • Confirm that file is displayed on the page.
  31. KOD-29854: Kodaris - Can't navigate to Custom Fields on Companies > Ticket > Details screen
    • Regression Tests
    • Case 1
      • Make sure you can still navigate to Companies → Tickets → Ticket Details.
    • Tests
    • Case 1
      • Navigate to Companies → Tickets → Ticket Details → now click on the Custom Fields tab → you should be taken to that page now (and can only access it if you have one of the following role: 'administrator', 'superuser', 'ticketSettingView', 'ticketSettingEdit'.
      • (In order to even access the companies screen in the first place, make sure you also have one of the following permissions: 'administrator', 'superuser', 'companyView', 'crmCompanyView', 'companyEdit', 'crmCompanyEdit' ).
      • If you don’t have one of those roles, you should not be able to access the page and get an error saying to contact support.
  32. KOD-29856: A standalone refund (Credit) Transaction
  33. KOD-29863: Inconsistent email validation between login screen and session expiration popup
    • Regression Tests
    • Case 1
      • Navigate to the login page.
      • Locate the email input field.
      • Click the email input field.
      • Enter text.
      • The email input field is visible and enabled.
      • Text is entered and displayed correctly.
    • Tests
    • Case 1
      • Navigate to the login page.
      • Enter an invalid email.
      • Click Sign In .
      • Enter a valid email.
      • Click Sign In .
      • Confirm:
      • An email validation error message is displayed for an invalid email.
      • Sign In works correctly with a valid email.
  34. KOD-29867: Add “In The Box” Tab to Product Pages
    • Regression Tests
    • Case 1
      • Check that the product detail page still looks good for guest and logged in users.
    • Case 2
      • Check that this item section still looks good and you can navigate between tabs for guest and logged in users.
    • Tests
    • Case 1
      • Check that you can see new section ‘In the Box’ when product have populated field header in operations portal (operations portal → products screen → product details page → additional-content)
  35. KOD-29877: New content module block - Additional updates
    • Regression Tests
    • Case 1
      • Ensure that CM: Slider 3 functions and appears correctly.
      • Ensure that the color can be set for the arrows.
    • Tests
    • Case 1
      • Ensure that the font weight for the title is regular (400).
      • Ensure that the title has the letter Case - all caps.
      • Ensure that the arrow has a background color of white.
      • Ensure that the arrow and border colors are #008859.
  36. KOD-29881: SEO - H2 Tags in Header
    • Regression Tests
    • Case 1
      • Make sure the site still loads properly and the header/mobile header still looks the same.
      • Navigate to other pages besides the home page and make sure the mobile header still looks the same.
    • Case 2
      • Make sure the import from file modal (quick order → import from file) still looks the same as before.
    • Tests
    • Case 1
      • Make sure that there are no h2 or h3 tags above an h1 tag.
      • Right click and select view page source → search for h1 and notice the line number → now search for h2 and h3 and notice that they are all below h1.
  37. KOD-29888: Add user's selected site language to the Post Order Survey
    • Tests
    • Case 1
      • When submitting a post order survey - the user’s selected site language has to be also passed to the created ticket.
  38. KOD-29890: Transaction update
  39. KOD-29895: Kodaris - Rules Engine (Automation) - Remove from the Operations Portal
    • Regression Tests
    • Case 1
      • Ensure that the system menu opens and all other items are clickable.
    • Tests
    • Case 1
      • Ensure that the “Automation” item is not present in the system menu.
      • Ensure that a direct transition to /automation redirects to the dashboard.
  40. KOD-29912: Turn on Search Debugger tool
    • Regression Tests
    • Case 1
      • Make sure the search functionality is working the same as before for both a logged in and logged out customer.
    • Case 2
      • Make sure the categories screen is working the same as before.
    • Tests
    • Case 1
      • Make sure your employee has the searchDebug role.
      • Log into the operations portal → now go to the commerce site → search for a product → notice the search score at the bottom of the tile (only on grid view) → also notice the inspect button.
    • Case 2
      • Continuing from case 1 → click the inspect button → notice a side panel pops up → this panel should have a highlights tab, explain tab, and a debug tab → click into each one to make sure they load → now click on the actions button → notice 3 options in the dropdown → click on each of them → ‘Open product in operations portal’ should take you to the product in the ops portal in a new tab → ‘Open search tools’ should take you to the search screen in the ops portal in a new tab →'Open search documentation' should take you to the documentation on using the search debugger → now click the X and it should close the inspector.
    • Case 3
      • Now go to the list view and notice that the search score is not present.
    • Case 4
      • Now log into the commerce site → search for a product → notice you do not see the search score/inspector anymore.
  41. KOD-29946: Publish Summit Agenda
  42. KOD-29951: Add missing fields to the Terminal Data Grid and Detail tab
    • Regression Tests
    • Case 1
      • On the operations portal navigate to the Terminals screen.
      • In the grid edit some values.
      • Confirm values are saved.
      • Add/remove some columns.
      • Confirm they are displayed properly.
      • Apply sorts and filters.
      • Verify they are working as expected.
    • Case 2
      • On the operations portal navigate to the Terminals screen.
      • Select any terminal and navigate to its detail page.
      • Confirm page loaded properly.
      • Edit some fields.
      • Confirm changes are saved.
      • Change “Type” to “virtual” in the “General Info” section
      • Confirm a new tab appeared.
      • Navigate to this tab and confirm the page loaded properly.
    • Tests
    • Case 1
      • On the operations portal navigate to the Terminals screen.
      • Open columns choose and select:
      • Receipt Email Subject.
      • Receipt Email Template Code.
      • Receipt Page Template Code.
      • Confirm those columns added properly.
      • Modify those columns.
      • Confirm:
      • Receipt Email Subject is a free-hand input.
      • Receipt Email Template Code and Receipt Page Template Code are autocompletes.
      • Refresh the grid and refresh the page.
      • Confirm changes are saved.
    • Case 2
      • On the operations portal navigate to the terminals screen.
      • Add columns from the feature test 1.
      • Navigate to the terminal’s detail page.
      • Scroll to the “Other Info” section.
      • Confirm three new fields appear at the bottom of this section.
      • Confirm values are the same as on the grid view for respective columns.
      • Modify those fields.
      • Confirm:
      • Receipt Email Subject is a free-hand input
      • Receipt Email Template Code and Receipt Page Template Code are autocompletes.
      • Refresh the page.
      • Confirm changes are saved.
      • Go back to the grid page.
      • Verify changes are reflected on the grid.
    • Case 3
      • Assign only the terminalEdit role to your employee.
      • Navigate to the Terminals screen.
      • Verify that for template code columns there is no error while updating those cells.
      • Navigate to the detail page.
      • Confirm template code fields does not throw any permission error.
  43. KOD-29952: Create custom templates