Within these release notes you will find descriptions of new features, enhancements and API changes in the LogiSense Billing application. The content below details changes in major release versions, point release versions and hotfixes. If you have any questions about the information provided below please do not hesitate to contact your LogiSense support representative.
In this article:
10.6.0 Release Notes
Change Highlights
UI Changes:
New AdminPortal UI style and consistency improvements
Added support to load the AdminPortal in multiple tabs
Modified UI to support refreshing a screen without prompting the user to login again
Many UI and API validation fixes and improvements
Product Catalog Enhancements:
Product Catalog Discounts
Added the ability to configure discounts on services within package frequencies in the product catalog
The amount of time a discount is valid is configurable
A GL Code can be associated with a discount
Discounts can be set to be prorated or not
Multiple discounts can be added onto a service in a configurable order
Discounts can be imported into the product catalog
Promotion Codes
Added the ability to setup promo codes in the product catalog which apply discounts to services
Multiple discounts can be setup under a promo code
Promo code discounts apply when the promo code is specified at the account-service/account-package level
Account-service discounts with a promo code can imported
Anniversary Billing
Introduced anniversary billing which allows a package and its services to be billed on the same day of the month that the account-package becomes effective, instead of billing on the Account's Bill Day
Disabling the 'Bill On Account Bill Day' option when configuring packages enables anniversary billing
Tax Inclusive Services
Added the ability to configure tax inclusive pricing on services, where the price of the service includes the tax amount
Tax Inclusive services are supported for all types of service charges (recurring, non-recurring, fees)
Service Transition Charge Limits
Added a 'Maximum charges per period' field when configuring a transition on a package frequency
When set this value will limit for the number of times the transition charge can be applied in a single billing period
Package Contract Improvements
Added a 'Renew Type' field to the Contracts screen in the product catalog. This field allows you to define what happens when a package contract expires (expire the contract, cancel the account-package, auto-renew the contract or start a new contract)
Added a Contract section to the Account-Package Options tab. Any contract configured on the account-package will be shown here along with the contract Start Date, End Date and Renew Type
Share Plan Enhancements:
Redesigned the Share Plans screen to fix UI issues and improve performance
Added the ability to specify and modify share plan add-on effective dates and cancellation dates
Added the ability to configure bracket tiered pricing on share plan add-ons
User Audit Log:
Added an Audit Log screen to the Operations menu to track user activities in the system
AvaTax Integration Enhancements:
Added the ability to specify company data (Facilities, Regulated, Franchise) when configuring an AvaTax based Tax Vendor
Added support for lifeline customers. A 'Lifeline Customer' setting is now available in the Taxes tab on the Account Settings screen
Modified AvaTax integrated environments to permit a manual transaction to be entered with a quantity of up to 500,000 if the service in the transaction has a line-based service tax category
Single Sign-On Support:
Added the ability to configure SSO using SAML UserIDs
Okta and Azure AD providers supported
SAML Settings are accessible on the Owner Configuration screen
Other Enhancements and Fixes
Billing and rating performance and resiliency improvements
Improved invoice rendering performance
Improved performance loading the Transactions screen
Added a 'View Children' link beneath the account name when an account is loaded to allow direct navigation to child accounts
Added the ability to search for parent accounts when performing an account search
Added the ability to filter data per each column on the account search results screen
Moved the account status into a badge on the account header panel
Modified Packages screen so that Package Frequencies are added/accessed on a tab under Packages instead of nested on the left hand menu
Modified billing process to store general ledger codes and service tax category values during billing so that updating these values on Services does not impact results presented in reports
Modified percentage values on multiple screens to be displayed as a value from 0 to 100 instead of using a decimal format
Modified the Transactions and Credits screens to show GL Code and Service Tax Category fields when adding a manual transaction/credit so that these values can be modified if desired
Modified the Transactions screen to set the Posting Date to the current date when adding a manual transaction
Modified screens where tiered pricing is displayed to present a 'Click for Pricing' link instead of displaying a price range
Removed the ability to delete non-recurring charged services from package frequencies
Removed Core menu screens
Fixed multiple issues with Advanced Filters on several screens
Fixed an issue where menu links were shown to screens that the user did not have permission to view
Fixed an issue where an optional service could not be added to an account-package if the package frequency value was adjusted
Fixed an issue when editing an account-service where a new usage identifier would not be saved after it had been provided in the Upcoming Change section
Fixed an issue where the Allow Quantity option on packages could not be modified when the package was configured with a combination of monthly recurring charged services and non-recurring charged services
Fixed an issue where a package frequency could not be deleted if it contained a service with a rate plan configured
Modified billing logic for progressive tiers to round the sum of the usage amount instead of rounding individual entries in each tier
Fixed an issue where a bill group could not be selected when creating a child account if the account's parent was not configured to receive an invoice
Fixed an issue configuring a package on a sales order where the Product Code field would be cleared if the package start date was modified from the current date
Fixed an issue where creating a sales order would fail if a package in the order was configured with a product code
Fixed an issue that caused the next bill date to be miscalculated when cancelling a postpaid package with a charge remainder term
Fixed an issue when creating a price plan where removal of one package from the plan would remove all other packages on the plan
Fixed an issue where share plan add-on packages were added to an account multiple times if multiple price books existed with pricing specified for the add-on package
Disabled the ability to reverse a transaction if the transaction is part of an invoice that is not in a valid status due to a billing failure
Fixed an issue where transition charges were billed using the ServiceID rather than the Charge_ServiceID
Improved error handling during invoice generation in the event connectivity to S3 is lost
Fixed an issue where voiding an invoice that contained a charge for a backdated optional service would result in an incorrect charge being applied when rebilling
Fixed an invoice template issue where invoice tokens contained within a TableStart/TableEnd format returned no data when generating an invoice
Added the ability to support hierarchical embedded datasets using custom data sources. This allows an embedded report to be attached to an invoice which contains more than one data source
Fixed an issue where duplicate data could appear in reports downloaded in CSV format
Fixed an issue where a report could not be generated if a report filter was configured to use a relative date and the Value set on the filter was one of the 'Fiscal Year' options
Fixed an issue where reports could contain values that should be filtered out when a filter was configured to use a relative date and the Value set on the filter was one of the 'Quarter' options
Fixed an issue with report filters where filtering by date using the 'On' operator could result in a report that contained data for one day beyond the specified date in the filter
Fixed a customer portal issue where the login screen did not display any message after attempting to reset a password for a non-active or non-existent portal user
Modified logic to remove leading and trailing spaces from usage identifiers when they are stored in the database in order to avoid potential rating exceptions
Modified rounding logic to round rated amounts to 11 digits prior to rounding to the specified amount precision value
Fixed an issue where unbilled bucket charges from past periods were not getting billed
Fixed an issue where rated usage was not bucketed if the rate was rated by the GeoTree and the location was set to 'Everywhere'
Fixed several issues where rerating would not occur when an account-service was cancelled or its effective date was changed and the account-service shared a usage bucket with other services
Added the ability to import/export multi-layout columnar data profiles
Added the ability to support more than one primary layout on a data profile
Modified data import logic to return exceptions instead of marking records as duplicates when importing duplicate non-usage based records
Added the ability to data import invoiceitems using AccountName or ServiceName as the Target
Removed Validation buttons from the Data Profile screen as this feature is non-functional
Removed Account Share Plan, Account Share Plan Participation and Account Share Plan Contribution as Data Profile Targets as they are no longer supported
Removed Rate Plan Id and Rate Plan Name properties from the PackageServicePricePlan target on Data Profiles as they are no longer valid options
Fixed an issue when importing a service-transition price on an account price plan where the penalty charge did not import correctly
Fixed a data import issue where an account could not be created by import if account-contact addresses were configured in the address format 'AddressWithCountryZipCode' and the City name wasn't specified in the contact address details
Fixed a data profile issue where an upload error would occur when attempting to load an input sample file
Modified the Import History screen to only show data imported by API when the 'Switch to API Imports' action is selected
Fixed an issue where the country value on a tax code could not be removed once it was set
Fixed an issue in AvaTax integrated environments where tax calculation would fail in rare scenarios
Added the ability to apply a time zone offset to usage records using a plugin callout
Fixed an issue where an unexpected error would appear when attempting to filter webhooks on the Webhook Monitor screen
Fixed an issue on the Event Subscription screen where adding a filter with the Usage Attribute value set to 'Order' resulted in no options appearing in the Value field dropdown list
Fixed an issue which prevented the Bill Run Schedule Status Type filter from being created on email and webhook binding actions
Fixed an issue that could cause the MessageCollector service to fail to collect queued messages until the service was restarted
10.6.0 API Changes
Notice: Unversioned APIs are removed as of this release. If you are using an unversioned Access/Login API you must switch to a versioned login API in order to retrieve an authorization token.
API versions v3 is deprecated as of this release
API Version 8 is introduced in this release
Deprecated APIs:
Usage/Class/GroupType (Get)
Account/Service/Discount/Tracking (Get)
Updated APIs:
Report/Storage: ReportId removed, ReportDefinitionId changed to not null
ReportDefinition: ReportId removed from ReportFilters details
ReportDefinition: ReportDefinitionId changed to not null in ReportLayout and ReportStyle details
Fixed code to Id resolution failures when updating or patching an entity that supports codes (e.g. CountryCodes, CurrencyCodes, StateCodes)
Account/Package: Fixed an issue when adding a service to an account-package with bracket tiered pricing where the UI would not display the correct pricing unless pricing for all of the service statuses was included in the API request
v8/Account: added Lifeline { get; set; }
v8/Package: Renamed SyncToBillDay to BillOnAccountBillDay
v8/Account/Package (Get, Post, Put, Patch): removed TermId { get; set; } and TermName { get; set; }
v8/Account/Package (Post, Put, Patch): added Details.PackageTerms
v8/Account/Package/{id}/Detail (Get): added Details.PackageTerms, Renamed Details.PackageContract
to Details.LatestPackageTerm, added Details.LatestPackageTerm
v8/Invoice/Item (Get, Post, Put, Patch): added GeneralLedgerId { get; set; } and ServiceTaxCategoryId { get; set; }
v8/Package/Service/PricePlan (Get): added packageServiceDiscounts to Detail
v8/Package/Frequency (Post, Put, Patch): added packageServiceDiscounts to pricePlans Details
v8/Term (Get, Post, Put, Patch): added TermRenewalTypeId { get; set; } and RenewTermId { get; set; }
v8/Invoice/Item (Get, Post, Put, Patch): added PreDiscountAmount { get; set; }
v8/Invoice/Item/{id}/Detail (Get): added Detail.Discounts GeneralLedgerId { get; set; } and GeneralLedgerName { get; set; }
v8/Invoice/Item/Credit (Post): added GeneralLedgerId { get; set; }, GeneralLedgerName { get; set; }, ServiceTaxCategoryId { get; set; } and ServiceTaxCategoryName { get; set; }
v8/Account/Package (Post, Patch): added discountPromoCodes to AccountService details
v8/Account/SharePlan/{id}/Detail (Get): added Quantity { get; set; } to details, participation, items
v8/Account/Package/FromCatalog (Post, Patch): added PackageTerms { get; set; }
v8/Invoice/{id}/Detail (Get): added ReportStorageStatusTypeId { get; set; } and ReportStorageStatusTypeName { get; set; }
v8/Account/SharePlan (Get): Removed Details.ViewSharePlanBucketUsageByServices (These details are still available through the /Account/SharePlan/BucketUsage/ByService API)
v8/Service (Get, Patch, Post): Renamed ‘IsInclusiveTaxes' to 'IsTaxInclusive’
v8/Invoice/Item/Credit (Post): added IsTaxInclusive { get; set; }
v8/Invoice/Item (Get, Patch, Post): added IsTaxInclusive { get; set; }
v8/Package/Service/PricePlan (Get, Patch, Post): added IsTaxInclusive { get; set; }
v8/Account/Service (Get, Patch, Post): added IsTaxInclusive { get; set; } and ServiceTaxCategoryId { get; set; }
v8/Package/Frequency (Get): added IsTaxInclusive column to PricePlans details
v8/Order (Get, Patch, Post): added applyDefaultDiscount to orderPackages details
v8/Account/Package/FromCatalog (Post): added applyDefaultDiscount to root
v8/Package/Frequency (Get, Post, Patch): added ‘transitionLimit’ nullable int to detail level ‘transitionPrices’
V8/Order (Get, Post, Patch): added ‘billDay’ and ‘usageBillDay’ override options to orderPackages details
New APIs:
v8/Package/Service/PricePlan/{packageservicepriceplanId:int}/DiscountRank (Put)
v8/Account/PricePlan (Get, Post, Put, Patch, Delete): packageServiceDiscounts are now added to pricePlans details. If no packageServiceDiscounts are specified then discounts will be copied from catalog
v8/Invoice/ByUdrMediated (Get): returns the invoice the UDR was billed to (or if it was billed at all) for the supplied MediatedID
v8/Account/Package (Get, Post, Put, Patch, Delete):
AccountPackageServiceDiscount:
DiscountTypeID, DiscountTypeName, Frequency, FrequencyTypeID, FrequencyTypeName moved to DiscountAmount
New columns added: PackageServiceDiscountID, GeneralLedgerID, IsProrated, DiscountName
AccountPackageServiceStatusDiscount:
Amount moved to DiscountAmount
New columns added: DiscountPromoCodeID, DiscountID
AccountPackageServiceStatusDiscount details added: List of DiscountAmount
v8/Account/SharePlan/id/AddOn (Post)
v8/JsonApi/Log/ByRequestTracking/{guid} (Get): Retrieves a single JsonApiLog entry by its RequestTrackingIdentity GUID
v8/DataImport/Usage/Feed/{id} (Get)
v8/DataImport/Usage/Feed/{name} (Get)
v8/DataImport/Usage/Tracking/{trackingId} (Get)
v8/DataImport/Usage/Tracking/{trackingId}/Detail (Get)
v8//DataImport/Usage/History/{id} (Get)
v8/DataImport/Usage/History (Get)
v8/DataImport/Usage/History/{id}/Detail (Get)
v8/DataImportHistory/Exception/Paged (Get)
v8/DataImportHistory/{dataImportHistoryId}/Exception (Get)
v8/DataImportHistory/{dataImportHistoryId}/Exception/Paged (Get)
v8/ReportDefinition/[guid]/Download (Get): new property string Link { get; set; }
v8/ReportDefinition/[id]/DownloadLastGenerated (Get): new property string Link { get; set; }
For additional API documentation please see the API Reference documentation on logisense.com.