Release Notes – v9.3.x

About the Release Notes

For new major enhancements the release notes provide:

  • A brief, high-level description of the functionality

  • Implementation tips to help you get started with setup and administration

  • Best practices to help you maximize the benefit

  • Complete end-to-end instructions (where available)

Smaller changes to existing features are also described so that you can plan for the new release. Unlike a traditional release notes document that includes only a simple list of enhancements these release notes give you everything you need to get up and running with the new features and enhancements in the latest release. If you have any questions please don’t hesitate to contact your LogiSense support representative.

LogiSense Support  

email: support@logisense.com

phone (Canada): 1-519-249-0508

phone (USA): 1-917-410-3584

9.3.0 Release Notes

Change Highlights

  • Billing and General Performance Improvements

    • Improved performance loading account balance data

    • Disabled pre-loading of list data on the Transactions page to reduce page load time. Filters will now be used to present the relevant data

    • Caching enhancements to improve bill run performance

    • User-package billing performance enhancements

    • Usage billing performance enhancements

    • Improved automatic disbursement performance

    • Database optimizations to reduce the load time of statement details and credit data

    • Database optimizations to improve read performance

    • Database optimizations to ensure consistent read performance with tables that have more than one million records

    • Added the ability to configure EngageIP to bill accounts and packages in parallel. Please contact LogiSense support if you wish to configure parallel billing

  • Rating Performance Improvements:

    • Logic changes to improve rating performance and reduce memory consumption

    • Modified re-rating logic to re-rate by userid instead of parentid in specific re-rating scenarios. This avoids re-rating accounts under a parent account which do not require re-rating

    • Reworked re-rating behavior which reduces the number of UDRs that need to be processed (see modified re-rating process notes below for details on re-rating changes)

  • Modified re-rating process to operate using an event based model:

    • A new table ReratingEvent has been created which tracks details for re-rates (what triggered the re-rate, the processing state of the re-rating event)

    • A new table ReratingProcessSummary has been created that is populated when re-rating is executed and is cleared when re-rating is completed. This table data is represented in the AdminPortal UI in the new owner report named 'Rerating Process Summary'

    • While re-rating is occurring the new Rerating Process Summary report indicates which parent accounts are set to re-rate and the number of UDRs that will be re-rated

    • The 'Rerate' field has been removed from the UDRbiller table (no longer used)

    • Added a new field to the UDRBiller table called 'UDRCount'. This value is automatically incremented by the rating engine and indicates the number of records attached to a UDRBiller

  • Effective Date Changes:

    • Added the ability to update the effective date of user-packages and optional user-services to a past or future date. For more information on changing effective dates see the managing user-packages article
      Note: an effective date cannot modified once the related package/optional service has been billed

  • Hold Transactions Feature: prevents transactions from being added to invoices until the transactions are billed during a bill run

    • Held transactions are billed/attached to invoices using the new bill run setting 'Attach Held Transactions'

    • Held transactions will only be attached and billed if they fall into the bill run's date range

    • When the hold transactions feature is enabled in EngageIP the Tools / Bill Account option will be removed

    • When enabled reports that show statement details will not show transactions which have not been attached to invoices

    • A new report has been added called 'Held Transactions' which will show unattached transactions

    • Credits can also be held and will remain in a held state until manually set to be attached. Credits flagged to be attached can be added to an invoice during a bill run just like transactions and afterwards can be disbursed normally

Enhancements and Fixes

  • Modified system behavior so that changing an account's bill day will automatically update the account's usage next bill date and align usage and buckets to their proper usage billing period

  • Modified the usage billing frequency component to permit the usage next bill date to be set to a past date

  • Added support for account-contracts on sub-accounts

  • Fixed an issue where account contract remainder and penalty fees would apply when canceling an expired contract

  • Removed 'Minute' and 'Hour' from the package-contract term configuration options. Contract lengths shorter than a day are not supported

  • Added Delete buttons on UDR lists on the Rating page to allow deletion of usage records that were added in error or related to fraudulent usage. UDRs that have been billed cannot be deleted. Deletion of unbilled UDRs will automatically trigger re-rating

  • Modified passwords to be SHA-2 hashed. Existing EngageIP passwords will be hashed on upgrade to EngageIP 9.3.0. This hash is one way, it will no longer be possible to decrypt passwords in EngageIP

  • Password resets performed on AdminPortal accounts will now display a temporary password in the UI which can then be shared with the user

  • Fixed an issue with the forced password change logic when it was launched via a hyperlink redirect

  • Added an 'Exclude Range' option when filtering list column values. The results returned when this option is set are inverted, showing only the values outside of the min and max range specified

  • Modified billing logic so that optional services with start dates greater than the billing period end date would not be billed

  • Modified logic so that the Change User Package Status component can activate packages that have an effective date in the future

  • Modified the time value of user-package effective dates to be set to midnight when the package status is changed from a Prospect status to an Enabled status. This matches how time is set for optional service effective dates and avoids potential date validation issues

  • Added an 'Apply on Bulk Save' option when editing user-packages and optional services. This setting will only appear when a bulk save can be performed and it will determine if user-package/optional user-service effective dates are updated when executing a bulk save. Disabling this setting when performing a bulk save will permit the update to proceed in situations where effective dates cannot be changed (e.g. when attempting to bulk save user-packages that have already been billed)

  • Removed Usage Billing Frequency Type 'OnDate' configuration option. EngageIP systems which are configured with this option will continue to display it when upgraded

  • Modified behavior when transferring an account to another owner to migrate user-package rate plans, user-package extended attributes and user extended attributes. The plan and attribute names and case must match exactly in both owner configurations for these user settings to be migrated

  • Modified package status change logic to permit a user-package in a status type of canceled to switch to another canceled status type. Previously user-packages in a canceled status type could not be changed to any other status

  • Added the ability to modify owner names on the Owners page under the Setup menu

  • Modified the list of owners on the Setup / Owners page to display 'Account Name' and 'Owner Name' instead of 'Owner Parent' and 'Owner Parent Name'

  • Modified service configuration to allow a service's base time unit to be changed to 'Once', provided all of the packages the service is connected to contain other services with a base time value greater than 'Once'

  • Modified invoice logic to disallow re-opening of a closed invoice if an open invoice already exists on the account

  • Fixed an issue where bill groups set up to close invoices 'After Each Bill Run' would not result in invoice closure when the bill run was configured to bill usage but not to bill packages

  • Fixed an issue where invoices would not close for unbranded owners during a bill run if the bill group was set to close the invoice post user billing and the owner billing configuration was set to bill accounts using invoicer taxes

  • Fixed an issue where only a single list filter could be added to the bill groups list on the bill groups setup page

  • Modified Contact Point Type configuration so that if 'Required' is enabled 'Show To Add Account' must also be enabled

  • Fixed an issue where attempting to perform a bulk save operation on a list of payments would fail and return an error

  • Modified transaction refunds so that the application of a credit does not contact the credit card processor gateway when the account's default payment method is a credit card

  • Payments processed through Litle & Co. will now indicate if they were merchant-initiated or customer-initiated

  • Fixed an issue with profile question configuration where the working icon would be displayed for an extended period of time when editing autocomplete fields

  • Fixed an issue with list views where a filter value entered into a profile question field was not saved when saving the list view

  • Fixed an issue where it was possible to save invoice discounts without specifying conditions

  • Removed the display of balance details on accounts which are not configured to be invoiced

  • Fixed an issue where a newly added sub-account could not select its parent account as its invoicer if the parent account was configured to use another account as its invoicer

  • Fixed an issue where modifying invoicers on a parent account could lead to incorrect invoicer options being presented on sub-accounts under the parent

  • Fixed an issue where changing the invoicer of a parent account resulted in the 'Main Account' field disappearing on the Overview page of the sub-accounts under the parent

  • Fixed an issue where updating an account's invoicer and usage invoicer at the same time did not update the start and end dates for usage and buckets on the account

  • Modified the UDR Rate Group configuration so that the 'UDR Feed' condition now displays all of the feeds that are set up in the system

  • Modified UDR exceptions to be displayed if the exceptions relate to the current owner or owners below the current owner. Previously exceptions for lower level owners would not have been displayed

  • Modified UDR 'Raw Fields' text box to a text area field to better display the raw field data when viewing a UDR exception

  • Modified bucket update logic to ensure a proper exception is generated when invalid data is provided for the bucket start or end date

  • Fixed an issue where a usage identifier (UUIH) would not be created if a user-package with no services had an optional service added to it at a later date

  • Fixed an issue where the threshold set on a price plan was not evaluated when adding a new usage identifier (UUIH) to a user-package. This could result in the UDR rate plan configured in a price plan being ignored when it was the proper rate plan to use

  • Fixed an issue where some parent buckets would not be created if the usage period PeriodStart was too far into the future

  • Modified bucket re-prioritization to occur when re-rating is triggered instead of prior to re-rating when a bucket is added to a user-service. Note: this means that the rating service needs to be running for bucket re-prioritization to occur

  • Modified UUIH logic to ensure duplicate identifiers cannot be created and invalid UUIH start/end dates cannot be set

  • Modified UUIH logic to ensure transferring an identifier to another user sets the proper UUIH end date

  • Added validation to prevent an error when adding a credit and entering more than 255 characters in the Detail field

  • Fixed an issue where disbursing a credit would result in an error if the invoice disbursed to contained an alphabetic invoice number prefix

  • Fixed an issue where emailing an invoice from the Invoices page would result in an incorrect invoice date being set

  • Fixed an issue where credits would not auto-disburse when closing an invoice if taxation was also set to occur on invoice close

  • Fixed an issue where auto-disbursement would occur on user-package cancelation when the EngageIP Option 'Auto Disburse Credits' was set to false

  • Fixed an invoice close error in AvaTax integrated environments which occurred when attempting to apply invoice level taxing using a service tax category which contained multiple tax types

  • Fixed an issue where a sub-account could be promoted to an owner account when executing an xml import. Changing a sub-account to an owner account is not supported

  • Added the ability to delete and cancel the Additional Billing Item user-package component

  • Fixed an issue where voiding an invoice would result in an error if the invoice contained an9.3.0 additional billing item charge and the additional billing item component was configured with a base time unit of 'Once'

  • Modified billing logic so that voiding an invoice that contains an additional billing item charge will reset the next bill date on the additional billing item component

  • Fixed an issue where billing would fail and log an exception when billing post paid optional services which had bill dates that did not align with their respective package's next bill date

  • Fixed an issue where voiding an invoice would cause an incorrect next bill date to be set on post paid user-packages

  • Modified the Jobs report to display all jobs under the current owner's hierarchy as well as system jobs that are not configured with an OwnerID

  • Fixed an issue where the exported version of the Invoices report had column names which did not match the report in the AdminPortal UI

  • Removed the 'General Ledger' column from the Billsoft Taxes Payable Report

  • Added an 'Effective Date' column to the Account Services report

  • Fixed an issue where filtered search results exported to csv did not observe the filter and exported all search results

  • Fixed an issue where pagination links could be covered by horizontal scroll bars in certain browser resolutions

  • Improved spacing between list items and positioning of buttons

  • Added the ability to attach multiple files to a ticket at once

  • Added a Ticket Types section when editing Ticket Groups on the Setup page. Ticket types can now be mapped to particular groups so that the types appear on tickets only when the appropriate group is selected on the ticket

  • Modified ticket behavior so that when ticket auto-complete functionality is executed the ticket cannot default to an unsupported ticket status

  • Modified tickets so that the Ticket Type field is read-only when editing a ticket in environments that have ticket transitions configured

  • Standardized event log entries to ensure log entries note the EngageIP module related to the event logged

  • Revised re-rating logging to be more descriptive and to indicate count/total per account so that re-rating progress is apparent

  • Fixed an issue where contract renewal activity was written to the event log even though no contract renewal occurred

  • Fixed an issue where resources were still attached to optional services after the optional service was canceled and the resource was listed as available

  • Fixed an issue where an equipment deletion error would occur when attempting to delete an optional service with an equipment component, but no actual equipment associated with the component

  • Added additional logging for fraud service activities. Logging will now occur if a usage file is created, moved or if a directory is created

  • Modified SQL maintenance jobs to write a failure to the Windows application log if a job execution failure occurs

  • Fixed an issue with the email retry job HourlyEmailQueueRetryProcessing where a single resend failure would result in no other retry attempts for other emails which failed to send

