Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Moved the Branding configuration into a new ‘Owner Information’ tab

  • Added the following new fields to the Owner Information tab which can referenced with new Invoice tokens and are shown in some reports

    • Owner Name (required)

    • Owner Display Name

    • Country and Address

    • Owner VAT#

    • Owner Banking Reference ID

    • Owner Registration ID

    • Owner eInvoice Endpoint ID

  • Added a 'Bill Prepaid Adjustments' option to the Owner Configuration screen which provides control on how prepaid periods are billed

    • If this setting is disabled then only the initial prepaid package charges will be applied each billing period when the prepaid account-package becomes effective on an account. Changes made after the account-package effective date/time is billed. Additional charges that are applicable after that based on changes made (service/package status changes, upcoming cancellations, refunds, etc.) will not be billed until the next billing period

    • If this setting is left enabled then existing system behavior will still apply

  • A Reporting tab has been added which indicates if a reporting database has been configured. When a reporting DB is enabled reporting data in LogiSense Billing can be synced to a replica database. For more information on this feature please contact us

...

  • Moved Invoice and Credit Note Template files into AWS S3 buckets allowing template updates to be made without the need to log into the LogiSense Billing AdminPortal

  • Added a new Invoice Template Type XML eInvoice which stores the template as a text document instead of a Word Mail Merge template

    • An Invoice Delivery can be setup to use the eInvoice template which renders the XML text document during billing

    • The XML text document can be exported to an external transfer location using the Offline Delivery option

    • Added the fields ‘Added VAT #’, ‘eInvoice Scheme ID’ and ‘eInvoice Endpoint’ fields to the Account / Settings screen Account tab

  • Modified Invoicing logic to adjust invoices with a negative balance to a zero balance value as new invoices are created and the negative balance is applied to the next invoice. This approach addresses issues with aged invoice balance reports

  • Added a new Account Id invoice token

  • Added a currency 'Format' field when configuring invoice or credit note templates. This setting allows the default formatting for tokens of type 'Money' to be overridden on invoices/credit notes

  • Adjusted validation to allow using the same Alias name when adding custom reports to invoice templates

...

  • Many UI and API validation fixes and improvements

  • Billing and rating performance and resiliency improvements

  • Security improvements

  • Improved performance when loading large reports

  • Removed the total count value from the paging controls of many screens to address performance issues

  • Modified package contracts to permit them to be added to an account-package with any start date, even a date that precedes the effective date of the account-package

  • Modified general ledger names to support up to 255 characters

  • Updated several screens to adhere to the standard left hand side menu format

  • Moved the Rating Exceptions and Import History screens into the Operations / Monitor menu

  • Added LogiSense Billing Entity ID, Single Sign-On URL and Billing Tenant URL details to the Owner Configuration SAML Setting tab

  • Fixed an SSO issue where SCIM users would remain in the SCIM default role group after a new group was configured on the user

  • Removed the option to add a new default account service status from the Services screen

  • Removed the field type 'Text' when creating custom fields to address performance issues. Existing custom fields setup with the Text field type will still be able to use this type

  • Fixed an issue where an account-package with an effective date time value of 00:00:00.000 could result in an extra charge for a prepaid, charge full period account package

  • Fixed an issue where voiding an invoice could result in an incorrect next bill date being set on prepaid account-packages with non-recurring charged services

  • Fixed an issue with prepaid packages where an account-service status could not be changed from a suspended status to a billable status in some scenarios

  • Fixed an issue that prevented the reversal of a remaining partial transaction on a sub-account if the sub-account was configured with a different currency than its invoicer account

  • Fixed an issue that prevented a partial reversal of a previously reversed transaction that was voided

  • Fixed an issue that could cause invoice re-rendering to fail

  • Fixed an issue where a package configured to bill on its own bill day would be set with a bill day of the 28th instead of the 1st when the account-package was added on the 29th, 30th or 31st day of the month

  • Fixed an issue that could generate an unexpected API error response when attempting to select a product code while creating an order

  • Fixed an issue where re-rating might not be triggered when an account in overage had an account-service added containing a shared bucket and the account-service was later cancelled

  • Fixed an issue that could cause email template tokens to fail to resolve

  • Added a BillAccount permission to the Account Profile permissions list to control if a user has permissions to bill an account or not

  • Fixed a permission issue that prevented a user with valid permissions from creating a sales order

  • Fixed a permission issue that prevented a user with read-only permission from accessing the package frequencies screen

  • Fixed several issues with data imports and the Data Import screen

  • Added a totalCount property to child embedded datasets for use in invoice templates

  • Modified the Developer / Server / API screen not to display deprecated API versions in the Version drop down list

  • Modified the CompanyIdentifier field to support only 20 characters to match the Avalara character limit

  • Modified customer portal UI to clearly indicate which payment methods are active on an account

