Skip to end of metadata
Go to start of metadata
In this article

JeraSoft presents a major release of JeraSoft Billing v3.23.0 with more improvements for better performance. Please find a complete revision list below.

Major Updates

Rate Analysis 2.0

We have fully reworked and improved the section to best fit industry requirements. It has now a better visual representation of analytical data, as well as a more intuitive set of settings.

Screenshot: Rates Analysis 2.0 section

By re-implementing the Rates Analysis section from scratch, we also achieved better performance. The overall experience of workflow is now smooth and efficient.

We've also added some of the new options for analysis:

  • Sources Volume and Sources Quality

These termination-related options are calculated based on the Summary Report.

The Sources Volume is displayed next to each vendor, as well as per destination (see screenshot below). The relative values are displayed based on the selected sources (i.e., 50% of traffic to certain destinations among the selected vendors). Whereas the absolute values show actual traffic-related data (i.e., what is the total volume for the period). There are even more relative progress bars that display volumes among selected vendors relative to each other.

Useful feature

You can sort by Source Volume. The system will sort by the summed row volume (i.e., the destination that has more traffic to it in statistics will be first). That way you will see the most popular destinations that get the majority of traffic.

Screenshot: Sources Volume information

The Sources Quality is displayed per every row as ASR and ACD parameters for traffic (see screenshot below).

Screenshot: Sources Quality information

  • Master Volume and Master Profit

These origination-related options are calculated based on the Orig-Term report.


A Master Source filter must be selected for any Master-related output columns.

The Master Volume values are displayed in a vertical breakdown as opposed to horizontal for Sources Volume (because we have a single master source). That way the system shows the most popular destinations for the selected customer.

The Master Profit is displayed per destination, showing relative and absolute values, highlighted in color (green for profitable, and red for unprofitable destinations, respectively).

  • Master Routes

The column shows how many accepted routes there are according to the Routing Plan on the selected master entity. The icon is clickable and prompts you to the Routing Analysis for the respective case.

Screenshot: Rates Analysis 2.0 output

The default amount of statistics taken for analysis is the last 7 days. To alter this setting, you may specify the Volume Interval field.

Please find more information about functionality and usage practices in our User Guide and Knowledge Base articles.


Please note that the Rate Analysis (old) and LCR List report are considered deprecated and will be completely removed in future versions.


If you lack some of the previous functionality in the new Rate Analysis section, please let us know by emailing [email protected]. Thank you!



We've improved the efficiency of the Calculator service by implementing two major ideas:

  • moving queue handling job to dedicated Calculator Workers;
  • synchronized internal caching-like process of handling calculated data that leads to small automatic reratings, where necessary, to keep clean Packages limits calculation.

The changes also include:

  1. The requested calculation queue without numbers for zero calls;
  2. New System Services for:
    a. balances synchronization;
    b. aggregation of the summary report (single thread);
    c. rerating.

What's more, the rerating process does not influence the overall calculation speed from now on.


The confirmation of the rerating process now happens instantaneously without indicators change. The actual rerating (incl. indicators change for queue) happens only when the rerating service completes its job.

Calculation Node

We've introduced a separate Calculation Node for the need to calculate huge amounts if the Master struggles to process solely.

The new node does not serve as a Redundancy at the same time and can not be used to take over the Master node if the latter fails. It should be used in addition to at least one regular Redundancy Node in the Cluster.

Reports To Email


We are continuing to improve the reports monitoring tools in the system. The previously introduced To Email tab has added flexibility.

The scheduling mechanism has been reworked from fixed-only logic to the new fixed and periodic runs. The Fixed run for reports querying is similar to the original scheduling style, having the list of times of the day when execution should fire. Each timing option has its own Days of the Week field.

Screenshot: To Email tab (fixed run)

Example of usage:


  • Time = 08:00 / Days of the Week = Monday, Wednesday
  • Time = 16:00 / Days of the Week = Tuesday, Thursday

Execution will be performed on:

  • Monday 08:00,
  • Tuesday 16:00,
  • Wednesday 08:00,
  • Thursday 16:00

If the To Email rule was created on Monday at 15:59, the Next Run will be calculated as Tuesday at 16:00.

If the To Email rule was created on Thursday at 16:01, the Next Run will be calculated as Monday at 08:00.

The Periodic run works based on specified periods of execution.

Screenshot: To Email tab (periodic run)

Example of usage:


  • Query “period” = “Last 1 Hour”
  • Interval = “1 Hour”
  • First Run = 2020-01-01 01:10 +00