Developer Notes

  • Added the IHookOrder interface so that the order that system hooks execute in can be controlled when utilizing hooks in custom code

  • Added Created Date and Last Modified Date to the Setup / Custom Code list

  • Added a custom PasswordUpdateAction event that can be used in custom code to notify a user that a password change has occurred

API Changes

  • New Methods

    • CancelUserPackageAttributeAdditionalBillingItem: Cancels an Additional Billing Item on a user package using supplied userPackageAttributeAdditionalBillingItemId, if the additional billing item exists, otherwise returns an exception

    • UpdateUserPackage: Updates user-package properties: BulkQuantity and UserPackageExtended attributes

  • API Enhancements

    • Improved performance with the AddPackageToUserWithBillNow, CreateUser, CancelUserPackage and CancelAccount methods

    • Modified method UpdateUserRoleName to use ActingOwner when searching for the role to avoid issues when the same role name exists under multiple owners

    • Modified API method MakePaymentOneTimeCreditCard so that zero dollar transactions will not be added if no service name is supplied

    • Modified the error message when adding a package to an account via API to clearly indicate that the add failed because the account is in a canceled state

    • Reduced the number of database queries when executing GetUserExt, GetTicketExt and GetUserPackageExt

    • Modified GetUserExt to return no value if the supplied user was created before any user extended attributes were created

    • Modified GetUserPackageExt to return no value if the supplied user-package was created before any user package extended attributes were created
      Modified GetTicketExt to return no value if the supplied user was created before any ticket extended attributes were created

    • Fixed an issue with the UpgradeUserPackage method where the upgraded package's created date was set to the effective date supplied and not the date that the upgrade occurred on

    • Improved performance of the AddPayment, AddUserPaymentMethodCreditCardToken and MakePaymentWithDetailResponse methods and improved error responses when invalid data is supplied

Permission Updates

  • New Role Permissions

    • HeldTransactionReport (List)

    • ReratingProcessSummaryReport (List)

    • TaxesPayableForHeldTransactionReport (List)

    • UDR (Delete)

9.3.1 Release Notes

  • Implemented security and error handling enhancements

  • Implemented Database optimizations to improve read performance

  • Reduced number of database calls during user cancelation to improve performance

  • Modified cancelation logic so that credit disbursement will only occur once during account cancelation

  • Improved bill run performance by reducing the number of times price plan discounts are evaluated and applied

  • Fixed an issue where the incorrect default contact type was loaded for the user’s role when viewing accounts

  • Fixed an issue where canceling an account could trigger a proration of usage charges on the account’s parent account

  • Modified the package upgrade logic to use the Default quantity configured on optional user-services in the upgrade package to determine how many optional user-services to add to the upgrade user-package. Previously the number of user-services in the source package was observed when determining how many optional user-services to create in the upgrade user-package

  • Fixed an issue where adding a bucket to an account with multiple open usage periods could cause a bucket to span multiple usage periods

  • Fixed an issue where differing service tax types or service tax codes on accounts could cause usage charges to be applied to subsequent usage periods instead of the current usage period

  • Fixed an issue where rating usage on a canceled account would open up a new billing period, resulting in usage being billed out in a post cancelation billing cycle

  • Fixed an issue where a bucket’s period end date was extended to the end of the next usage period when a user-package effective date was set to a date within an already billed period

  • Fixed an issue where canceling an account or user-package with the option "Immediately with prorated transaction as of a specific date" would result in UUIH entries being closed at the system’s current time instead of the time supplied by the user

  • Fixed an issue where usage buckets were not created for active user-packages when the account the packages resided on was switched from a canceled status to an active status

  • Fixed an issue where the bulk creation of buckets would fail in error when the bulk insert job (UBRBillerBulkInsert) encountered deleted buckets with bucket ID’s set to Null

  • Fixed an issue where a ‘not in site map’ error would occur in the AdminPortal when navigating to the UDR Exceptions page for users logged in as a branded owner

  • Expanded the list of accounts displayed when selecting an Invoicer up to the branded owner level

  • Addressed a usage billing issue which could result in an application/database deadlock when executing a multithreaded bill run

  • Added a new RerateUsageByUser method to permit rerating to be triggered via API

  • Fixed an issue with the GetUserExt, GetUserPackageExt and GetTicketExt methods where an exception would occur when the extended attribute contained a non-string datatype

  • Added methods to get, add, update and delete buckets on user-services: AddUserServiceAttributeUDRBucket, GetUserServiceAttributeUDRBucket, UpdateUserServiceAttributeUDRBucket and DeleteUserServiceAttributeUDRBucket

  • Added an optional ‘Currency’ parameter to all CreateUser and CreateChild APIs so that the account currency can be specified

  • Fixed an issue with EngageIP services which prevented services from crashing properly and triggering recovery options

  • Fixed a workflow issue related to the Event service which caused ‘record not found errors’ to occur

9.3.1-Patch.2 Release Notes

  • Fixed an issue where the creation of tax transactions in AvaTax cloud integrated environments would intermittently fail

  • Improved performance with CRUD operations involving buckets

  • Improved performance when creating sub-accounts

  • Reduced the number of database calls when loading price plan data on accounts

  • Fixed an issue which could cause services to lock up when performing a xml import

  • Fixed an issue where attempts to login would fail when certain queries were blocking access to the database

9.3.2 Release Notes

  • Added security enhancements

  • Improved invoice rendering performance when rendering invoices that contain tax details

  • Reduced the number of database calls when loading price plan data on accounts

  • Added the ability to configure an ACH/eCheck payment processor with Orbital Payment Gateway

  • Added logging and support for Merchant Initiated Transactions (MIT) with Orbital Payment Gateway

  • Added the ability to split taxes between the origination and termination address of a service in BillSoft on-prem integrated environments

  • Fixed an issue where an exception would occur when editing a bill group configured with a bill run due to the incorrect bill run ID being referenced

  • Fixed an AdminPortal issue which would result in an invalid 'An error has occurred with your session' message when the system was busy executing a long running task

  • Fixed an issue where the configuration of the new 'Exclude Range' list filter option was not saved when creating a saved view

  • Fixed an issue where a modifying a rate plan on a package could result in a 'un-representable DateTime' error in some scenarios

  • Fixed an issue where profile questions displayed on a pop-over were not scrollable

  • Fixed and issue where a rating service crash or restart during re-rating would not remove records in the ReratingProcessSummary table, resulting in duplicate entries for usage invoicers which had not finished rerating prior to the rating service crash/restart

  • Modified Ticket Transitions logic so that the Ticket Group drop down is filtered by OwnerId instead of LoggedInUsersOwnerId

  • Fixed an issue with Ticket Transitions where having more than one Ticket Group on an owner would present no options in Ticket Group drop down lists

  • Modified the API method GetFilteredCustomReport so that a new filter with an 'IN' clause can be passed

  • Added two new API methods: UpdateOptionalUserServiceEffectiveDate and UpdateUserPackageEffectiveDate, which allow effective dates to be updated on user-packages and user-services

  • Modified logic to preserve existing core indexes when performing database upgrades

9.3.1-Patch.3 Release Notes

  • Fixed an issue introduced in version 9.3.0 which caused price plans to be evaluated twice during billing

  • Fixed an issue where two invoices were created when billing usage in environments configured to hold transactions

  • Fixed an issue where canceling a parent account would result in a usage exception if a sub-account under the parent had the parent set as its usage invoicer and the sub account had unbilled usage

  • Added a new option named "MaximumStallDurationPeriod" to all service configuration files with a default value of '0'. If a service becomes unresponsive this value will determine how long a service can remain in that state before an exception is triggered and the service is stopped

9.3.2-Patch.1 Release Notes

Notice: if you are upgrading from EngageIP 9.3.1 the following steps are required to ensure that the database update succeeds:

  1. In SQL Management Studio locate the UDRBiller table and expand the Indexes

  2. If the Index 'IX_UDRBiller_UserID_PeriodStart_Inc' exists delete it

  3. Upgrade EngageIP

