Release 3.18
JeraSoft presents a major release of JeraSoft Billing 3.18 with more improvements for better performance. Please find a complete revision list below.
Major updates​
Rates​
Rates section​
One of the most significant reworks of the new version is adding a separate Rates module to the system. Here you can manage everything related to the rates: prices, analysis, generation, agreements. The module includes the Rate Tables, Rates, Special Rates, Rates Analysis, Rate Generator, and Agreements sections:
In the Rates section, you can see all (or filtered) rates you have in the system. The tab allows adding and managing rates, as well as their inline and mass editing, importing, and exporting. It makes it easier and more convenient to work with pricing and tools related to it.
Special Rates section​
We've extended the Rate Tables with the special pricing option. Its purpose is to distinguish the exclusive rates for the Code Name based destinations. These prices are not affected by the Rates Generator. The section is presented as a list:
Special Rates are created using the Code Names of destinations. When a single special rate is added, it forces addition of the rates for all codes of a specific code name (with Policy "regular") to a respective Rate Table. A user can access them by clicking the button next to each Special Rate.
Please note that you cannot edit or delete the regular Rates created within the Special Rate. If you want to edit a rate with Policy "regular", you will need to do this in the Special Rates section. Additionally, when you edit a Special Rate, the new settings will be forced to all the regular rates within it.
Agreements section​
We've created a new Agreements section, where you will be able to formalize agreements with your customers for the billing. It is displayed as a list of agreements between you and your customers on the rates changes and notifications.
Agreements are meant to regulate rates notifications to your customers. For this, you can define various options:
- Notification Day - day, on which you agreed to send notifications to the customer;
- Increase Delay - delay in days that indicates the minimum period between notification date and date of an increased rate;
- Decrease Delay - delay in days that indicates the minimum period between notification date and date of a decreased rate;
- Unchanged Delay - delay in days that indicates the minimum period between notification date and date of an unchanged rate;
- New Delay - delay in days that indicates the minimum period between notification date and date of a new rate;
- Close Delay - delay in days that indicates the minimum period between notification date and date of a closed rate.
You can read more about the Agreements section in a respective User Guide article.
Rates Import​
As a result of reorganization, we've improved the way the rates import works. From now on, you can perform import from the Rates section.
You will need to select a Rate Table to be able to perform Import, as well as Export and Mass Edit. Otherwise, these options will be inactive.
The most significant changes are highlighted on a screenshot below:
Now, during the import process, the first thing you need to do is select a Rate Table (the import template will autocomplete if existent). Then, drag-and-drop or upload an import file. After the system will parse it, instead of skipping the unnecessary lines, select the start and end lines by clicking on them (to mark the range green; the skipped lines will be marked grey). The system will import only the lines marked green. We've also added the autodetect columns feature, that detects the columns names for you after you skip the header lines.
We've reworked the Datetime format in general advanced settings. It now can be set to "autodetect", "day first", or "year first" state. Also, the Billing Increment field can take "Grace Volume", "Int", and/or "Min" options, as well as any their order (to implement this, just drag options).
Moreover, we've added an additional section in advanced settings - Analysis Settings - for analyzing imported files. It has the following fields:
Field | Description |
---|---|
Deviation Tolerance, % | Determines how much a Rate can differ from a current one (both regarding increase and decrease). If the imported rate is more or less expensive in a percentage more than specified here, the system generates a notification to the manager. |
Agreements Tolerance, day(s) | Determines whether the imported rate table corresponds to conditions specified in the Agreements section. If the imported file violates the number of days specified there, the system generates an alert to the manager. |
Changes Threshold, rate(s) | The system generates a notification if the imported file changes more rates in the current rate table than the specified number. |
We've simplified the import to the origination Rate Tables. Due to the improvement in the Rates Generator, their management can be made even easier. From now on, instead of performing the import of the same file to multiple Rate Tables (as you might have done previously), you can just assign a respective Rates Generator to all of them.
From now on, the import process is not transactional, but multi-processed. Thus, if it fails to complete correctly, you will have a partially completed imported Rate Rable. Nevertheless, you can always revert any changes in the Import History section.
Rates Generator​
In the new version, we've simplified an improved the way rate generation works. First of all, it is now a multiprocessing tool (present as a separate system tool called Rates Generator in the System → Task Scheduler section). That is, its workers split the task of generation and process them simultaneously to then compile the new generated Rate Table.
We've simplified the Rates Generator settings to make the process quicker and better. From now on, the optimization options are reduced to simple and codes optimization. We've removed the ambiguous vertical and horizontal optimization options to make the generation management process even easier without loss of functional abilities. The Rates Generator settings now look like this:
Apart from that, rates generation can be now automated if you assign a Rates Generator to the Rate Table in its parameters (see screenshot below). For this to work, all you need to do is define a needed Rates Generator and Agreement in the respective fields and enable the Automatic generation checkbox. Also, you need to enable automatic email import for the system to use the specific Import template for the required changes. All the needed fields are highlighted below:
The rates generation prepares the rates for clients' notifications and export. Thus, it is important to align it with the current Agreement assigned on a Rate Table. It will make sure the clients will be notified of the Rates changes on the right dates.
The current version of a Rates Generator is closely bonded with Code Decks, Special Rates and Agreements. To make generation more agile, the tool takes the information from the mentioned sections and analyzes it for better performance.
Code Decks​
First and foremost, the Rates Generator will not operate at all without a Code Deck assigned. When you assign a code deck to the respective generator, it will work the following way:
- The first step would be to scan a Code Deck and a source Rate Table to match existing codes;
- If they are the same, it will generate Rates based on the preconfigured rules;
- If a Code Deck has codes for the destinations, Rates for which are missing in a Rate Table, it will either create brand new Rates with the value set in the Rate field in the Adjust Results section, or ignore such mismatches (if the Rate field is not set);
- If a Rate Table has Rates for the destinations, codes for which are missing in a Code Deck, generator will close those rates.
Agreements​
The generated rates' Effective Date will align with the data preconfigured in the Agreement assigned to the Rate Table.
Special Rates​
The Rates Generator does not generate Rates that have Policy "special", nor will it change the regular rates within them.
Rates Notification​
In the newest version, we've reworked how the rates notification works for your customers by adding two extra configurable settings:
- Tech Prefix - the Tech Prefix of the Clients' Accounts used as a separate column for the export file while notifying a customer about the rates changes. If there are several Tech Prefixes, the system will send different rates lists for each of them.
- Notification Status - the status of the rates sent to the customer. It can be either "sent" (meaning it was previously sent to the customer in another notification), or "not sent" (the customer was never notified about these changes).
You can see the rates' Status field in the Rates section in the Advanced Search menu (see screenshot below). This field autocompletes after you select a Rate Table for the filter with the date of last notification to the customer. Thus, you can filter all the Rates of one selected Rate Table by choosing to see only "sent", "not sent", or "sent/not sent" types of rates (as of the specified date).
The option to include/exclude a Tech Prefix is implemented in the Rate Table export template settings and rate notification settings of a specific Reseller (see screenshots below).
Rates Notificator works based on an Agreement applied to a Rate Table, meaning the sent rates will have some certain statuses. The default statuses are:
- unchanged - a Rate with the same price as the previous one or a Rate that was already sent to the customer/the Effective Date is less than the Notification Date;
- new - a brand new Rate for some certain destination, nonexistent before;
- increased - a Rate greater than the previous one;
- decreased - a Rate lower than the previous one;
- closed - a Rate with the End Date.
Rates with statuses "increased", "new", and "closed" should be notified to the customers minimum 7 days in advance. On the contrary, a customer can get notifications on "unchanged" and "decreased" rates straight away.
Firstly, the Rates Notificator scans the rates of a particular Rate Table 7 days in the future to detect changes. Then, it sends notifications according to Rates generated by applied Agreements. Rates that are out of the current notification cycle, but are pre-generated, will not be sent to the customer. However, if a client chooses to force notify the customers, the statuses will be marked "pending" (i.e., "pending increased", "pending new", etc.). It will indicate that those Rates were already sent to the customer as notifications.
We've also simplified the notification process by eliminating the "All rates have unique mode" notify type. Now, while in the Client's Settings block, the client can set either of two options for the notification: "All rates" or "Only changed" rates.
Please note that from now on the Rates from parent Rate Tables will not be included in the Rates Notification.
Summary Report & Invoicing​
Previously, when analyzing a billing report, there was some confusion due to different Rates for the same destinations. In the latest version, we've added an option to group Summary Report results by Time Profiles. To use this feature, simply add Time Profile to the Group by field of the Summary Report.
As a result, the generated report will have an extra column indicating the Time Profiles, to which the respective Rates refer, making it easier to read and analyze.
Respectively, there were some improvements to the Invoices as they are based on the summary report. We've added a new time_profiles_name
variable to the regular invoicing templates.
Now, when a user generates an Invoice including this variable, there will be extra information about the Time Profiles used for each Rate in the Summary of Services section.
Clients Portal​
Configuration​
If you use default deployment of the Customer Portal, all changes will be made automatically. Otherwise you have to change customer-params.json
in the following way:
- Move parameter
managementApi.companies_id
tocompaniesId
in each configuration block (default
by default) - If you use payment gateways, in each section (e.g.,
paypal
orauthorizenet
), add a parameterenabled
with valuetrue
to mark gateways as enabled
Please also check Client Panel Configuration for more details on the extended settings available.
Minor changes in CP​
We've added a new Origin filter to the Detailed Report in the Clients Panel. From now on, your customers will be able to see the usage history data filtered by its origin:
Minor updates​
My Profile section​
We've reworked the Change Password section to represent user's profile settings. Now you can set your Timezone and Locale preferences in the new My Profile section, as well as change existing password.
The changes will be implemented in the system immediately. When setting your timezone, the system will pull these settings to all the statistics reports' query forms and transactions timestamps.
Rates Import behavior​
Keep in mind that the system scans each line of the imported file and will behave as follows in case:
- there is a value such as "delete", "close", "block", etc. in the Rate column: the system will take it as an empty Rate value, thus, fill it in with the value from the previous Rate;
- the Rate field is empty: the system will fill it with the cost of the previous Rate;
- the Effective Date field is empty: the system will fill it in taking the value of End Date.
During the import process, these scenarios may combine (see screenshots below) leading to the specified system behavior.
Rates Analysis​
The Rates Analysis tool also has undergone some changes. We've introduced a new filter by Client Tags. From now on, it will be more convenient to compare the Rates of a group of Clients matching some Tag. When this filter is in use, the system will pull up all Clients with the Tag specified and use only their Rates.
Other updates​
Software updates​
We've upgraded to PostgreSQL database management system version 11. However, it should be of no concern to you. As part of your update to the newest JeraSoft Billing version, our engineers will take care of this fully.
Moreover, starting from JeraSoft Billing v.18.0, we do not support CentOS v6. Please, update your CentOS to the newer 7th version.
Visual improvements​
We've also provided some visual improvements in the Call Shops section.