Skip to main content

Release 3.25

JeraSoft presents a major release of JeraSoft Billing 3.25 featuring logical and procedural improvements along with the usual performance boost. Please find a complete revision list below.

Major updates

With this new release, we've started a considerable rework of one of our core sections – Resellers. Before v3.25, this section has been covering the following use cases:

  • Partitioning (the ability to use the billing system by multiple isolated companies);
  • Multi-level billing (the ability to bill the Reseller itself, while the Reseller bills its customers);
  • Multiple legal entities (the ability to use different legal entities while interacting with customers);
  • Managers isolation (the ability to allow managers to see only the customers they "own").

As a part of the simplification plan, the last two items have been affected in v3.25. We started with logical changes in differentiating Companies from Legal Entities, and reshaping Managers.

We've distinguished Legal Entities out of Resellers to provide added convenience to the multibranding case. If you are using our system to manage things for your multiple brands / sub-companies, this separation will allow you having a group of Clients under the same Reseller but billing them under different Legal Entities as needed.

You can manage the Legal Entities in the respective section under the Configuration tab. When creating a Legal Entity in the system, you can fill in legal company details, email credentials used to send invoices and notifications, specify logo and invoicing settings:

Legal Entities section

A Legal Entity must be assigned to the entities in the system that are invoiced:

  • Clients;
  • Call Shops;
  • Resellers (ONLY if used in the multi-level billing scenario).

Managers (isolation)

Managers as entities were covering important use cases like visibility of owned customers and isolation of departments. However, it was within the system functionality that Managers required a matching User creation. To simplify this flow and reduce the complexity of the system usage, we have completely removed this unnecessary layer and allowed to assign Clients and Rate Tables directly to the Users.

Apart from general Users, you can also create Supervisor Users. Supervisors will be able to see all Clients, Rate Tables, and Call Shops that are assigned to any User of the Reseller or the Reseller directly. Regular Users are allowed to see/manage only those Clients and Rate Tables that are assigned to them or directly to the Reseller.

Users section

Logical change breakdown

Regular Users (previously, Users registered under Resellers) became Supervisors. The Users previously registered under Managers became regular Users.

Meaning, the Supervisors now have all the same functionality that the Users under Resellers had previously: they see all the Reseller's customers, including those owned by managers (now Users).

Within the scope of the Resellers/Managers rework, there have been several improvements for Users in the system:

  • A filter by Owner User has been added to the list of clients, accounts, invoices, transactions, subscriptions, rate tables, and call shops;
  • A filter by Owner User has been added to all related reports (Summary, Orig-Term, Invoicing, Active Sessions, Mismatches, Customer Dynamics, Profit Report, xDRs List, and xDRs Rerating);
  • Separate columns for count of Clients and Rate Tables have been added to the Users section and a column for count of Users to the Resellers section;
  • The column with count of Call Shops has been removed from the Resellers section due to earlier deprecation of the call shops;
  • The Full Name field within the User creation form became required. During update, if a User does not have a Full Name field filled in, we will put their login there.
note

We are now displaying current user's full name along with the login in the user interface (i.e., if your user login is "demo", but the full name is set to "Demo User", the latter will be displayed).

Archiving a User

Archiving of a User is now possible only to their reseller's Supervisors, parent reseller's supervisors, and admins (users not limited by a reseller).

The form shown on archiving a user now allows reassigning Clients, Rate Tables, Call Shops and Reports Queries owned by that user to any other user within the same reseller except for the deleted one.

warning

When archiving a User, if it has at least 1 Client, Call Shop or Rate Table, and the new owner is not specified - such archiving will not be allowed.

Resellers (restructuring)

The Resellers section keeps its two main purposes – partitioning and multi-level billing management. Apart from general info and Mail Templates configuration, which are familiar, there are two new sections within the edit form – Capacity Control and Multi-Level Billing.

Capacity Control basically sums up bidirectional capacity for all the Clients under this Reseller (the previous logic is intact, except visually it is now a separate section).

The Multi-Level Billing section allows for billing parameters management to cover actual reselling/agent schemes. If the configured reseller should be part of a multi-level billing scenario, you can set rates and needed taxes for them here (see screenshot below for full fields list).

Resellers section

Clients overview

The Client entity got a complete summary tab – Overview, which provides visibility on general and billing data, accounting and product information, accounts, assigned DIDs and active traffic processing rules all in the same view. Each section brings clickable data and actions. For example, you are able to generate a new Invoice, Transaction, or assign a Subscription – all from the Client Overview tab. Also, each tab section is cross-linked with the respective filtered section of the billing system to bring you more insights into the inquired data.