Notice: the registry key 'HKEY_LOCAL_MACHINE\SOFTWARE\EngageIP\Database\' needs to be added to the database server when upgrading from EngageIP version 9.3.0 or later if the EngageIP database is on a separate server from the web and application hosts. Database maintenance scripts will not execute if the above registry key is missing from the registry

  • Improved performance when creating sub-accounts

  • Improved performance when creating buckets in bulk

  • Reduced the number of database calls when loading price plan data on accounts

  • Fixed an issue introduced in version 9.3.0 which caused price plans to be evaluated twice during billing

  • Fixed an issue where attempts to login would fail when certain queries were blocking access to the database

  • Fixed an issue which could cause services to lock up when performing a xml import

  • Fixed an issue where canceling a parent account would result in a usage exception if a sub-account under the parent had the parent set as its usage invoicer and the sub-account had unbilled usage
    Fixed an issue where two invoices were created when billing usage in environments configured to hold transactions

  • Fixed an issue where the creation of tax transactions in AvaTax cloud integrated environments would intermittently fail

  • Modified job service logic to process all queued jobs in the jobs table during the polling period instead of running a single synchronous job or multiple asynchronous jobs equal to the number of available threads. This improves job processing performance as previously some queued jobs would need to wait for subsequent polling periods to be executed

  • Added a new option named "MaximumStallDurationPeriod" to all service configuration files with a default value of '0'. If a service becomes unresponsive this value will determine how long a service can remain in that state before an exception is triggered and the service is stopped

9.3.3 Release Notes

  • Logging and error handling improvements

  • Extended nSoftware integration to support credit card token payments through Orbital Payment Gateway

  • Improved performance when creating buckets in bulk

  • Fixed an issue where buckets were not created for future periods after user-packages were set to be canceled

  • Modified duplicate record detection process to improve rating performance when duplicate records are found during rating

  • Modified rating behavior to clear out caches and rating processes when rating is finished to improve performance

  • Modified the rate plan cloning feature to include the amount precision value when cloning a udr rate plan

  • Fixed an issue where canceling a parent account would result in a usage exception if a sub-account under the parent had the parent set as its usage invoicer and the sub account had unbilled usage

  • Fixed an issue with rerating in the AdminPortal which resulted in some udrs failing to be picked up for rerating when the list of udrs was filtered against a UDR custom field

  • Modified job service logic to process all queued jobs in the jobs table during the polling period instead of running a single synchronous job or multiple asynchronous jobs equal to the number of available threads. This improves job processing performance as previously some queued jobs would need to wait for subsequent polling periods to be executed

  • Modified UDRBillerBulkInsert job to perform bulk inserts in batches to ensure other biller/bucket creation activities can execute without being blocked. The default value of the new parameter 'BulkUsersPerTransaction' is 1000 but can be adjusted

  • Fixed an issue introduced in version 9.3.0 which caused price plans to be evaluated twice during billing

  • Removed pagination results on the Event Log report in order to improve load time

  • Fixed an issue which caused the bill run duration value to be incorrect when viewing the Bill Run History report

  • Fixed an issue that could result in inaccurate UDRClass amounts being displayed on reports that use UDRBillerUDRClassSummary records

  • Modified webhooks so that the 'Domain Model Logging' setting no longer needs to be enabled in order to to create webhook activities

  • Added a new webhook setting called 'Webhook Activity Retention Period' to the Configuration page. This setting allows webhook activity to be stored for set number of days (default 90), in order to keep the size of the activity table manageable

  • Modified drop down lists that display webhook entities to show entities in alphabetical order

  • Fixed an issue which resulted in some webhook activities being suppressed

  • Improved webhook error handling when misconfigured entities are encountered

  • Fixed an issue where two invoices were created when billing usage in environments configured to hold transactions

  • Modified logic for held transactions so that all held transactions and credits are picked up by the bill run provided the held transaction period start date is equal to or less than the bill run end date

  • Modified custom code caching and cache reset behavior to reduce unneeded cache reloads

  • Added a new option to import optional user-services using the generic or default XML import. See the Data Migration – Customer Data Import article for details

  • Added the ability to disburse a credit to a particular invoice when importing credits using XML Import

  • Fixed an issue where the creation of tax transactions in AvaTax cloud integrated environments would intermittently fail

  • Modified the EngageIP installer so that registry entries containing maintenance script parameters are no longer created. Default values specified by the installer will now be used to set script parameters. Registry settings will no longer be referenced by maintenance scripts

  • Added a new web.config setting called 'AbsoluteSessionTimeout' which controls the length of time in minutes that a user can be logged into the AdminPortal. When this value is reached the session will time out and the user will be redirected to the AdminPortal login page

  • Added a new option named “MaximumStallDurationPeriod” to all service configuration files with a default value of ‘0’. If a service becomes unresponsive this value will determine how long a service can remain in that state before an exception is triggered and the service is stopped

  • Added new API method: UpdateAllOptionalUserServicesEffectiveDateByUserPackage

  • Added new API method: UpdateAllOptionalUserServicesAndUserPackageEffectiveDateByUserPackage

9.3.3-Patch.1 Release Notes

  • Added support to run EngageIP on MS SQL Server 2017, MS SQL Server 2019 and Windows Server 2019

  • Added the ability to run multiple instances of EngageIP Windows Services on one or more servers. Service names can be defined in the service.config files per each system where EngageIP is installed (e.g. RatingService1, RatingService2, etc.). For more information on this configuration please contact LogiSense support

  • Improved performance creating UDR buckets and billers

  • Fixed an issue where the job service could become unresponsive and halt job processing when a synchronous job initialized through custom code went into exception

  • Fixed an EngageIP Services issue which prevented services from crashing properly and triggering recovery options

  • Fixed an issue where a 'MaximumStallDurationPeriod' value of zero configured in a service.config file would result in the EngageIP Service stopping immediately when a stall occurred. When MaximumStallDurationPeriod is set to zero the service is permitted to stall indefinitely

  • Fixed an issue where the UDRBillerBulkInsert job would stall when a user invoicer account was missing the Usage Billing Frequency component

  • Updated UUIH logic to resolve an issue where sometimes UUIH records were not created in scenarios where multiple events were processed in the same millisecond for the same user and the UUIH throttle time was set to zero milliseconds

  • Fixed an issue which could cause pre authorizations to generate false validation exceptions

  • Modified payment processing logging for Orbital integrations to log customer and merchant initiated transactions. Credit card/credit card token processing triggered by a Bill Run will be logged as merchant initiated (MREC). Credit card/credit card token processing executed by other methods (in the AdminPortal, via API or any other external method) will be logged as customer initiated (CUSE)

  • Modified payment processing logic to track CSTO and CREC credit card and credit card token events in Orbital integrated environments

  • Updated core logic so that Workflow Engine Events are stamped with a creation date

9.3.3-Patch.1-Hotfix.1

  • Fixed an issue with a rating query which caused excessive resource utilization

  • Improved handling of duplicate records during rating

  • Logging improvements to reduce noise

9.3.3 Patch.2 Release Notes

  • Maintenance job schedule updates

  • Update to the job service to allow it to recover more quickly when service interruptions occur due to a job being partially executed

  • Configuration page updates so that the service status shows where services exist on the webserver or separate app servers

  • Updated core pay user logic to except an optional UserPaymentMethodID. When the ID is set the logic will use that payment method vs. the user's default payment method

  • Adding Chase Hosted Payment Form (HPF) functionality into the EngageIP AdminPortal

    • One time credit card token payment can be collected through Chase HPF

    • New credit card token payment method can be added using Chase HPF

  • Modified credit card refund logic, so that when a credit card payment is refunded, if the given user's default payment method is 'credit card token' and it is tied to Gateway: Orbital and that Payment is collected through Credit Card Gateway: Orbital, the Refund will then be sent to credit card token instead of credit card processor

  • Fixed + symbol issue when an account holder (Card holder) contains a middle name for credit card payment methods

API Changes:

  • Expanded the MakePaymentInfo object to include an optional ID for specifying a UserPaymentMethodID to used. This allows for the existing api MakePaymentWithDetailResponse to be called with a specific payment method

  • Modified Core side logic of the API Method: RefundPayment, so that when Credit Card Payment is refunded, if the given user's Default Payment Method is Credit Card Token and it is tied to Gateway: Orbital and that Payment is collected through Credit Card Gateway: Orbital then Refund will be sent to Credit Card Token instead of Credit Card Processor

9.3.4 Release Notes

Enhancements and Fixes

  • Added support for up to six digits of decimal precision on tax amounts. Tax precision can be set on the Configuration page

  • Improved performance when cancelling user-packages

  • Reduced owner tree load time

  • Introduced logging improvements to make messaging more consistent, reduce noise and improve performance

  • Removed global alert logging in the AdminPortal. Logging for debugging or exceptions will now be written to the appropriate service log file

  • Added a new EngageIP option 'StoreEncryptedPassword' which defaults to false. When this option is set to true, creating or editing users in the system will result in an encrypted password being stored. This allows user passwords to be decrypted in the event custom code solutions need to utilize a stored password

  • Improved performance propagating base fee changes to user-services when a service base fee is updated in the product catalog

  • Modified bulk save functionality when bulk saving user-packages so that user-package extended attributes are saved on all user-packages in the list

  • Fixed an issue where changes made to a credit would not be applied to all credits when performing a bulk save

  • Fixed an issue where a bulk save would still occur on some pages when the bulk save operation was cancelled

  • Fixed an issue with credit reversals where the date written to the tax log was the date of the original statement instead of the date of the reversal

  • Fixed an issue in AvaTax integrated environments where attempting to open an invoice in the AdminPortal would fail in error when an account had both an invoice discount and invoice level taxing configured

  • Fixed an issue with AvaTax invoice level taxing where tax exemption levels configured on a parent account were not observed by sub accounts under the parent

  • Improved performance creating UDR buckets and billers

  • Added a new 'Disable All Auto Rerate Events' option to the Do Not Rerate account component. This option disables rerating on an account and all other accounts that use the configured account as their usage invoicer. Manual rerating can still be performed on the Rating page or by API using the RerateUsageByUser method

  • Modified logic so that UDRBillers and UDRBuckets are not created when a user-package is added in prospect status

  • Modified user-package status change behavior so that switching from a prospect status to an active status will create UDRBuckets. Additionally, initial buckets will no longer be created when a user-package is in a canceled or prospect state

  • Modified logic to ensure UDRBiller date ranges are accurate when changing an account bill day to a day that falls into a previously billed period

  • Fixed an issue where a UDRBiller.PeriodStart date might not match a user-package effective date if a recently cancelled user-package contained services with the same TaxType

  • Fixed issues with setting the proper effective date on buckets and billers in relation to optional services and in other edge case scenarios

  • Improved handling of duplicate records during rating

  • Improved detail provided in UDR Exception messages to aid in troubleshooting

  • Improved performance loading UDRException reports

  • Added exception handling during rating to deal with invalid data in raw files within the source directory

  • Modified rating logic to ensure that records are persisted in the UDR table before a file is moved to the processed directory

  • Fixed an issue introduced in EngageIP 9.3.0 where a default custom view setup on the Transactions page would no longer load

  • Fixed an issue where the Rerating Process Summary report results were not displayed when the report was viewed by the root owner

  • Removed legacy Concurrent Call Report

  • Removed Alerts report

  • Modified the invoices page and lists related to invoices, credit notes and disbursements to display amounts using two decimal places only. The following reports have been updated to display amounts using two decimal places as well

    • Account reports:

      • Balance

      • Customer Balance

      • Statement Of Account

      • Statement Of Account Summary

    • Owner reports:

      • Aged Balance

      • Aged Invoice Balance

      • Aged Invoice Detail

      • Balance

      • Invoice Summary

      • Invoices

  • Modified aged balance report so that it does not include held transactions and held credits

  • Modified workflow engine to ensure proper logging and error handling in the event a workflow token is not found during workflow event processing

  • Modified the job service so that any jobs stopped due the job service being stopped will be started again when the job service is restarted

  • Added a new ECP error page which loads when a user enters invalid login credentials

  • Improved error messaging in ECP when attempts to make a payment are not successful

  • Modified webhook logic to store http status codes of webhook responses to aid in troubleshooting

