Tariscope and high accuracy of telecom bills
This article is primarily intended for telecom operators using or planning to use the Tariscope Provider (SoftPI) billing system.
Telecommunications bills often require high precision, with 3 or 4 decimal places used internally to calculate rates and service charges to ensure accuracy before rounding the final bill to two decimal places before presenting it to the customer. Using a higher number of decimal places (for example, 4) minimizes rounding errors in complex calculations, ensuring a fair charge even if the customer only sees pennies on their bill.
Why is it important to have more than 2 decimal places on telecom bills?
Calculation Accuracy: When charging for calls (e.g., $0.0857 per minute) or data (e.g., $0.0018 per megabyte), using four decimal places preserves the accuracy of the subtotal before applying it to billing.
Minimizing Errors: Rounding too early (for example, to two or three decimal places) can lead to significant billing errors for users with high call volumes or frequent callers.
Regulatory Compliance: In some countries, quality standards require billing systems to minimize errors.
Essentially, 3 or 4 decimal places in call tariff rates primarily ensures the necessary detail to ensure accurate and fair telecom billing, even if the final customer bill contains fewer digits (usually 2 decimal places).
The Tariscope Provider billing system allows you to customize the tariff calculation accuracy. This is specified in the tariff parameters. An example is shown in Figure 1.

Figure 1
Apparently, the parameters of a specific rate plan include a Digits after decimal field. By default, it contains the value 2, which can be changed to any other value.
Typically, 2 decimal places are sufficient for setting the service price. This is the precision with which the service price will be calculated if you select Fixed rate as the rate plan (Figure 2).

Figure 2
Sometimes telecom operators need to calculate service costs with greater precision than two decimal places. In this case, Tariscope offers two options for calculating with three or more decimal places.
You can create a tariff service (menu -> Additional options -> Service-rate, for which you can set an individual calculation accuracy as a tariff (Figure 1).) After this, on the Services page, you should create a new service for which, in the Rate list, select the name of the rate service created in the previous step.
If a telecom operator requires all services using the Fixed rate tariff to be calculated with precision, for example, 4 decimal places, a small edit must be made to the Tariscope database.
This operation must be performed by either a Tariscope administrator or a Microsoft SQL Server administrator.
To do this, open SQL Server Management Studio (SSMS). Open the Tariscope database and find the dbo.ab_gettarifstable function, as shown in Figure 3.

Figure 3
Select this function and right-click. A menu will appear, from which you can select Modify.
A tab will open with the contents of this function.
In line 91, change the value 2 (rounding to 2 decimal places) to 4 (if you want precision up to 4 decimal places). An example of this is shown in Figure 4.

Figure 4
After this, click the Execute button on the SSMS toolbar.
You should see the message: Commands completed successfully. After this, all that remains is to verify the accuracy of the service charge.