Clients overview tab

note

For convenience and clarity of the users, the Force Rates Notification action and the Auto Payment settings were moved from the Edit tab to the Clients Overview.

Rate Tables – by Service & Tag

To facilitate the convenience of rates management for multiple Services and Tags, we have reorganized the way the Rate Table settings are arranged. Rates for different Services, Tags, and Policies are now defined per Rate Table. It will benefit your flow of rates management if you are, for example:

  • managing multiple services for the same set of customers, or
  • utilizing US jurisdictional billing (more straightforward import / export).

Consequentially, to allow billing for multiple services or various tags, we have added an ability to assign multiple Rate Tables to a Client or Account.

Creating a new Rate Table

Assigning multiple Rate Tables to a Client

note

Following this rework, parameters Tag, Service, and Policy are removed from the import and export flows as redundant.

Parameters Tag and Service are removed from simulation tab in Rate Table settings.

info

If you are only using a single Service and do not use Tags or Policy – nothing will change for you.

Rates Generator

Within the scope of the Rate Tables rework, there have been several adjustments for Rates Generator in the system:

  • Tag and Policy options are removed from the Adjust section in the settings;
  • Policy filter is removed from the Rules settings, generation is now allowed only for the regular policy;
  • Tag filter is moved from the rule settings to the generator settings;
  • Tag and Service settings are responsible for selecting Rate Tables from terminators specified in rule sources;
  • After migration, each Rates Generator that has rules with multiple tags will be split into separate generators (1 for each tag).

Rates Generator parameters

Client Panel

Client Panel users can now filter Rates under different Tags (if such are present in the system), by choosing a corresponding option the Service Type field. In the screenshot below, the Tag is "test":

Rates section in Client Panel

Rates Notification

Following the Rate Tables rework, the specifics of Rates Notification has been adjusted to send separate emails for each Service / Tag pair.

Rates Analysis

The termination rates' information from the Routing Analysis output has details on which Rate Table the Rate came from.

Minor updates

Rating

Deleted Rates

There are cases, when statistics might be linked to the Rates that are no longer present in the system, such as:

  • old statistics are restored from the archive;
  • some rates have been rotated according to the "Delete not actual rates after" setting;
  • some rates have been removed manually by a user.

This may create confusion and lead to unexpected results when viewing reports. To assist you with that, we've added:

  • distinctive visualization of the deleted rates in reports;
  • one more section in Mismatches Report to quickly identify such cases;
  • a filter to the xDRs Rerating - Match Codes/Deleted to be able to rerate such xDRs.

Deleted Rates in reports

Deleted Rates section in the Mismatches Report

Deleted Rates in the xDRs Rerating

Rerating

We've added a new filter in xDR Rerating – by Account.

Also, now you can be aware that the rerating process is complete through respective notifications in the Events Log.

Rates

You can now specify multiple Dst Codes and Code Names in the Add Rates form delimited by a comma or as ranges (for codes).

note

Please note that using Rates with an empty DST code is unintended, and should be replaced with multiple Rates (1-9) if used in billing.

Templates

In the Rate Tables, you now have the visual ability to create, update and delete import and export templates.

Import template create and update

Export template create and update

Automatic Email Import

Sometimes, the mail servers return the email subject with new line symbols (\r\n), which makes it inconvenient to utilize the functionality of the automatic email import. For such cases, we've set the system to remove these symbols before matching an email subject to any templates for automatic import.

Import History

The total counter in the Import History was divided into two indicative columns: Total Rows and Total Rates.

Import History tab

Apart from that, you can now control when the system will rotate old Import History records from the respective section in system settings.

Rotation of import records

Transactions

Payment confirmation

When a new Payment Transaction is added, there will be a possibility to send a notification to the customer. The Mail Template for it can be customized under a respective Reseller, and will include these variables:

  • ${amount}
  • ${currency}
  • ${payment_datetime}
  • ${notes}

Notify about Payment Transaction

Change of currency

To keep correct accounting data, it is now not allowed to switch currency of the Client once the accounting transactions are created in the system.

tip

Once you create a Client and the system tracks any Transactions with them, you cannot change the currency in their settings anymore. However, if you have to change the currency for the Client and would like to have new Transactions in that currency, here’s what you can do:

  1. Archive the existing Client entity, all previous Transactions with them stay intact.
  2. Add the Client as new and assign the currency in which you would like to receive payments from them.