Execution will be performed:

  • At 2020-01-01 01:10 +00 for 00:00 - 00:59 (of that day)
  • At 2020-01-01 02:10 +00 for 01:00 - 01:59 (of that day), etc.

For added convenience, the Period of reports' execution will be prefilled according to the smart interval used in the Query template:

Screenshot: Query Template for Last 15 Days report


If you want to receive reports for a previous month every 1st day of the next month, you will need to:

  • set Last Month as an Interval in the Query
  • set First Run in the To Email as the first day of the month

The report will be queried for the previous interval and be sent to the respective email/-s on the first day of each month.


For Report Queries with Сustom Period, scheduling sending reports to email will not be available.

Mail Templates

We have adjusted the Mail Templates for reports To Email. The current default template will look like this:


Report: ${report["name-full"]}


Report Query #${report["id"]} "${report["name"]}"
Interval: ${report["interval"]}
Generated by
JeraSoft Billing


ALL "Reports To Email" templates will be updated - defaults and custom ones. Custom Templates will be updated per row, according to template variables that they contain.

US Taxation

SureTax and Compliance Solutions tax engines integration has undergone some modifications.


We've implemented Safe Harbor logic into the functionality to optimize the taxation process. In the respective field, you may add a numeric value to specify static traffic distribution between interstate/intrastate:

Screenshot: SureTax Taxes Profile

Simple Example:

A customer uses $1000.00 worth of traffic. The Safe Harbor setting is 64.9% (for Interstate). Derived from that - Intrastate is 35.1%.

Therefore, real traffic distribution is ignored due to the set value, which makes the taxation process much faster.

Compliance Solutions

There were several improvements for the Compliance Solutions Taxes Profile as well. We've added:

  1. Extra Charges Settings for Extra Charges taxation with defaults for Product Code and Service Code.
  2. Package Fees Settings for Package Fees taxation with defaults for Product Code and Service Code.
  3. Services Settings - we've implemented Safe Harbor logic into the functionality to optimize the taxation process. You may add a numeric value to specify static traffic distribution between interstate/intrastate in this field.
  4. Defaults - default settings for Services taxation.

Screenshot: Compliance Solutions Taxes Profile

Tax Rollback

For easier management of voided Invoices, we've added tax rollback support. It works using transaction numbers, by which Compliance Solutions identifies the results of each request. The system will store these in Invoice parameters and, in case of Invoice deletion, send a request for deletion of corresponding results on the Compliance Solutions side.


For both SureTax and Compliance Solutions, the Safe Harbor logic applies to transactions for services only (i.e. calls).

Avalara Integration (v3.23.3 & older)

We're introducing the integration with another third-party tax calculation service - Avalara. You can set up this Taxes Profile in the respective section.

Minor Updates


We've adjusted the DID processing to be more precise. Now, the termination side is checked equally to origination, when a call is made to a DID number. The system checks both orig and term allowed call volume, balances, Packages, and limits.


Telcobridges (CDR)

We've extended integration with our partner - Telcobridges - to include CDR files as well.


In the newest version, we've added another CDR-type integration - with Netsapiens.


We've adjusted the Brekeke collectors (both CDR and RADIUS) to extract numbers containing the '+' sign from p-asserted-identity and p-preferred-identity fields.


Radius collector

We have modified the Sansay RADIUS collectors ALWAYS to calculate volumes on our end. That way we will get more precise results for volumes than just getting the rounded-up information provided by the equipment.

SIP collector

We have modified the Sansay SIP collectors. For each vendor (route) under the Contact header, we have added the following info: From and P-Asserted-Identity, where From = P-Asserted-Identity = < sip:{src_party_id}@{orig IP / name} > (quoted).

SIP (v3.23.4 & older)

For the SIP integration, we've broadened our functionalities and now support compact forms of the SIP headers as well.

Rates Generator

To align best with business processes, we've introduced a couple of changes to the overall rates processing logic of the Rates Generator tool:

  1. We've modified the Margins mechanism to margins instead of markups.

  2. When a Terminator is chosen as a source for the Rates Generator rule, the system will check its accounts' Rate Tables along with a general one, assigned to a client's level.
  3. When a Terminator's Tag is chosen as a source for the Rates Generator rule, the system will check the termination Tags on its accounts in addition to Tags, assigned to a client's level.

Traffic Processing

Dst Prefix usage