Developer Notes

API Changes

  • New Methods

    • AddBillRun: Adds a new bill run based on the details provided in the input request

    • GetBillRunList: Gets a list of bill runs configured under the specified branded owner

    • GetOwnerList: Returns a list of owners under the specified parent owner

    • MakeUserAsOwner: Makes a user a branded or unbranded owner based on the details provided in the input request

    • UpdateBillRun: Updates an existing bill run for the specified BillRunID based on the values specified in the input request. The values which are not specified/sent in the request remain as is and do not change

  • API Enhancements

    • Improved performance executing the GetUserPackageServiceByUserPackageID method

    • Improved performance executing the GetUserPackageService method

    • Improved performance executing the UpdateUserStatus method

Permission Updates

  • Removed Role Permissions

    • Alert (List)

    • ConcurrentCallReport (List)

9.3.4 Patch.1 Release Notes

Enhancements and Fixes

  • Job service fixes: A core change was made to the job service to prevent duplicate exceptions when jobs run on scheduled intervals

  • Job service updates: Changed queued jobs processing logic to have synchronous jobs run independently from asynchronous jobs. This eliminates the issue of having a large number of queued synchronous jobs waiting until all of the asynchronous jobs were completed before they could be run

  • Job service updates: The job service was modified to restart jobs which were stopped due to the the job service being stopped. If a job was running and was scheduled to run every day, and the job service was stopped, the job would not resume until the next day. With the change the job will be run again (the same day) once the job service is started

  • Invoice Close logic update: Modified Invoice Close logic to round the Tax, Balance and Total on the Invoice Summary (table) to two decimal places. The invoice has tokens which may make use of these fields depending on the invoice template design

  • Custom report load view updates: Custom reports were updated to honor the LoadView (check box) that is set. If a custom report is set not to load initially, this can be overridden by a saved default list view if configured, otherwise the system will respect the LoadView checkbox

  • Invoicer validation / restrictions have been corrected related to scenarios where invoices exist

  • Improved performance applying price plans when a new optional service is added to a user-package connected to a price plan

API Changes

  • API Method update: Expanded the MakePaymentInfo object to include an optional ID for specifying a UserPaymentMethodID to used

9.3.4 Patch.1 Hotfix 1 Release Notes

  • A Saved List View change was made to adjust how the SavedView (filtered table) works. It now is applied per page where the filter was saved. This means that if you save a (default) view on a report it will not be applied on another page that uses the same record set (the same table)

  • Internal validation updated to allow for reversal of transactions on sub accounts when the owner is configured with the 'Bill Owner with Owner Taxes' setting

  • A job service change was made to fix an issue where the job service was started and did not process any jobs due to a race condition that occurred with threaded jobs

  • An invoice voiding issue has been resolved which caused the system to fail to void an invoice correctly based on the invoicer account's configuration

9.3.4-Patch.2 Release Notes

  • Improved page load times when displaying lists of user-packages for accounts that contain a large number of  user-package discounts and user package profile answers

  • Added a new Chase Hosted Payment Form to the EngageIP AdminPortal. This PCI compliant form supports one time credit card token payments and the ability to add new credit card token payment methods

  • Modified credit card refund logic to allow orbital credit card payments to be refunded using the orbital credit card token gateway, provided the account's default payment method is a credit card token type

  • Fixed an issue where systems configured for iFrame only payments would no longer be able to see ACH Processor configuration links on the Setup page

  • Fixed an issue where certain characters entered into the payment method account holder field would prevent the payment method from being used as the default method

  • Security enhancements

  • Modified package cancellation logic so that the option 'Immediately with No Transaction' is available regardless of other considerations (for instance, when the user-package to be canceled is set with a future cancelation date)

  • Modified invoice void logic to close any open invoice before the void action is executed

  • Fixed an issue where the invoice discount configuration page displayed amounts with more decimal places than were originally entered during discount configuration

  • Fixed an issue where changing an account's status could result in an exception in rare cases

  • Fixed an account contract issue which caused the invoice minimum amount to be charged when its value was set to zero

  • Fixed an account contract issue which could cause the invoice minimum amount to be billed again if the invoice minimum amount charge was deleted on an account

  • Enhancements to the UDRBillerBulkInsert nightly job to find and create missing UDRBillers and UDRBillerBuckets

  • Added a 'UDR Exception Retention Period' option to the Configuration page which allows old UDR Exceptions to be automatically deleted after the specified retention period

  • Modified the usage exception deletion feature so that rerating exceptions can be deleted along with the usage record related to the deleted exception

  • Fixed an issue where the sum amount of usage record values for each usage class did not match the UDRBillerUDRClassSummary amount until rerating was performed

  • Added an Export option to the View screen which allows a list export to be triggered without the need to apply filters

  • Fixed an issue where tax exemptions on usage charges were not applied to child accounts under certain branded owner configurations in AvaTax integrated environments

  • Added a 'User Taxing Level' option to the account / tools / invoicer page that allows taxing to be done at the invoice level or in real time. This option only applies when an invoicer account is under a branded owner which is set to perform invoice level taxing

  • Fixed an issue which could cause invalid object name exceptions when attempting to run custom reports

  • Fixed an issue where a job creation failure could cause the job to halt and cease processing jobs

  • Added a new optional parameter to the GetFilteredCustomerReport API called 'OrderBy' which allows report data to be sorted in ascending or descending order

9.3.4-Patch.2 Hotfix 1 Release Notes

  • Multiple fixes when rounding tax precisions > 2 decimals impacting balances

    • Reports affected include Aged Invoice, Aged Balance reports, User Balance, Statement of Account

    • List affected: Invoice list balance and totals

    • Payment process value adjusted to address > 2 decimal places so that account is paid in full as expected when processing cards.

  • Fix related to contracts where system was trying to add NULL date to invoice table

9.3.5 Release Notes

Notice:

For AvaTax integrated environments the setting 'Tax Exempt Level = ALL' is no longer supported by Avalara. The Tax Exemption component will need to be configured instead.

