Skip to main content

Release 3.19

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

Major updates

Payment Gateways

To improve consistency, all Payment Gateways settings were moved to Client Portal configuration.

These settings are now available within the customer-params.json file with the following names:

Setting NameDescriptionDefaultExample
amountOptionsArray of available amounts for top up in the list to select[1, 5, 10, 25][5, 20, 50, 100]
currenciesIdCurrency ID (as per your system configuration) for the payments received from the specific Payment GatewayRequired2
currencyCodeCurrency code of the Payment Gateway to charge payments in (declared by the gateway itself)RequiredUSD
paymentAccountsIdPayment Account’s ID as per your system configuration1 ("General" Payment Account)1

Authorize.Net

Configurations for Authorize.Net related to the automatic charge of the customers were moved into Resellers configurations.

Autocharge Settings in Reseller

PayPal

We've added an option to the system to define who pays PayPal fees for transactions. It can be set in the customer-params.default.json file:

Setting NameDescriptionExample
feesPayerDefines who pay fees for PayPal transactions. Available options: 1. "provider" (in this case, you as the provider will pay your clients' fees. I.e., when a client refills balance for 1 USD, the balance will actually be refilled for 1 USD regardless of the needed commissions); 2. "client" (e.g. when a client refills his balance for 5 USD, he receives 4.56 USD into the billing system).“client”

Rates

Stashing future rates

From now on, when adding new Rates, you will have the ability to stash prices for the same destinations in the future. We’ve added the new option Stash Future Rates to the rates creation form, both for regular and special rates. This option allows stashing the rates for the same destinations existing in the future. The Stash Future Rates option by default is set to "preserve" for regular and additive rates, and "stash" for special rates (see screenshots below).

Apart from that, an option for forcing notification after adding a new rate was introduced to the rates creation form. The Force Notification option by default is set to "hold" for regular and additive rates, and "force" for special rates.

New options in Rates creation form

New options in Special Rates creation form

Rate Notification

In the previous versions, forced Rate Notification was affected by the defined rate changes notification period from ConfigurationSettings and the Agreement. From now on, they will be sent immediately after forcing (see screenshot).

The Notify Now button in Client's settings

The regular automated Rate Notification process will work as follows:

  • after adding a new special rate, a client will be notified after delay configured in ConfigurationSettings disregarding the Agreement assigned to a Rate Table.
  • after changes in regular rates (not derived from special rates), a client will be notified according to the Agreement and after the delay specified in ConfigurationSettings.

Taxes

We've added an ability to set a single Tax for all rates regardless of the tag present on them. Now you can simply add a Tax Value to a Tax Profile without a tag specified (not even default "@"), and apply it for multiple rates with different tags. Additionally, these taxes can be applied when creating charges for packages and manual charges alongside the rates marked with the "@" tag.

Adding a Tax Value with no Tag

Success message

CoreAPI

coreapi.clients_packages.close

The CoreAPI function coreapi.clients_packages.close is DEPRECATED and will be removed completely in version 3.20.0. Instead, you can use the coreapi.clients_packages.terminate function.

Strictness enforcement

To prevent ambiguous situations and potential problems during upgrades and migrations, the general behavior of CoreAPI was changed. Previously, if an unknown parameter arrived at the input of the method, it was ignored. Now the system will return an error and will not execute the requested method.

Minor updates

Rates

Import

In the newest version, we've implemented the restriction for Code Rules creation in the rates import form to better import management. From now on, there is an ability to create only one rule per one code (including "*" for "all codes").

Rate Generator

We’ve fixed the way sources (either terminators, terminators' Rate Tables, or terminators' Tags) are selected for the Rate Generator rules. They are now bound to the Rate Generator's owner (Reseller), and you can assign only the sources created under the respective Reseller for a particular generation rule.

warning

Rate Generation does not work for rates with Src Codes indicated.

Client Panel

To make it more convenient to configure columns output and filtration in Detailed and Summary reports of the Client Panel, we added the ability to select various columns as in the admin panel itself. For this, two new config parameters were introduced: modules.reportXdrs.columns (to replace the previously existing modules.reportXdrs.additionalColumns parameter) and modules.reportSummary.columns.

Other updates

Visual improvements

Special Rates

We've added a shortcut for Special Rates to the Rate Tables section view. Now there's an ability to access special rates for the respective Rate Table with just one click.

Special Rates shortcut