The quality of any system is determined by the quality of its architecture and technologies used. Most often, it is in this area that the main problems of self-written solutions lie, however, in the billing series there are design errors. This is what you should pay attention to when evaluating the architecture of a system and the system from inside.
Intelligence of a Billing System’s Architecture
First of all, look at how it stores its data. As an example, can you work with the balance of the subscriber’s account? This balance can be calculated dynamically, that is, it consists of the sum of all payments and write-offs, and can be implemented as a simple value. In the first case, it is always possible to find out the state of the personal account at any time in the past, make a recalculation, correct the charging error, or cancel the charging.
However, in those systems where the balance is a simple variable value, you cannot track the payment history. It is better to avoid such billing systems. The same can be said about other types of data – traffic counters, remaining minutes, megabytes, number of grace days, and so on. For all such parameters, billing must store a detailed history and enable in-depth analysis.
The structure of the stored data is also important. For example, a significant number of billing products on the market store the customer address in a simple line. This leads to the impossibility of constructing a useful report, say, the number of customers in a particular street or in one house. If you also consider possible errors when writing the address this way, it becomes clear that organizing normal reporting will be extremely difficult in this scenario.
Conversely, if the billing has a separate directory with basic prices for services, and a document with individual discounts to subscribers in percent, and the system can recalculate individual prices when changing base prices – this facilitates the work with the tariff structure and allows for not inflating the number of entries in the service directory to thousands of positions. In addition, billing should be optimized to work with high capacities of data and still allow flexibility in structural change.
To find out if this is practical, you can study the possibilities of working with different databases. The fact is that you can achieve really high performance only by choosing a particular product as the main database. If developers claim that their system supports any database, it means that they did not deal with optimization issues, and such billing is not designed for heavy workloads.
The consequence of this approach will be a higher rate of performance problems due to limited server capacity. The same can be said about other types of data – traffic counters, remaining minutes, megabytes, number of grace days, and so on. For all such parameters, billing must store a detailed history and enable in-depth analysis.
Since billing is a system that most directly affects the revenues and profitability of a telecom operator and is selected for years to come, it is important to analyze what technologies a particular product is built on.
On the one hand, if billing exists for 20 years, it emphasizes the rich experience of the development team. On the other hand, if the technological stack of the project does not change, it becomes obsolete.
If instead of a user-friendly web interface, only the GUI and command line is offered, this cannot be viewed as a positive for the system. Also if during a conversation with developers, such obsolete technologies as Perl are mentioned, then this should alert the customer – you need to ask yourself where the billing developers will look for programmers in a few years time and how this can affect the quality of the product and its support longer term. You want to invest in a system with a long useful life.
Read the blog series to discover the aspects you should take into account while choosing a billing software for you IoT, CSP, and telecom (retail and wholesale VoIP, SMS, OTT, MVNO, or enterprise telephony) business Tips: How To Choose A Billing System.