From this point on, the new Transactions of the Client will be in this new currency.

Packages

Aligning to calendar months

Please note that we are introducing a restriction on Subscriptions activation on the last days of the month (29th, 30th, and 31st). The restriction is not applicable if the Align to Payment Terms option is enabled in the corresponding Package.

UI changes

In Packages creation form, the following was rearranged:

  • application settings were moved to a dropdown under General Settings;
  • Start and Stop dates were renamed to Effective From and *Effective Till *and grouped under the Time Limit subsection to emphasize their application logic – those Packages can be applied only during a defined period.

Package application settings

info

It is not possible to change the effective dates of Packages during editing of a created entity.

Routing

Routing Plans

We've added a Rule Status to routing rules: "Active" and "Disabled". You can just switch off a checkbox to temporarily disable any particular rule in the Routing Plan.

Routing Rules tab

Routing Analysis

We've introduced a number of improvements to the Routing Analysis output:

  • The system now displays Client and Account Capacity to alert about capacity limitations;
  • You can see what Allowed Volume value we will give at the time of authorization request;
  • A red warning is displayed if the Client (or Reseller) has a balance less than or equal 0;
  • It is important for the analysis to see which Routing Plan is used for the routing choice (in case of additional Routing Plans scheme usage). Therefore, we put an indication badge on the Routing Rule tooltip.

Client ORIG Capacity display in the Routing Analysis

Allowed volume information in Routing Analysis output

Insufficient Balance Warning in Routing Analysis output

Main and Additional Routing Plan badges in Routing Analysis output

info

If the DST Party ID is a DID number, this information will be displayed in the Routing Analysis output.

Balancing

Previously, the balancing counters for routing rules were cleared by the Traffic Rules Manager once every 6 minutes. If the system processed very little traffic, it might've even seemed that balancing was not working at all, because the counters were cleared too often. Therefore, we decided to move the cleaning of counters to the Cleaner, which launches once a day (by default).

Taxes Profiles

Avalara certification

In cooperation with Avalara, we have deepened the integration of our system with their tax service, AvaTax. This integration not only allows flexible tax calculation but also provides an opportunity to conduct tax reporting in Avalara. Within this update, we've added the ability to:

  • customize seller request options (business class, service class, company reference, franchise, facilities, regulated) in Taxes Profiles;
  • verify the correctness of user's credentials;
  • define exempt taxes;
  • configure client request options through custom fields in Reseller settings;
  • delete transactions on the Avalara side in case of void Invoices (for example, when the user deletes an invoice with taxes calculated via Avalara, the Invoicing Manager sends a request to delete the corresponding transactions in the Avalara system).

Avalara exempt taxes

Avalara custom fields

Compliance Solutions

To avoid the natural limitations of the Exemption Codes field for the exemption from specified taxes in the Compliance Solutions Taxes Profile, we introduced the Full exemption checkbox for convenient exemption from all taxes.

Full exemption checkbox for Compliance Solutions Taxes Profile

note

The "Customer" Tax Profile type was renamed to "Internal".

Empty tag Taxes

Previously, you could create an empty tag (" ") for a tax value to apply it for both tagged taxes and taxes with a "@" placeholder. We've removed this possibility to avoid confusion and prevent accidental empty tag creation.

warning

If you have used taxes with an EMPTY TAG, which has been applied to any type of client consumption, you need to migrate those to a set of taxes - single per each rate tag.

Low Balance Profiles

We've limited the Low Balance Profiles usage to the Reseller per se instead of the Reseller and its sub-resellers as it was before.

Client Panel

In the Client Portal, the Dashboard now displays active Subscriptions (and their general details) and assigned DIDs for the customers to check their limits for usage and allocated numbers.

Subscription limits

Subscription DIDs

Subscription details

Gateways

We've improved the Gateways section by adding:

  1. A Status (active, archive) to the Gateways – from now on, when you click the Delete button, the equipment will be archived, not fully deleted.
  2. The new option to the ORIG/TERM ANI Ident field in Gateway settings - SRC/DST Party ID (after translations). If selected, the SRC and DST numbers are taken from the SRC/DST Party ID (EXT) field in the CDR.
  3. AC Manager subsection, which allows pulling Active Calls data for Sansay via API to help significantly reduce the load on RADIUS (when calls data is received from CDR files).

Gateways add form

UI improvements

Report Queries