Enhancements and Fixes

  • Modified Saved Views to be applied only on the specific page where the view was saved. Default Views will no longer be applied to other pages that display the same table. Note: that as a result of this change existing views need to be saved again under a new name and the old view deleted

  • Improved page load times when displaying lists of user-packages for accounts that contain a large number of user-package discounts and user package profile answers

  • Added a new column to the Packages list on accounts to show the Effective Cancel Date of user-packages. This value will be empty unless the Cancel Date of a user-package is set

  • Modified restrictions for changing an account's invoicer so that the existence of an invoice does not stop the invoicer from being set. Changing the invoicer will be restricted if an invoice is open, an invoice has a balance, credits are open, or if payments or credits are in an undisbursed state

  • Fixed an issue where certain characters entered into the payment method account holder field would prevent the payment method from being used as the default method

  • Fixed an issue where a user-service with a base fee of $0 was displayed as prorated even though the effective date and account bill day values matched

  • Fixed a package proration issue where proration for a past period was prorating incorrectly due to selecting the month based on the user-package's effective day instead of using the number of days in the past period month

  • Fixed an issue where the account balance due was not updated after voiding an invoice, when the invoice had a due date greater than the current date

  • Fixed an issue where a one-time optional service would not be billed if the package that contained it had been previously billed and then the invoice charges were voided

  • Fixed an issue where changing an account's status could result in an exception in certain scenarios

  • Modified the AdminPortal to prevent double clicking from causing duplicate submissions when clicking the Save button

  • Added a 'User Taxing Level' option to the account / tools / invoicer page that allows taxing to be done at the invoice level or in real time. This option only applies when an invoicer account is under a branded owner which is set to perform invoice level taxing

  • Modified invoice void logic to close any open invoice before the void action is executed

  • Fixed an issue which caused logos to be missing from emailed or exported invoices

  • Fixed an issue introduced in 9.3.4-Patch.1 which prevented all charges from being reversed when voiding an invoice on a child account, when the child account existed under an unbranded owner set to Bill Owner Using Owner Taxes

  • Fixed an issue where the invoice discount configuration page displayed amounts with greater precision than was originally set during discount configuration

  • Set the 'Service' drop down field to be a required value when adding a Transaction, Credit, Transaction Tax Adjustment or Credit Tax Adjustment. This requirement prevents statement details from being created with null Service ID's, which in turn would cause invoice closure to fail during billing

  • Updated logic for reversing credits so that both the original and reversal are marked as disbursed

  • Fixed an issue where an error could occur when reversing transactions on a child account under an owner setup to Bill Owner with Owner Taxes

  • Fixed an issue which could cause invoice dates to be set to a null value, resulting in an error when attempting to cancel an account with an active account contract

  • Fixed an issue where contract penalty and charge remainder fees were not applied when a postpaid package was cancelled

  • Fixed an account contract issue which caused the invoice minimum amount to be charged when its value was set to zero

  • Fixed an account contract issue which could cause the invoice minimum amount to be billed again if the invoice minimum amount charge was deleted on an account

  • Modified package cancellation logic so that the option 'Immediately with No Transaction' is available regardless of other considerations (for instance, when the user-package to be canceled is set with a future cancelation date)

  • Added a new field to the Bill Run page called 'Bill Day'. When populated this setting allows you to limit billing to only the accounts which have a bill day matching the Bill Run Bill Day value entered

  • Modified Bill Run logic so that any transactions created as a result of billing will not be added as held transactions

  • Fixed an issue where held transactions were generating invoices when user-package cancelation was triggered

  • Fixed an issue where attaching manually held credits to an invoice would fail under certain owner configurations

  • Added support to list view filters to allow underscores to be entered when filtering text fields

  • Modified the email pop-up window on list views to allow you to select an email template from a dropdown list and provide the ability to override the email subject and body values

  • Security enhancements

  • Fixed a rounding issue that could cause an account's balance and the account balance displayed in reports to be off by 1 cent in scenarios where tax precision was set to 4 decimal places

  • Fixed a rounding issue where voiding an invoice could result in a balance 1 cent higher than the account balance in scenarios where tax precision was set to 4 decimal places

  • Modified the Sales report so that it doesn't contain held transactions

  • Modified the Taxes Payable report so that it doesn't contain held transactions

  • Fixed an issue which could cause invalid object name exceptions when attempting to run custom reports

  • Modified the Configuration page to indicate the proper service status when the service is running on a different app server

  • Added a 'UDR Exception Retention Period' option to the Configuration page which allows old UDR Exceptions to be automatically deleted after the specified retention period

  • Improved performance rendering invoices when user/user-service profile question data exists on accounts being invoiced

  • Improved performance when looking up user-service profile question values

  • Improved performance applying price plans when a new optional service that is connected to a price plan is added to a user-package

  • Modified the UDRBillerBulkInsert job to find and delete duplicate UDRBillerBuckets

  • Enhancements to the UDRBillerBulkInsert nightly job to find and create missing UDRBillers and UDRBillerBuckets

  • Modified rating logic to ensure UUIH user/parent ID's always map to the appropriate user-usageinvoicer user ID's when creating future UDRBillers

  • Fixed a caching issue that could cause rates to be applied based stale owner information when rating accounts under an owner which did not match the UDR feed owner

  • Removed the ability to trigger Archive and Export actions from the Rating page in the AdminPortal

  • Rerating performance enhancements

  • Modified the rerating process to run vendor tax cancelation as a job when rerating or executing a transaction reversal. This speeds up both rerating and transaction reversals in the AdminPortal

  • Fixed an issue where the sum amount of usage record values for each usage class did not match the UDRBillerUDRClassSummary amount until rerating was performed

  • Modified rating logic to skip rerating a parent account if the UDRBillers to be rerated are connected to a disabled usage feed

  • Modified the usage exception deletion feature so that rerating exceptions can be deleted along with the usage record related to the deleted exception

  • Fixed an issue with real time rating where UDR Location data was not properly refreshed after rating for a period of one hour, requiring a service restart to refresh the location values

  • Updated BillSoft Tax Exempt Types to the latest version

  • Added a new service level component called 'Bundle Split Tax' which is available in BillSoft integrated environments. This component allows taxes applied to a service to differ after a certain charge amount (e.g. $35.00). A service charge up to the amount configured on the component will be taxed using the first service tax category you specify. If the service charge exceeds the tax split amount then a second service tax category set on the component will be used to apply taxes to the exceeding amount. Two transactions will appear on the account in cases where the charge exceeds the Tax Split Amount set on the component

  • Modified the account tax exemption level feature in AvaTax environments to support populating address details (country, state, city and zip code values). When provided address details will trigger a pcode lookup which will define the exempted tax location. This approach allows taxes to be exempted for transactions from a specific location instead of applying a blanket exemption

  • Added an AvaTax specific owner report named 'Missing Jurisdiction Codes on Tax Exempt Level' to list missing pcodes on accounts setup with a tax exempt level

  • Fixed an issue where tax exemptions on usage charges were not applied to child accounts under certain branded owner configurations in AvaTax integrated environments

  • Modified batch usage taxing behavior to round usage tax amounts to a precision value of 6

  • Added a new Chase Hosted Payment Form to the EngageIP AdminPortal. This PCI compliant form supports one time credit card token payments and the ability to add new credit card token payment methods

  • Modified credit card refund logic to allow orbital credit card payments to be refunded using the orbital credit card token gateway, provided the account's default payment method is a credit card token type

  • Fixed an issue where systems configured for iFrame only payments would no longer be able to see ACH Processor configuration links on the Setup page

  • Modified WebhookActivityHeader and WebhookRegistrationHeader values to support unlimited characters

  • Modified file processing logic to support file uploading and processing when the EngageIP Services are running on a separate server than the web server

  • Modified file processing job logic so that when a file is processed and moved to the failed or successful folders it will also keep a copy in the processing folder

  • Modified the Billing Service so that when started or stopped it will clear out any data that may have been orphaned in CurrentBillingUsageInvoicer. Previously left over records could prevent invoicers from being rerated

  • Modified the Job Service to ensure scheduled jobs run on time when a long running job is being executed

  • Job service enhancements to ensure that the PurgeOldRowsJob continues to execute even if some tables fail to be purged

  • Improved Job Service exception handling

  • Created a new job to handle voiding invoices to address issues with large invoices locking up the AdminPortal UI

    • Billing of packages or usage for an account will be not performed by a bill run if the account has an invoice queued to be voided or in the process of being voided (it will be noted in the Event log that billing could not be performed for the account in question)

    • Voiding an invoice will not be permitted if a bill run is in progress for the account where the void is attempted

    • Bill Account under the Tools page will not be allowed if an invoice is queued to be voided or the void action is in progress

  • Fixed an issue where the Job Service could start and fail to process any jobs due to a threaded race condition

  • Modified the Job Service to restart one-time jobs when they have been set to an exception state due to the Job Service being stopped during job processing

  • Modified the Rating Service to no longer stop when an exception is thrown during rating feed processing. Exceptions will be logged and the rating service will continue to run

  • Rating Service changes to improve resiliency in relation to timeouts and database deadlocks

  • Modified the Event Log to indicate which UDRBillers were billed during re-rating

  • Modified the Audit Log to restore the date and time stamp values and permit time to be used as a filter

API Changes

  • Modified the GetVersion API method to return the patch version number

  • Modified AddUserPaymentMethodCreditCardToken method to strip any non-numeric values out of the supplied credit card number

  • Fixed an issue where the GetUserPaymentMethodCreditCardTokens method would return the incorrect card expiry date

  • Modified ProcessCreditCardTokenCaptureOnly to prevent multiple capture attempts when a given Transaction ID has already been captured

  • Added a new optional parameter to the GetFilteredCustomerReport API called 'OrderBy' which allows report data to be sorted in ascending or descending order

  • Fixed an issue where the CancelUserPackage method could time out in certain scenarios

  • Added BulkQuantity and UserPackageStatusName parameters to the AddPackageToUserWithOptionalServicesByDTO API method

  • Added AddUserAttributeTaxExemptLevelsWithDtos with optional parameters, CountryName, StateName, CityName, ZipCode

  • Modified existing GetUserAttributeTaxExemptLevels to return all properties of the UserAttributeTaxExemptLevels, including not not limited to CountryName, StateName, CityName, ZipCode and pcode along with other existing fields

  • Added DeleteUserAttributeTaxExemptLevelsWithDtos with optional parameter pcode

9.3.5-Patch.1 Release Notes

  • UDR Exception handling improvements

  • Logging and error handling improvements

  • Improved Event Service performance and reduced memory usage

  • Modified service charges to store and display values using four decimal precision. Charges displayed on invoices will be midpoint rounded to two decimal places

  • Added support for square brackets in entity names. Previously these characters would cause validation errors when entered into fields

  • Fixed an issue which could cause links to accounts in extended attribute lists to have incorrect URLs

  • Fixed an issue where canceling an optional service would fail in error if a usage bucket connected to the service already existed for a future period past the cancelation date

