All Releases
View all releases

February 23, 2023 release notes



View CenPos payment attempts in the portal

CenPos payment requests and responses are logged and displayed in the Operations Portal so you can view your customer's successful and non-successful payment attempts. You can utilize this to track and troubleshoot payment issues.



Require end date when generating account pricing

You can now require an end date to be set for pricing records when generating account pricing from a quote. This enforces that the generated pricing records do not run indefinitely. You can turn this requirement on by updating the global "End Date Required On Account Pricing Creation" setting. If this setting is on and no end date is set, an error message will display prompting the user to enter a date.



  1. KOD-13224: Portal > Orders > Search - Make Exists or Does Not Exist Filter Dropdowns Work Under Transaction Type
    • 1. Orders => Custom Records
    • 2. External Orders => Custom Records
    • 3. Chose the Document => Test whether the appropriate information is rendered in the Details pane
  2. KOD-13188: Add Versioned Builds and Deployments for Gutenberg CMS System
    • Test the Gutenberg editor on test sites. Make sure the editor and the website site works fine.
  3. KOD-13109: Remove Extra Lines on the Expected Ship Date Changed Notification Email
    • Trigger PromisedDateChange event. Change Order's Expected Ship Date so the event with the appropriate eventType is posted. We need to have 2 or more events with PromisedDateChange eventType posted and processed by the same iteration of FiveMinuteIntervalJob and to be subscribed to this SubscriptionList - "PromisedDateChange". When FiveMinuteIntervalJob runs it should send 2 or more "PromisedDateChange" emails so we can test that prepended message is not duplicated in the sent emails.
  4. KOD-13098: Multi-Site - Link Issue On "Sales Assignment Change" Emails
    • Setup:
      • 1. Turn ON multiTenantMode in global Setting.
      • 2. In the Host that is connected to the desired Quote link in email, add new setting with code ''customerURL" with host URL in the mediumValue.
      • 3. Make sure that Company you're going to use for testing is connected to this Host (its field 'hostCode' should be the same field 'code' for Host from previous step).
    • Testing:
      • 1. Create a Quote under the Company you have set up previously.
      • 2. Add the new Assignee to this Quote.
      • 3. Wait for a while and then check Assignee email box. They should get e new email notification about the list of Assigned Sales Representatives. Check the link under the Quote number. It should contain the URL of Company related Host.
  5. KOD-13061: MFA Turn on Endpoint Returns No Response on Successful Setup
    • POST /api/system/employee/mfa/turnOn
    • You should see default 200 status response
    • DELETE /api/system/employee/mfa/turnOff
    • You should see default 200 status response
    • /api/system/employee/myAccount
    • mfaTurnedOn field from response should have correct value
    • Regressions:
      • Please also try next endpoints. Expected result is 200.
      • GET /api/system/employee/{administratorID}
      • POST /api/system/employee/subscriptions
      • DELETE /api/system/employee/subscriptions
      • GET /api/system/employee/subscriptions
  6. KOD-12306: Record Payment Attempts in Cenpos Provider
    • It is CRITICAL to do a live test to ensure a card transaction goes through and we can see data in the portal. Please test for regressions.
    • Test for payment create and token generate. Request files in comments.
    • Response files are not present yet, as impossible to get response without credentials.
  7. KOD-13321: UX to Support Credit Card Payment Option on Guest Checkout
    • Case 1:
      • Make sure enableGuestCheckoutWithCard is 1.
      • Go to the storefront as a guest.
      • Proceed to Cart payments screen.
      • Make sure there are 2 payment options:
        • Pay with card
        • Submit a request.
    • Case 2:
      • Make sure enableGuestCheckoutWithCard is 0.
      • Go to the storefront as a guest.
      • Proceed to Cart payments screen.
      • Make sure there is 1 payment option: Submit a request.
  8. KOD-13360: Add Logging for PDF Testing
    • For FE team(not sure we have UX for this): POST /api/system/file/htmlToBase64Pdf and check if any thrown exception(error) is logged and visible in /operations/logs, so FE team can recognize any errors when generating pdf from passed HTML.
  9. KOD-13402: Add Status to Content Page Grids and Detail Screen
  10. KOD-13421: Quiet Error Log Down
  11. KOD-13431: Add Allowed Groups and Company Catalogs to User Session
    • Method returns List of CompanyProductCategories fields: code, name, and groupCode(if it’s a category where the company is assigned to a group rather than directly).
    • Example of returned data:
    • [
      "code": "string2",
      "name": "string2"
      "code": "string5",
      "name": "string5",
      "groupCode": "group_en"
      "code": "string14",
      "name": "string14",
      "groupCode": "group_de"
  12. KOD-13463: Exception in Robots.txt
    • Check /api/user/robots.txt endpoint
    • Should not get exception.
    • If you use swagger:
    • Please use /api/user/robots.txt to generate Robots.txt file
    • You will be able to download generated file from response
    • If you do not have download button it means the file is empty.
    • To fill the file use:
    • POST /api/system/script/api/{scriptName}
    • Request body:
    • {
      "source": "Put any text here "
    • Params:
    • scriptName: robots.ejs
    • Changes not going to cause any regressions
  13. KOD-13460: Multi Price Engine Optimization for OrderItems
    • It's not possible to test manually since it's just code refactoring without changing any logic. Dev test has been done locally in debug mode.
    • Regression:
      • In portal go to any Company and create an Order.
      • Add order item to this Order
      • Whole flow has to work as usual without any disruption
  14. KOD-13483: Custom Filter out of Order in Measurement Attributes
  15. KOD-13486: Additional ERPLogic Integrator Criteria
    • Setup
      • 1. Turn ON global Setting 'useExpandedErpLogicSelection'
      • 2. Global Setting 'erpLogicEngine' has to be empty.
      • 3. Find a Company for testing (it's better with active Payments but not mandatory) and make sure its CompanySetting has record with code 'statementty' with mediumValue "o".
      • 4. Make sure Company 'email1' is populated.
      • 3. Also make sure that Company 'hostCode' is populated too.
      • 4. To related to Company Host in its HostSetting add new record with code 'erpLogicEngine' and mediumValue 'InforCSD'
      • 5. Make a call to endpoint GET /api/system/payment/sendAccountsReceivableStatement with company code of test Company
      • 5. Check email specified in step 4, if you get notification about active payment it means that ErpLogicEngine was chosen correctly.
    • Regression tests that were done with 'useExpandedErpLogicSelection' is OFF:
      • 1. GET /api/system/payment/sendAccountsReceivableStatement
      • 2. POST /api/system/paymentProcessing/calculateTotalsForInvoices
  16. KOD-13487: M3 Map Inserting Order Into M3
  17. KOD-13488: Multi ERP Line Item Handling - Add externalProductCode field to sscLineItem
    • Until UX part is finished we can test this only on API level.
      • 1. Make a call to the following endpoint POST /api/system/order/{orderID}/items for Order that contains any number of OrderItem.
      • 2. Check if in response path data->content->(any item) contains field "externalProductCode"
  18. KOD-13522: Mobile - Payment Method Text Misalignment and Overlaps on Customer Portal
  19. KOD-13523: Mobile - Open Invoices Text Misalignment and Overlaps on Customer Portal
  20. KOD-13525: Short Pay - Clear AmountToPay on Invoices after Successful Payment
    • 1. Create invoices.
    • 2. Update with amountToPay (Patch /api/account/payment/{paymentID})
    • 3, Make payments:
      • /api/account/paymentProcessing/search/pay/orders
      • /api/account/paymentProcessing/pay/orders
    • 4. make sure that amountToPay is empty
  21. KOD-13543: Pages Displayed in the Page Tree but not in the Pages Screen
    • Go to content page data tab => click the button: "Add Page" => select Gutenberg variant => create simple page => Check if this page exist in page data list tab.
    • Moved back to Gutenberg editor on current page which was created previously => click the button create draft(create draft from previous page) => check if this draft page exists in draft page list tab and not in page list tab (list of content pages which are activated).
    • Check if content page from first step shows (code, name) in this tree and then check if draft page doesn't show.
  22. KOD-13544: Page Tree - Code Doesn't Wrap in the Column if Using Underscores
  23. KOD-13569: Lost Lines Being Included in Invoices
  24. KOD-13582: Require End Date on Account Pricing Creation
    • Case 1:
    • 1. Quotes => Quote Details
    • 2. Press Set up Account Pricing button in the top bar
      • 2.1 enable endDateRequiredOnAccountPricingCreation setting and do not fill 'End Date' field. Check if you are not able to create account pricing as End Date is required.
      • 2.2 enable endDateRequiredOnAccountPricingCreation setting and fill in 'End Date' field. Check if you are able to create account pricing now.
      • 2.3 disable endDateRequiredOnAccountPricingCreation (set to false) and check if 'End Date' is not required.
    • 3. Make sure that:
      • 3.1 the pricing was set up - respective records will appear in Pricing table.
      • 3.2 Quote customerStatus was set to "Do Not Display".