...

  • API Enhancements:

    • API error handling fixes and improvements

    • Added the ability to specify a Idempotency Key which can be optionally sent in with a non-GET API request

    • Added a new Client ID/Secret Authentication Type for API Users (configured on the Setup / Users & Accounts / Users screen). Instead of authenticating with a username/password, with the password following password expiry rules, the user will authenticate with a Client ID (the username) and client secret (an API key), which does not expire

  • Deprecated APIs:

  • U

  • Updated APIs:

    • RAccount/Summary (all versions)

    • Account/Summary/Paged (all versions)

    • Udr/Aggregate/UsageRate (all versions)

    • Udr/Aggregate/UsageRate/Paged (all versions)

    • Udr/Aggregate/UsageRate/<id> (all versions)

    • v9/BillRun/Schedule//Recurring (v5-v8 versions still available)

    • v9/Account/Summary/{id:int} (v5-v8 versions still available)

  • Updated APIs:

    • v9/Account/Package/FromCatalog: added nonBillableServiceStatusTypeName to AccountPackageFromCatalogServiceDTO, added ImportLastUsageBilled to AccountService (but not on AccountServiceDTO)

    • v5-v8/Package/Frequency/id/Detail: PriceBookId is now included in the usageBucketTiers, moneyBuckets detail sections

    • v9/Package/Frequency/id/Detail (Get): usageBucketTiers, moneyBuckets, defaultUsageBucketTiers, defaultMoneyBuckets are no longer returned in the detail section

    • v5-v8/Package/Frequency/id/Detail (Get): PackageFrequencyDetail.usageBucketTiers, PackageFrequencyDetail.defaultUsageBucketTiers to use new DTO UsageUnitsBucketTierDTO PackageFrequencyDetail.moneyBuckets, PackageFrequencyDetail.defaultMoneyBucketTiers to use new DTO MoneyUnitsBucketTierDTO

    • v9/Package/Frequency/id/Detail (Post, Put): PackageFrequencyDetail.usageBucketTiers, PackageFrequencyDetail.defaultUsageBucketTiers to use new DTO UsageUnitsBucketTierDTO PackageFrequencyDetail.moneyBuckets, PackageFrequencyDetail.defaultMoneyBucketTiers to use new DTO MoneyUnitsBucketTierDTO

    • v9/Template (Get): made public

    • v9/Template/{id} (Get): made public

    • V9//Invoice/Item (Get): Added public int InvoicerAccountId { get; set; }, public string InvoicerAccountName { get; set; }

    • V9//Invoice/Item/Paged (Get): Added public int InvoicerAccountId { get; set; }, public string InvoicerAccountName { get; set; }

    • V9//Invoice/Item/Paged/Detail (Get): Added public int InvoicerAccountId { get; set; }, public string InvoicerAccountName { get; set; }

    • V9//Invoice/Item/{id} (Get): Added public int InvoicerAccountId { get; set; }, public string InvoicerAccountName { get; set; }

    • V9//Invoice/Item/{id}/Detail (Get): Added public int InvoicerAccountId { get; set; }, public string InvoicerAccountName { get; set; }

    • v9/Payment (Get, Post): Added public int PaymentStatusTypeId { get; set; }

    • v9/EventSubscription/Webhook (Post, Patch): Added public string OAuthClientSecret { get; set; }

    • Account/Package/{id}/Detail (Get, Post, Patch): Removed AccountService CurrentRatePlan from accountServices Detail and removed AccountPackageRecurringPriceTier CurrentRatePlan from AccountPackageRecurringPriceTier Detail

    • Account/Package/Paged/Detail (Get, Post, Patch): Removed AccountService CurrentRatePlan from accountServices Detail and removed AccountPackageRecurringPriceTier CurrentRatePlan from AccountPackageRecurringPriceTier Detail

    • Account/Service/{id}/Detail (Get, Post, Patch): Removed AccountService CurrentRatePlan from Detail

    • Account/PricePlan/{id}/Detail (Get, Post, Patch): Removed AccountPricePlan CurrentRatePlan from Detail

    • Account/PricePlan/Paged/Detail (Get, Post, Patch): Removed AccountPricePlan CurrentRatePlan from Detail

    • Package/Service/PricePlan (Get, Post, Patch): Removed RecurringPriceTier CurrentRatePlan from RecurringPriceTier Detail

    • v9/Owner (Get): Added public bool IsReportingDatabaseEnabled { get; set; }

    • v9/ReportDefinition (Get, Post, Put, Patch): Added public bool UseReportingDatabase { get; set; }

    • AuthorizationServer/api/V9/Access/Login (Post): Added public string client_secret { get; set; }

    • v9/Account/Detail (Get, Post, Put, Patch): Added public ListResultsDTO<AccountTaxExemptionDTO> AccountTaxExemptions { get; set; }, removed public ListResultsDTO<AccountTaxExemptLevelDTO> AccountTaxExemptLevels { get; set; }

    • v9/ReportDefinition/{reportDefinitionId}/Render (Post): ReportRequest Header Updated:

      • Added “onDemandFilters” as of v9

        • Supports dataSourceName and dataSourceColumnName

        • filterId removed

      • Deprecated “filters” (can use in API version v8 and below)

    • v9/Usage/Rate (Get, Post, Put, Patch): Added GeneralLedgeId and ServiceTaxCategoryId

    • v9/Owner (Get, Patch): Added public bool BillPrepaidAdjustments { get; set; }

    • v9/Account/Package/FromCatalog (Post): Added public int? discountPromoCodeId { get; set; } and
      public string discountPromoCodeName { get; set; }

    • v9/Order (Get, Post, Put, Patch): Added public int discountPromoCodeId { get; set; }

    • v9/Usage/Rate/Group (Get, Post, Put, Patch): Added public int GeneralLedgerId { get; set; }
      and public string GeneralLedgerName { get; set; }

    • v9/Usage/Rate/Group (Post, Get): Added public bool IsTaxInclusive { get; set; }

    • v9/Account (Get, Post, Put, Patch): public bool ZeroInclusiveTaxWhenExempt{ get; set; }

    • v9/Account (Post, Put, Patch, Delete):

      • Added optional custom taxAddresses to details

        • public ListResultsDTO<TaxAddressDTO> TaxAddresses { get; set; }

      • and TaxAddressDTO:

        • public string Name { get; set; }

        • public bool IsShared { get; set; }

        • public int? AccountId { get; set; }

        • public string AccountName { get; set; }\

        • public int AddressId { get; set; }

        • public bool SaveTaxAddressOnInvoicer { get; set; }

        • public string Address1 { get; set; }

        • public string Address2 { get; set; }

        • public int? StateId { get; set; }

        • public string StateName { get; set; }

        • public string StateCode { get; set; }

        • public int? CountryId { get; set; }

        • public string CountryName { get; set; }

        • public string CountryCode { get; set; }

        • public string ZipCode { get; set; }

        • public long? TaxJurisdictionCode { get; set; }

        • public string CityName { get; set; }

        • public DateTime? TaxJurisdictionCodeUpdated { get; set; }

        • public long? TaxJurisdictionCodeOverride { get; set; }

        • public bool? IsIncorporated { get; set; }

    • v9/Account/Package (Get, Post, Put, Patch, Delete): Added ability to set optional shared taxAddressId or custom taxAddress in details

    • v9/Account/Package/FromCatalog (Post): Added ability to set optional shared taxAddressId or custom taxAddress

    • v9/Order (Get, Post, Put, Patch, Delete): Added ability to set optional shared taxAddressId or custom taxAddress in OrderPackage

    • v9/Rerate (Get, Post, Put, Delete): public in v5, internal in v6 onwards

    • v9/Account/Package (Post, Patch): Added int IsFreeTrial { get; set; }

    • v9/PaymentMethod/CreditCard (Post): Added int PaymentGatewayId and string PaymentGatewayName

      • NOTE: this is a Breaking Change as more than one PaymentType is now permitted to use the same CardType on different PaymentGateways. Prior to this change a CardType could only be used once, so a PaymentType was unique

      • This does not affect Adyen integrations since only one Adyen PaymentGateway is allowed

      • For Spreedly, if a CardType is used multiple times, then the PaymentGateway MUST be provided for these API routes, or an error will be returned

    • v9/PaymentMethod/BankAccount (Post): Added int PaymentGatewayId and string PaymentGatewayName

      • NOTE: this is a Breaking Change as more than one PaymentType is now permitted to use the same CardType on different PaymentGateways. Prior to this change a CardType could only be used once, so a PaymentType was unique

      • This does not affect Adyen integrations since only one Adyen PaymentGateway is allowed

      • For Spreedly, if a CardType is used multiple times, then the PaymentGateway MUST be provided for these API routes, or an error will be returned

    • v9/PaymentMethod (Get): Added int PaymentGatewayId and string PaymentGatewayName

  • New APIs:

    • v9/

For additional API documentation please see the API Reference documentation on logisense.com.