9.3.5-Patch.3 Release Notes

  • Removed many restrictions on editing effective dates when a user-package does not contain any usage based user-services. See the Restrictions section of the Managing User-Packages article for details

  • Modified list action buttons in the AdminPortal to be clickable only once until the page is reloaded

  • Fixed an issue where total amounts were not displayed on the Packages list on the Overview and Packages pages in the AdminPortal

  • Fixed an issue where viewing an open invoice while an account was being billed would result in the invoice missing charges

  • Fixed an issue where transactions on a sub-account were not reversed when the sub-account invoicer was changed to the sub-account itself and the invoice on the account containing the charges was voided

  • Rating service resiliency improvements

  • Fixed an issue where payments attempted on the Chase hosted payment form would fail if the card holder name contained special characters (e.g. &, ' )

  • Fixed an issue where credit card payments through a Chase payment gateway would fail if the card holder name exceeded 30 characters

  • Modified the payment plugin in the EngageIP Customer Portal to disable the Make Payment button after it has been pressed once, to prevent multiple clicks from causing multiple payments

9.3.5-Patch.3-Hotfix.1 Release Notes

  • Fixed an issue when voiding Invoices that would leave the statementdetailsid set on UDRBillerBuckets and prevent rerating from running correctly

9.3.6 Release Notes

Change Highlights

  • Billing Changes and General Performance Improvements

    • Improved search performance in the AdminPortal and added the ability to search for exact or partial matches:

      • Exact Matches: #[Ticket]; =[AccountName]; $[InvoiceNumber]; ![AccountID]

      • Partial Matches: @[Contact]; user:[username]; account:[account]; contactpoint:[Contact Point Value];

    • Improved performing loading credits on the Transactions page

    • Improved performance loading transactions when millions of transactions exist

    • Improved Event Service performance and reduced memory usage

    • Logging and error handling improvements

    • Modified Bill Run History report to note which user started the bill run

    • Added LastUpdatedBy_UserID and StartedBy_UserID columns to the BillRun and BillRunHistory table

    • Added a new 'Catch Up Unbilled User Package' setting to the Bill Run configuration page. When enabled this setting will bill package charges for all active packages that have a next bill date earlier than the bill run's configured 'Bill customers between' date/time value

  • Invoicing & Credit Note Changes:

    • Added the ability to download an invoice as a PDF on the Invoices page using the new DownloadPDF button

    • Modified invoice logic to remove negative invoice discounts when reopening an invoice

    • Modified Invoices so that opening the invoice, closing the invoice or manually editing the invoice date will recalculate the invoice Due Date

    • Modified invoice logic to track the UserID in the InvoiceHistory table whenever an invoice is opened, closed, emailed, printed or voided

    • Modified invoice voiding behavior to schedule invoices to be voided instead of executing the void immediately. Scheduled voids will wait for an account to be billed if a bill run is running in order to avoid a conflict with invoicing operations performed by the bill run

    • Added two new actions to the Credit Notes list on the Invoices tab, Open and OpenUnsent. OpenUnsent allows you to open the selected credit note provided it was not sent to the customer

    • Added the ability to edit the Date on a Credit Note, as long as the date is not in a currently closed financial period

  • Rating Changes

    • UDR Exception handling improvements

    • Real-time rating performance improvements

    • Rating service resiliency improvements

    • Added a User ID field to the Rating page under the Rerate section to permit rerating to be performed on a specific account

  • Role and Security Changes

    • Modified Role configuration to make the Login Limit and Lockout Duration required fields when creating/updating roles. The default Login Limit is 5 attempts and Lockout Duration is 15 minutes

    • Added a FailedLoginHistory table to track failed login attempts and logic to track login attempts by IP address. If a particular IP has failed to login a number of times over a time period (e.g. 10 attempts in an hour) the IP will be banned from logging in for a period of time. The Configuration page contains three new options 'Password Stuffing Interval', 'Password Stuffing Failed Attempts' and 'Password Stuffing Lockout Period' which allow you to control this security feature

    • Added a 'Minimum Password Age' setting to the Role configuration page to prevent a user from being able to reset and reuse their password repeatedly thereby bypassing mandatory password resets

    • Added a 'Enforce Complex Passwords' setting to the Role configuration page. A complex password must include at least three of the following categories

      • Uppercase letters of European languages (A through Z)

      • Lowercase letters of European languages (a through z)

      • Base 10 digits (0 through 9)

      • Non-alphanumeric characters (special characters): (~!@#$%^&*_-+=`|(){}[]:;"'<>,.?/)

    • Added a sessionState web.config attribute to define the session timeout interval. The default sessionState value is 20 minutes

    • Other security enhancements

Enhancements and Fixes

  • Updated the AdminPortal to display the current account's name in the browser tab

  • Removed many restrictions on editing effective dates when a user-package does not contain any usage based user-services. See the Restrictions section of the Managing User-Packages article for details

  • Added a 'BaseTime' column to the Packages list on the Overview and Package pages to indicate the base time configured on the package (i.e. Once, Month or Year)

  • Fixed an issue where total amounts were not displayed on the Packages list on the Overview and Packages pages in the AdminPortal

  • Added 'Extended Amount' and 'Extended One Time Amount' to the Packages list that appears on the Overview and Packages pages. Extended amount displays the package recurring charge amount multiplied by the bulk quantity set on the package. Extended One Time Amount displays the package one time charges amount multiplied by the bulk quantity set on the package

  • Modified service charges to store and display values using four decimal precision. Charges displayed on invoices will be midpoint rounded to two decimal places

  • Modified credit disbursement to disburse credits using tax precision rounding

  • Reports and filters will now show the ProfileQuestion.Question value instead of the Name field

  • Fixed an issue when adding a contact that resulted in the incorrect address format being displayed

  • Fixed an issue that would set a canceled date on user-packages when moving the package from one active status to another active status

  • Fixed an issue where it was not possible to delete a one-time service from a one-time package that contained multiple one-time services

  • Fixed an issue where an optional service configured with the sync disable option would bill incorrect recurring charges and improperly detail the transactions as being prorated

  • Fixed an issue that caused the billing service to halt with the exception ‘Value was either too large or too small for an Int32’

  • Fixed an issue where a bill run could become stalled when attempting to close invoices on cancelled customers

  • Fixed an issue where a zero dollar invoice would be created on active accounts when a bill run was executed with the 'Close Invoices On Cancelled Customers' setting enabled

  • Modified invoice logic so that attempting to close an invoice that is already in a closed state doesn't change the invoice date

  • Fixed an invoice voiding issue where package next bill dates were set back to their effective date instead of the date set prior to the package being billed

  • Fixed an issue where attempting to bulk save an invoice configuration did not save the configuration of the radio buttons selected

  • Fixed an issue where attributes shown on the invoice history page were related to the acting user and not the user the invoice belonged to

  • Fixed an issue where viewing an open invoice while an account was being billed would result in the invoice missing charges

  • Fixed an issue where transactions on a sub-account were not reversed when the sub-account invoicer was changed to the sub-account itself and the invoice on the account containing the charges was voided

  • Credit Card refund validation added to prevent duplicate refunds

  • Modified Chase Payment gateway integration to support sending Level 3 data to chase

  • Fixed an issue where payments attempted on the Chase hosted payment form would fail if the card holder name contained special characters (e.g. &, ' )

  • Fixed an issue where credit card payments through a Chase payment gateway would fail if the card holder name exceeded 30 characters

  • Fixed a price plan issue where a lower threshold price would not be applied after cancelling a user-package if a lower threshold was reached due to the package cancellation

  • Added the ability in BillSoft integrated environments to override a tax type and apply taxes based on a specified location. Service tax overrides are configured on a new 'Service Tax Category Override' page under the Service Tax Categories configuration

  • Fixed an issue that caused udr.tax values to be incorrectly rounded when using a tax precision value greater than 4

  • Fixed an issue when creating a new tax rate that could cause the Display Name field to be set to the tax rate's Name value

  • Modified list action buttons in the AdminPortal to be clickable only once until the page is reloaded

  • Modified the TaxRate list to be sorted alphabetically when selecting a tax rate on the Tax Adjustment page

  • Modified Tax Adjustments, Held Transaction Tax Adjustments, Credit Tax Adjustments and Held Credit Tax Adjustments pages to auto-populate the Tax Code value when only one tax code is configured in the system

  • Fixed an issue in the product catalog where changing a monthly package to a yearly package did not refresh the service charge amounts to reflect the new yearly prices

  • Added column 'Show On View Filter' to the User/UserPackage Extended Attribute List

  • Added support for square brackets in entity names (e.g. a service's name). Previously these characters would cause validation errors when entered into fields

  • Modified USA Zip code validation to support non-numeric characters

  • Fixed an issue which could cause links to accounts in extended attribute lists to have incorrect urls

  • Fixed an sever error page that would appear in the AdminPortal when a saved view was loaded and then reset

  • Fixed an exception that would occur when searching in the AdminPortal when a user extended attribute name matched a core field name in an existing report and the attribute was configured with the 'Show on View Filter' setting enabled

  • Removed sql server information from the Configuration page in order to address page load errors that can occur when a user lacks sufficient sql server permissions

  • Added an 'Exceptioned Job Retention Period' setting to the Configuration page. This setting determines how many days to keep old jobs that are in an exception state before they are purged

  • Fixed an issue where a stylesheet configured at the branded owner level was not used if a stylesheet was configured on a higher level owner

  • Added new Invoice Credit Notes report under the Owner section of the Reports page

  • Modified the Account and Owner Credits report to include Credit Note, Discount, Disbursed, Automatic Disburse, Period Start and Period End columns

  • Modified the Payment Decline report to exclude payments not made through a payment gateway

  • Modified Extended Attributes so that they can be displayed on core and custom reports. Note that the reports sql view must include a direct link to the extended attribute (e.g. to display a user extended attribute value the view must have the UserID data)

  • Added an 'Optional Clause' field to the to Custom Reports page which allows a sql query to be appended to the report and run when the report is loaded

  • Updated the Transaction Refunds report for both Account and Owner reports to include the 'Payment User' and 'Paid By User' columns

  • Added a ‘Cost’ field to the Sales report. This field will display a value if the Service Component 'Cost' has been added to the service in the product catalog

  • Modified the Aged Invoice Detail report to display new columns: Parent and Current. Parent indicates the parent account for the user, current indicates the total owing amount for the specific invoice

  • Fixed an issue with the Aged Invoice Detail report where the Balance value was reflecting the account balance and not the invoice balance

  • Fixed an issue where a sub account's details were not displayed on the Aged Balance and Aged Invoice balance reports when the sub account was set as its own invoicer

  • Fixed an issue with the Aged Invoice report where the report reloaded when accessed instead of keeping the data generated when the report was last run

  • Fixed an issue where the Sales report would fail to load if the report was configured to display extended fields

  • Added the ability to XML import TaxExemptTypes

  • Fixed an issue where exporting an invoice to XML resulted in a truncated XML file

  • Fixed an issue with XML imports where an exception would occur when // was used in an attribute and the same attribute was used more than once in the file

  • Modified the Rendered action to be posted as 'RenderedXML' in the Invoice History report as only XML is generated during this action, not an invoice

  • Modified event log to indicate the UDR Feed name when a feed is started

  • Switched the 'RefundOption' to true in the audit log in order to track user-package cancellation options selected

  • Modified the audit log to capture the ECP user in the 'Actor User' field when a credit card payment is made in the customer portal

  • Fixed a logging issue when rerating where the total udr count in the Event Log and the rerating stats in the ReratingProcessSummary would not match in some rerating scenarios

  • Fixed a caching issue that could cause a minor discrepancy in the UDRBiller sum value when comparing the TaxLog.amount to the UDRBillertax.amount

  • Modified core jobs to be editable on the Job Schedule page and added a column to indicate the owner name

  • Extended purgeOldRows job to clear out old logs of failed login attempts after 90 days

  • Fixed an email issue where queued emails that had failed to be sent could have their attachments corrupted if they were sent to a billing contact that had more than one email contact point configured

  • Fixed an issue where changing an account's Usage Billing Frequency Type could result in usage being incorrectly bucketed in some scenarios

  • Fixed an issue where usage credits were not properly calculated

  • Fixed an issue where usage charges could be set with an incorrect posting date during billing

  • Fixed an issue where canceling an optional service would fail in error if a usage bucket connected to the service already existed for a future period past the cancelation date

  • Modified the GeoTree to reorder GeoTree locations alphabetically after a new location or pattern is added

  • Fixed several caching issues with real-time rating

  • Modified the rating engine to expire user taxing caches when a tax jurisdiction code is updated or created in order to ensure the latest addresses are always used when executing real-time rating

  • Fixed an issue when processing a UDR Exception connected to an existing UDR that would result in the UDR losing its ImportFile and RowNumber values

  • Fixed an issue where UDRBillers and UDRBillerBuckets were not being cancelled when cancelling a package when the EngageIP Option IgnoreReRate was enabled

  • Fixed an issue when voiding Invoices that would leave the statementdetailsid set on UDRBillerBuckets and prevent rerating from running correctly

  • Fixed an issue loading the Rating page where an error would occur if the list of records contained custom fields with a data type of float or a sql type of float

  • Added a new Aws S3 Configuration page which appears under the Setup / Data Management section when the new Configuration page option 'Enable Aws S3 Config' is selected. The Aws S3 Configuration page will store the global s3 bucket configuration which can be utilized by custom code or the system

  • Fixed an SSO issue where the Enable Single Sign-On checkbox would not remain enabled when saving the SSO configuration in some scenarios

  • Modified Held Transaction and Held Credit Logic so that the Transaction page doesn't show a Held list if the Global setting enabling held transactions is disabled

  • Fixed IIS exception errors that could occur when multiple users logged in and accessed parts of the AdminPortal that triggered similar database queries at the same time

API Changes

  • API Enhancements

    • Modified AddUserPaymentMethodCreditCardToken so that IsLevel3Eligible can be set based on the response from the Chase Hosted Payment Form integrated into the EngageIP Customer Portal

    • Fixed an issue with the AddUserPaymentMethodCreditCardToken method where the ShopperReference parameter used by the Adyen gateway was not saved

    • Fixed an issue with the AddPayment method where it would not populate the Payment.CardTypeID for credit card token payments

    • Updated GetRenderedCustomReportXml, GetFilteredCustomReport and GetRenderedCustomReport to support the new Optional Clause feature on custom reports

    • Updated GetRenderedCustomReportXml, GetFilteredCustomReport and GetRenderedCustomReport to filter reports by the owner id of the report owner when 'RestrictAPIByOwner' is set to true on the custom report and Restrict By is set to 'Owner'

    • Modified MakePaymentOneTimeCreditCardWithFee so that supplying a PaymentFeeAmount of 0 will not trigger validation, will not open an existing invoice and will not add a transaction. Normal credit card processing events based upon other supplied payment related information will still occur

    • Modified MakePaymentWithDetailResponse to include an optional parameter ‘PaymentDate’. This parameter allows a payment date to be specified. If this value is not set it will default to the current date time

    • Modified XMLImport to remove leading and trailing spaces when they are supplied in UDRRatePlan names

  • New Methods:

    • DeleteOptionalUserServiceWithDate: provides the ability to cancel an optional user-service with a cancelation date

Permission Updates

  • Added Role Permissions

    • CustomReport (SetOptionalClause)

    • InvoiceCreditNote (Open, OpenUnsent)

    • InvoiceCreditOwnerReport (List)

9.3.6-Patch.1 Release Notes

  • Modified the rating engine not to add missing pcodes on account contacts during rating in order to improve performance

  • Added a list action called 'ReRender' to the invoice page allowing a selected invoice to be re-rendered even when the invoice is in a closed financial period. Re-rendering an invoice will not modify any dates related to the invoice

  • Modified price plans to support prices with up to 4 decimal places of precision

9.3.6-Patch.2 Release Notes

  • Increased the decimal precision that can be configured on usage rate amounts and connection charges:

    • UDRRate Amounts can now be configured up to 8 decimal places of precision for Fixed, Rated or Rated Markup rates provided the UDRAmountPrecision is set to 8

    • A maximum of 4 decimal places of precision can be configured on amount values when configured rates with a rate type of Fixed Markup

    • Connection Charges on UDRRates can now be configured up to 8 decimal places of precision for Fixed, Rated, Fixed Markup or Rated Markup rates provided the UDRAmountPrecision is set to 8

  • Fixed an issue where creating a sub-account on its parent account's bill day resulted in the usage next bill date being set a month ahead for both the parent and child account

  • Fixed an issue where an InvoiceID instead of an InvoiceCreditID was displayed when editing a Custom Invoice Credit Token

  • Added a forceEffectiveDateUpdate parameter on the UpdateUserPackageEffectiveDate & UpdateOptionalUserServiceEffectiveDate APIs in order to force an update when an update warning occurs. The ForceEffectiveDateUpdate parameter default value is false

 

9.3.6-Patch.2-Hotfix.1 Release Notes

  • Suretax data type update from INT to LONG

  • Suretax issue resolved where an error showed when an invoice was voided

9.3.6-Patch.3 Release Notes

  • Issue resolved when importing tax credits via XML

  • GUI report issue resolved relating to lengthy values being invalid

  • Modified Email Logic to send a single email to all recipients. When emailing a contact - EngageIP will put all of the email addresses on that contact, into the TO field for the email.

  • New EngageIPOption (database table) to set the memory limit of the rating service

  • Ability to edit Period Start and Period End on transactions has been added

  • Aged Balance Report was updated to make the ‘Balance’ column based on transactions again instead of the invoice balance

  • Fixed an issue with Invoice Void reason length where the length of the reason was too long

  • Added logic so that when ‘Bill Account’ was used or in progress, that a Bill run would not cause double billing

  • Tax flag added for XML imports for debits and credits to generate taxes on import

  • Update the UserPackage list default status type filter to "!!Active;!!Prospect;" optimize the query performance.

  • Suretax integration update to change datatype for TransID from INT to LONG

  • Suretax integration issue resolved related to error when invoice was being voided

  • Avalara update to limit length of numbers sent for taxing

  • Resolved balance shown on credit notes even though they were disbursed fully

  • Issue resolved related to the import of payments to closed invoices leaving the invoice summary table with amount with more than 2 decimal places

 

9.3.6-Patch.3-Hotfix1 Release Notes

  • Custom report reset error resolved

  • PDF Invoice export updated to use UserName instead of AccountID

  • Fixed issue when reversing a payment where the reversed payment was not processing the refund on the credit card gateway (or ACH gateway)

9.3.6-Patch.4 Release Notes

  • Performance improvements on User Statistics on overview tab

  • Invoice list javascript updates to prevent invalid data errors in lists

  • Fix to UDRBillerBulkInsert to consider TAXTYPEID correctly when inserting missing UDRBillers

  • Fix to UDRBillerbucket logic to prevent period spanning more than a month

  • Updated payment date validations, adding payment date within closed financial period is not allowed

  • ChaseEUV2 gateway added for credit card token processing

  • Issue resolved on system upgrade that overwrote the web.config file

  • jQuery version updated to 3.6.4

9.3.6-Patch.4-Hotfix.1 Release Notes

  • Caching issues resolved for invoice configuration updates and other updates in UI

9.3.6-Patch.5 Release Notes

  • Issue resolved where usage was not bucketed properly

  • UserExt, UserPackageExt, TicketExt are now logging to the audit log on changes

  • Rating service logging enhanced

  • Ability to bill packages or bill usage separately on the tools tab of each account

  • Bulk Save button issue resolved on credits where updates were not copied to all filtered items in the list

  • Added Logic around BillUsage when UserPackage is canceled, if UsageInvoicer has any UserPackage, Usage will not be billed while cancelling UserPackage.

  • New EngageIPOption called 'BucketsSelectedByUserOnly' added. With the new EngageIPOption BucketsSelectedByUserOnly set, only Pool level User and UserService level buckets will be selected to be applied to calls. This was introduced so children rating on different VCC/threads would not be accessing the same parent level buckets.

  • New feature added on lists to freeze the header line when scrolling

  • Issue resolved where a saved list view was not saving text

  • Breadcrumb trail issue resolved where it was not showing on top owner correctly

  • Report export option resolved so it exports the selections as entered on the view panel

  • Performance / usability issue fixed when ScheduledUserStatusChange job is invoked on an account with thousands of packages

  • Fix for list views displaying Package or Service names that had special characters

  • Issue resolved with the cloning of a rate group where it was not copying rate group conditions correctly

  • List view reset link issue resolved which was causing runtime errors

9.3.7 Release Notes

 

  • Aged Balance report now has option to be based on statementdetails date or posting date

  • Usage Throughput report added as a core report on reports tab

  • Browser cache now cleared on first login after EngageIP upgrade

  • Issue with CountryAddressFormat resolved so that addresses are validated and added correctly to the system

  • Update to invoice void logic: After voiding the invoice, the user package next bill date will be reset to the previous next bill date, not the user package effective date

  • Download link for XML data on credit notes added (similar to XML download for invoices)

  • Credit Card Expiration report updated to include token based credit cards

  • Void option added for credit notes

  • Issue resolved where taxes were not working on accounts where state / province was not a requirement (International addresses)

  • Modified Core RefundCreditCardUser and RefundCreditCardTokenUser, so that partial refund can be processed. Multiple Partial refund can be processed as long as total refund amount never exceeds original Payment Amount.

  • Issue resolved with ACH Token Payments where ampersand existed in the AccountHolder name

  • Check box added to Aged Balance report to exclude open invoices

  • Bulk Quantity column added to Account Services core report

  • Modified Configuration screen to display new check box called "EnableTaxVendorHealthCheck", this is visible if AvaTax TaxVendor is configured. Updated configuration screen where TaxVendor Info is displayed, when AvaTax is installed and if AvaTax server connectivity is good then it shows "✓" mark otherwise it shows cross mark "X".

  • Mailqueue error logging enhanced to return larger errors when issues occur

  • Negative billing package (via a discount component) now has next bill date reset correctly on invoice void

  • Issue resolved with bill account when financial periods are in use where the date used is today

  • Update to EngageIP installer so it doesn’t overwrite Rateimporter tool config files

  • Job service updated to rerun last job in exceptions

  • Issue fixed where enabling a canceled account was not resetting user package effective canceled dates

  • Rating and rerating operations during billing processes have been optimized for speed

  • Issue with core invoice tokens converting currency to scientific notation resolved

  • XML import for UDR Rate Groups validation updated and fixed related to invalid characters

  • Library and Tool updates to improve security

  • Issue with custom report stylesheets giving XML error resolved

  • Issue with priceplans not respecting start and end dates when billed across multiple periods is resolved

  • Priceplan issue resolved related to invoice voiding where multiple periods are involved with start and end dates configured

  • Avatax logic updated to add compatibility with Zip+4 zipcodes

  • Issues relating to bucket creation on user reactivation and bill day changes is resolved

  • Issue resolved related to updating of invoicer on users with split invoices

  • Rate Importer tool enhancement addresses cases where Country Name is not found in the generic geotree

Permission Updates

  • Role permission issue resolved related to credit transactions

  • Role permission added for tax adjust button on credits

API Updates

  • CreateContactPointAddress API updated to ignore state / province if CountryAddressFormat does not require it.

 

 

  • SQL Views refactored for performance against large data sets

  • Fix for rating where generic geo trees provided too many USA patterns where they may not have been needed

  • Ability to bulk void invoices from reports

  • Credit Rating shows on Account Overview

  • Audit log will now show API user if API is being used

  • Geotree fixes updating error messages and addressing duplicate patterns

  • XML import validation added for zero dollar payments

  • Check box to include data in invoices for InvoiceUserProfileGroup

  • Change Password disabled for SSO users

  • Bill run date range validation added to ensure dates are correct

  • Credit XML import now supports adding of bulk quantity value

  • CreateDate and EffectiveCancelDate added to User Package Report

  • OSS vulnerability addressed relating to a Json library - Security addressed

  • Added option to move of not move invoices when moving a parent with invoices to a sub account of another

  • Invoice Date validation for Financial Periods fixed when account is in a canceled state

  • Fix for user package not acquiring Discount Price

  • Optional Services are now allowed on Bulk Quantity configured packages

  • Avatax API V2 methods added

  • Validation and restriction added in the cause of multiple priceplans for the same time periods which may conflict

  • Adyen payment processor logic fixes for capturing of PreAuths

  • License key validation enhanced to prevent caching of old keys which may interrupt billing processes

  • Fix related to reactivation of account with buckets. All buckets will now be created as needed on reactivation

  • Bill Account / Bill Usage check box option on tools tab now will exclude date range when checking for active packages

  • Rating Service memory leak fixed

  • Filemover service has added support for GCP transfers

  • UDRBillerUserClassSummary extended to allow for breakout of usage charges on invoices and revenue related reports

  • UDR Feed in UI updated to support UDR Feed Groups

  • Rerating statistics logging enhanced

 

API

  • New API added to allow separate billing of MRC and NRC packages

9.3.8 Release Notes.

  • Refactored SQL views to improve report performance with large datasets

  • Fix for rating where using generic Geotrees provides too many USA PAtterns that ma not be needed

  • Batching of taxing logic updated to manage Avatax transaction limitation

  • Bulk void invoice option added to reports

  • Credit Rating pill added to account overview

  • Fix for Geotree where location was disappearing when deleting a location beneath it

  • Audit log updated to reflect ‘apiuser’ when the API is triggering changes

  • Fixed an issues where if Workflow events where being processed to quickly there was a chance the WorkflowEngineEvent record could be picked up before the WorkflowOldRowData was saved to the database

  • Issue fixed where canceling an unbilled user package caused a credit added into a closed financial period

  • Geotree - multiple functionality issues resolved related to timeouts and UI issues

  • Job History report added

  • Fix to UDRBillerBucketInsert to handle parents with many child users

  • Fix to invoice rendering process to prevent errors if 2 invoices are being rendered by the same process

  • Issue with created jobs where they are async fixed to prevent errors

  • Issue resolved with zero dollar payments XML import where payments could not be disbursed or flagged as disbursed

  • Change password option is disabled on SSO authenticated users

  • Validation added to prevent pipe symbol from User Attribute Notes

  • Added check box on invoice templates for InvoiceUserProfileGroup data

  • Added check box on profile questions for ‘includeininvoicexml’ on add / edit screens

  • Validation added on bill run edit screen to ‘bill customers between’ field

  • Bulk Quantity option added to Credits for XML imports

  • User Package report updated to include CreatedDate and EffectiveCancelDate

  • Issue resolved with GetCachedLocation failing to load UDRLocationPatterns which caused UDR Exceptions

  • OSS Security Updates - updated NewtonsoftJson library

  • Fixed issue where voided invoices were not showing zero

  • ExportCSVWithBCP method updated to support MultiSubnetFailover

  • Update core UUIH so customers can opt into GetRatePlanForUUIHUserServiceEntry if they use Price Plan rate plan overrides not opt out

  • Added ability / option to move invoices on a parent account when its moved to a sub account

  • Added logic when Invoice is Voided OR Transaction is Reversed OR UserPackage is Canceled when Service Price = 0 and where Taxes are applied, TaxLogs are reversed too.

  • Reduce database hit that was from the adminportal to the ProfileQuestion table by caching the get ProfileQuestion request

  • Update for Invoice date logic to respect financial period settings

  • Add Package UI validation issue resolved when clicking ‘Save’ button

  • Issue fixed where discount price was not added to user package when user package had a bulk package value

  • Ability to add optional services to bulk packages added to core logic

  • Bucketing updates - Fixed issue where using Generic GeoTrees provided too many USA Patterns that may not be needed for all USA rates

  • Performance updates related to the import of UserServiceAttributeUDRBucket added

  • Implementation of Avatax API V2 methods in EngageIP

  • Restriction added when adding multiple priceplans for same period and same package on account

  • Added validation on UI (Bill Account scenarios) so that Usage Invoicer can not be changed when Invoicer is different. Usage Invoicer should be actual Invoicer

  • Added logic to process remaining Balance when BillRun is set to run for both “Capture Pre Auths” and “Run Credit Card Token” via Adyen.

  • UI fix to properly display user package discount and service profile questions under each row that has info to show.

  • Removed the restriction on ServiceTaxCategoryOverride that prevented adding and an override with just country and no state

  • Hide the "Split" and "Split from statement details" column from the transaction tab if EngageIP Option SplitInvoice doesn't present

  • Modified logic so that ‘Line Based Tax’ transaction is not added for the same period if it exists on the same InvoiceUser.

  • On BillDay changes or User Reactivation, when less than a full month/period bucket is required, a second bucket was being created, to account for the full month. This second bucket/portion is unnecessary.

  • Modified Void Invoice Logic to set the date according to initial Invoice so balance calculation is correct and it matches.

  • Logic added to set invoice date correctly after clicking the invoice "Printed" button

  • One of the tasks of the UDRBillerBulkInsert job is to look for duplicate UDRBillerBuckets and remove them. This has been enhanced to better handle duplicate NonRecurring buckets.

  • Fix: a change added corrects an issue where multiple UserServiceAttributeUDRBuckets belonged to the same UserService, when a User was reactivated, only one of the USAUBs had all buckets created as expected, leaving gaps. With this change MaximumUnbilledUsagePeriod will be honoured as the earliest EffectiveDate, if the EffectiveDate is too far in the past.

  • Fix: a change added corrects the issue where the UDRBiller may be created with the wrong TaxCodeID/TaxTypeID

  • UI fix was made to the list sorting when list page was changed. The problem was that the sorting was not the selected one when on a page with multiple lists like invoice page and when payment list was sorted and paged. This bug was introduced with recent list changes

  • Update order UDR's are re-rated to increase performance and reduce clearing the cache loaded from ViewUdrRatingEngineUdrBillerBucket

  • Added logic to bill usage based on the supplied date range even if there is no billable UserPackages for the supplied date range, user must have Active UserPackage, in order to bill usage User's Usage NextBillDate must be within the selected Date range.

  • Introduced EngageIPOption CreateUDRBillersByUdrFeedGroup. if set to True. UDR rated for that feed will be added to UDRBillers for the User with that specific UDRFeedGroupID, if the option is set but no UDRFeedGroup is assigned to the UDRFeed an Error will be logged, but rating will occur to a UDRBiller for that User with UDRFeedGroupID=NULL.

  • A core fix was added to the rating engine logic to not initiate new rating extra threads during rerating cycle. This will fix the memory consumption that is not necessary. This was affecting rerating as we would instantiate new extra thread on rerate and not during the normal rating, this explains the mem spike when rerating.

  • Added the following GCP supports to the file mover service: * download from GCP * upload to GCP

  • UDRBillerUDRClassSummary table was extended to accrue tax based amounts from UDR by UDRClass.

  • Made updates to rerating logging Updates key log lines to include the Parent_UserID in the EventLog UserID field related to rerating Added new metric to rerating logging stats RerateParent_InterimSpeedPerSecond that represents how long just the last 1000 records took to process

  • The UI will now have a UDR Feed Groups in the same section with UDR Feeds (when permissions are assigned to that Role). When setting up the UDR Feed you can choose what UDR Feed Group to place it in. Note: If EngageIPOption CreateUDRBillersByUdrFeedGroup is set to True. UDR rated for that feed will be added to UDRBillers for the User with that specific UDRFeedGroupID.

 

API:

  • GetFilteredCustomReport API paging performance improved

  • New API method: BillAccountWithOptionToBillRecurringChargeOrOneTimeChargeOrUsageOrAll that supports separate billing for MRC and NRC User Packages

 

9.3.8-Patch.1 Release Notes

  • New EngageIP option to support usage tax aggregation for Avatax deployments

9.3.8-Patch.2 Release Notes

  • XML import logic validation update to address invalid elements correctly during import

  • Service Tax matching logic updated to handle situation where Country is associated but no state

  • Sub account Invoicer update logic updated to correctly change when an original parent is moved to a new parent account

  • Configuration added to allow export to a PDF when invoices are manually delivered (outside of a delivery bill run)

  • Issue resolved with unrelated credit reversals occurring when an invoice is voided

  • Parent Account details added to ‘Statement of Account’ report

  • Audit log indexes added for performance

  • Update for UDRBillerUDRClasSSummary to honour tax precision when values are summed.

  • Fixed an issue related to lists set to show totals but not load data by default running the total sql queries before filters being applied