We've added the possibility to set automatic reports to email (via Report Queries) for:

  • the last/current year period for the Balance Report
  • the last/current month period for the xDRs List Report

We've also added the possibility to query Summary Report for as little as 15 minutes period for monitoring in Report Queries.

Load forms

As a result of the Resellers' rework described in the Major Changes of these Release Notes, some load forms throughout the system were changed accordingly:

  • Rates Generators Rules - now it's possible to select only Clients related to the Reseller of the Rate Generator;
  • Rates Generators Rules (generating a new Rate Table) - the Reseller tree is limited with the Rate Generator Reseller or its sub-resellers, and Agreements are adjusted with the Reseller selected in the Form;
  • Accounts and Clients lists - on opening the "add and assign new Rate Table" form the owner is prefilled (as before), but the field is disabled (it's impossible to select another owner);
  • Rate Tables edit form - list of possible IMAP Credentials is adjusted respective to the selected owner;
  • Low Balance Profiles form - now in "Notify Users" it's possible to select only Users under the same Reseller, as in Low Balance Profile, and their admins (Users w/o Reseller).

Code Decks

Upon request, we've added counters of Codes back to the list of Code Decks.

Billing increment

The default sequence of billing increment values used during import has been changed from Grace/Int/Min to Grace/Min/Int.

Taxes Profiles

As part of separating internal and external tax providers' representation in the system, we've renamed the Customer Tax Profile type to Internal.

Bill events by

The default value now is Disconnect time.

Other improvements

Provisioning API (≥3.25.1)

We've added the following methods to Provisioning API:

  • dids.create
  • dids.update
  • dids.activate
  • dids.stock
  • dids.block
  • dids.reserve
  • dids.hold
  • dids.archive

Invoice Templates

Multiple new variables have been added for Invoice Template creation:

  • rate_effective_date for Stats table
  • period_start_dt, period_stop_dt, count for Packages table
  • volume_subtotal for Stats table
note

Please note that a small migration might be necessary if you have previously edited and used our "default extended" Invoice Template as we are adding Packages-related variables there.

Calculator

We've sped up the Calculator service by optimizing the processes of client identification and SRC/DST initial translations.

Radius

We've created an ability in the system to write xDR files from RADIUS Accounting STOP packets. It will benefit deployments where only RADIUS is available (no CDR files) while doing server maintenance and/or updating the system.

Collect accounting data in Gateways

Integrations

Huawei

We've added CDR integration with Huawei softswitch for the following formats: ATS, SCSCF & MGCF.

Sansay

We've adjusted the parsing of extra CDR files because of switch failover to other nodes.

FreeSWITCH

For the cases when our users require altering the FreeSWITCH default roundup for call volume, we've added separate collectors for CDR Files and for the RADIUS server.

TELES 3.6

We've added CDR files integration for Teles version 3.6.

Brekeke

We can now take PDD value from RADIUS STOP packet.

RADIUS

We've added Radius Status-Server packets processing on ports 1812 and 1813 to comply with RFC 5997.

Deprecations

CoreAPI

The deprecated fields from rates.search and accounting.transactions.search have been fully removed and are no longer supported. Here is the full list (the replacement was done back in v3.21):

  • end_date_gte / end_date_lte – replaced by end_date
  • grace_volume_gte / grace_volume_lte – replaced by grace_volume
  • min_volume_gte / min_volume_lte – replaced by min_volume
  • pay_interval_gte / pay_interval_lte – replaced by pay_interval
  • pay_setup_gte / pay_setup_lte – replaced by pay_setup
  • value_gte / value_lte – replaced by value
  • dt_gte / dt_lte – replaced by dt

Rates import

Since Import Template creation is extracted into the separate method (rates.imports.templates.create), rates.imports.save_import_template method is marked as deprecated and will be completely removed in the next versions.

Packages

The Type (Customer/Vendor) of the Package is marked as deprecated and will be completely removed in the next versions.

Routing Plans

The ManagementAPI for Routing Plans/Rules is deprecated, please use CoreAPI instead.

Rates export

The Rates Export CoreAPI method's old format is not supported anymore. Please use the new response format: {"files_id": <files_id>}.

note

Please note that saving the advanced search fields in Export Templates was removed due to the lack of obvious connection and practical use cases.

LCR Lists

The LCR Lists report has been fully removed from the system. Please use Rates Analysis 2.0 instead.

Rates Analysis (old)

The Rates Analysis (old) section has been fully removed from the system. Please use Rates Analysis 2.0 instead.