Billing systems collect usage records from devices and generate bills per customer based on predefined rules.
Different systems in a service provider’s infrastructure produce logs about the usage. We call them usage data records or UDRs. If the usage is for voice calls, we call them CDRs, if the usage is about bandwidth; we call it IPDR or UDR. These logs are collected, aggregated, validated and converted to a common format that is understood by the billing system. These collection related tasks belong to Mediation systems. (You may want to read about my previous post about Mediation from here). The Mediation system passes usage records to the billing system over a predefined protocol (ftp, sftp, propriety etc).
The first task of the billing system is to rate the usage data. This is done by the rating engine module. The Rating Engine looks for the specified fields in the usage data records which identify the subscriber account. (Guiding) For voice, this could be the originating number field. (MSISDN and/or IMSI in mobile communications). For data/content, again it could be MSISDN, IMSI, username or a device specific field.
After the rating engine identifies the customer account, it tries to find a price plan (rate plan) for that specific subscriber. Rate plans are the plans that are negotiated at the order capturing phase. Rate plans say for example “between 9 PM and 7 am the calls are for free, other times x cents per minute and international calls are y cents per minute. 100 local minutes are free with a minimum monthly cost of z dollars”.
After the rate plan is identified, usage records can be charged using the other fields of the record. These could be call type, terminating number, session start time, session end time, location (cell id) etc.
A CDR file does generally include usage records from many customer accounts. So, the rating engine processes the usage records line by line add the corresponding dollar-amount information to the record. (In some scenarios, event based taxation is also applied. This is also done by the rating engine). Rounding is also applied at this stage. Rated records are stored on a separate table on the billing system which is also called the billing pool.
The next step is billing/invoicing which is handled by the billing engine. The billing engine takes the rated CDRs from the billing pool and aggregates the usage. The volume discounts, free minutes (allowances), cross-product discounts are applied at this point. Other charge types such as recurring charges; one time charges (such as installation or activation) and taxes based on the taxation rules (based on customer, service or location) are also added to the bill.
A note about the free minutes: Free minutes can be applied to the bill in two ways. In the first approach, the rating engine also accumulates the total usage per customer and rates the usage records accordingly. That is to say, if I have 60 free minutes and my last 5 minutes of usage bring my on-going monthly usage to 40 minutes, the rating engine rates this last call as zero dollars. In the second approach, the rating engine does not care about the accumulated usage information. Rather, it charges the usage records one-by-one based on the price plan. When the billing time comes, the free minutes are deducted from the overall usage.
The invoicing engine takes the bills and formats the invoices. It includes account information, due dates and some marketing messages and finally sends the invoice to the printing house to be delivered to the customers. (Or if electronic delivery is set, it is emailed.)
Billing/Invoicing is a time and CPU intensive process so the billing cycle concept was introduced. Billing cycles are the instruments that allow the operator to distribute the batch processing load of the rated records. Instead of invoicing all the customers on the last day of the month, customers to be invoices are spread over different days of the month. Billing cycles could also be used to manage the cash flow of the operator.
I need to add some information about the charging. Charging is “assigning a value to a service usage or product”. Charging should be considered as the same as rating. According to TMForum, Charging is the combination of rating and rate level discounts. We do not have a “Billing” process in the eTOM hierarchy. However, we have charging, bill inquiry handling, bill payments management and other billing related processes. So, we should consider “Billing” as a practice rather than a process.
Up to now, I talked about the offline charging. We charged the usage records in offline. In telecommunications systems this generally refers to the postpaid services where you charge the service after the usage. The online charging, on the other hand, is the instrument used; to be able to provide pre-paid services. I will detail prepaid billing in another post. It is enough to mention that the rating function is done on-the-fly in those online systems. In our everyday talks, we sometimes use the term charging for online charging/prepaid billing, and billing for offline charging/postpaid billing. It is ok as long as it does not lead to any confusion. We just need to remember that the charging is a sub function of billing practice (prepaid or postpaid billing)
After the bill is delivered to the customer, it is stored in the billing system’s archives. The bill record would be useful in other processes such as inquiries, audits, revenue assurance etc.
Thanks for the great article. I’m glad I found it. Bookmarking!
Ragards,
Dinko
How is billing done in scenarios where calls are routed through IMS (IP multimedia subsystem). How is the synchronization between the IMS charging modules and the legacy billing, rating modules
Thanks
AKN