Release Notes – v9.3.x
- 1 About the Release Notes
- 2 9.3.0 Release Notes
- 2.1 Change Highlights
- 2.2 Enhancements and Fixes
- 2.3 Developer Notes
- 2.3.1 API Changes
- 2.4 Permission Updates
- 3 9.3.1 Release Notes
- 4 9.3.1-Patch.2 Release Notes
- 5 9.3.2 Release Notes
- 6 9.3.1-Patch.3 Release Notes
- 7 9.3.2-Patch.1 Release Notes
- 8 9.3.3 Release Notes
- 9 9.3.3-Patch.1 Release Notes
- 10 9.3.3-Patch.1-Hotfix.1
- 11 9.3.3 Patch.2 Release Notes
- 12 9.3.4 Release Notes
- 12.1 Enhancements and Fixes
- 12.2 Developer Notes
- 12.2.1 API Changes
- 12.3 Permission Updates
- 13 9.3.4 Patch.1 Release Notes
- 13.1 Enhancements and Fixes
- 13.1.1 API Changes
- 13.1 Enhancements and Fixes
- 14 9.3.4 Patch.1 Hotfix 1 Release Notes
- 15 9.3.4-Patch.2 Release Notes
- 16 9.3.4-Patch.2 Hotfix 1 Release Notes
- 17 9.3.5 Release Notes
- 17.1 Enhancements and Fixes
- 17.2 API Changes
- 18 9.3.5-Patch.1 Release Notes
- 19 9.3.5-Patch.3 Release Notes
- 20 9.3.5-Patch.3-Hotfix.1 Release Notes
- 21 9.3.6 Release Notes
- 21.1 Change Highlights
- 21.2 Enhancements and Fixes
- 21.2.1 API Changes
- 21.3 Permission Updates
- 22 9.3.6-Patch.1 Release Notes
- 23 9.3.6-Patch.2 Release Notes
- 24 9.3.6-Patch.2-Hotfix.1 Release Notes
- 25 9.3.6-Patch.3 Release Notes
- 26 9.3.6-Patch.3-Hotfix1 Release Notes
- 27 9.3.6-Patch.4 Release Notes
- 28 9.3.6-Patch.4-Hotfix.1 Release Notes
- 29 9.3.6-Patch.5 Release Notes
- 30 9.3.7 Release Notes
- 30.1 Permission Updates
- 30.2 API Updates
- 31 9.3.8 Release Notes.
- 32 9.3.8-Patch.1 Release Notes
- 33 9.3.8-Patch.2 Release Notes
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 createdFixed 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:
In SQL Management Studio locate the UDRBiller table and expand the Indexes
If the Index 'IX_UDRBiller_UserID_PeriodStart_Inc' exists delete it
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 transactionsFixed 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