To optimize call processing speed, we've slightly reworked how the destination prefixes will be displayed. If you previously had a Code filter with a wildcard in it ('*'), it will be removed, and the filter will be displayed as Dst Prefix.

IMPORTANT: Migration of Traffic Processing rules

When updating to the newest version, please keep in mind that some of the settings changed. During migration, we WILL DELETE the Code filter if it contained a wildcard. We will then add the needed destination to the Dst Prefix field WITHOUT the wildcard. 

INITIAL Account Ident

To identify ANI authenticated Accounts, the ANI ident parameter will be taken from SRC Party ID or DST Party ID fields after all initial translations. The SRC Party ID BILL and DST Party ID BILL values will be taken from the initial xDR (as they are not affected by traffic processing).


In the reports filters, we've added more graded intervals for Up to a day section: This Hour, Last Hour, Last 6 Hours, Last 12 Hours:

Screenshot: Up to a day intervals in reports

Client Panel

We've allowed customizing the timeout for all requests that Portal Frontend sends to Portal Backend. Now, there is a environment.httpTimeout parameter in the customer-params.default.json file that allows configuring this timeout.

Data Sources

We've added SFTP to the list of available Connection Types for collecting data by a Data Source.


Warning - CoreAPI methods change

The method coreapi.reports.xrds is DEPRECATED and will be fully replaced in the next versions. We've added a new complementing method - coreapi.reports.xdrs_list.query. It will be renamed as coreapi.reports.xdrs.query in the next versions.

Provisioning API

Warning - Changes that introduce backward incompatibility

The sent data structure has been changed to contain information about an event. Now we add the event key in the sent info, and wrap the previously sent data in the data key:

  "event": {
    "dt": "2000-01-01T00:00:00+00:00",
    "events_id": "clients.update",
    "object_id": 12
  "data": {
    "id": 12,
    "field": "some-value" 

The event value contains the following data:

  • dt: the timestamp of the event in the ISO8601 format;
  • events_id: the happened event;
  • object_id: the identifier of an object, to which said event happened.

Additionally, we've changed the way the data is sent to make it consistent:

  • the clients.accounts.delete, clients.archive, clients.balance_notzero, clients.balance_zero, and clients.delete currently events send empty data: {} so as to not duplicate information sent in the event key;
  • the clients.custom_fields_update event has been renamed to clients.custom_fields.update for consistency with the CoreAPI naming.

Invoice Templates

We've added the new variable account_name to the Packages table in the Invoice Templates.


We've added a default Agreement entity to the fresh systems (upon installation). The settings are as follows:

  • Notification Day - Monday
  • Increased Rate - 7 days from last midnight
  • Decreased Rate - 0 days from last midnight
  • Unchanged Rate - 0 days from last midnight
  • New Rate - 0 days from last midnight
  • Closed Rate - 7 days from last midnight
  • Reseller - Company Name
  • Sort Order - 100

Statistics Archiving

We've set the Statistics Archiving Delay setting as 35 days by default. This will allow the full month of re-rating without needless re-archivation of data, which should be enough for the largest typical invoicing period.

UI Improvements


We've added the Charges Coverage filter to the Transactions advanced search. It allows seeing charges that have already been covered or not covered by some Invoices. 

Screenshot: Charges Coverage filter

Active Sessions

We've added Code Deck and Timezone selection to the Active Sessions Output settings.

Screenshot: Active Sessions section


  • We've added the End date column in the Special Rates list:

Screenshot: Special Rates list

  • For the advanced search in the Rates section, we've added the Notes field:

Screenshot: Advanced Search in Rates

  • In the Import History tab of a Rate Table, the possibility to undo an import is available for the latest import only;
  • In the Import Advanced Settings, we've added a user's Timezone display for the AZ close date:

Screenshot: Rates Import Advanced Settings block

Regional Settings

We've added Year/Month Format and Date and Time w/TZ Format fields to the Regional Settings in the Settings section.

Screenshot: Regional Settings block

Also, the %z part was removed from the Date and Time Format default value. Therefore, if you want to keep it as a timezone, you need to manually add %z.

Taxes Profiles

We've removed the 'percent' icon from the interface. Now you can access the tax values of a Customer type Taxes Profile by clicking its name.

DID Management

The DID Management section has been renamed to the DID Inventory.


We have removed the deprecated Call Shops, Calling Cards, and Top-Up Cards sections from the default Role view.


API Testbed

The API Testbed section is DEPRECATED.

  • No labels