Telecoms Billing Systems process files of call data by matching each call against a customer record and rating it against a pricelist to produce a cost for each call.
The data often arrives from a third party as a daily or monthly data file known as a CDR file (see the glossary below for more terms). This file usually contains one record for each call containing the following minimum level of information:
The billing process takes each call and first matches the originating number against the customer database to discover the customer and pricelist to apply to this call. Each call is then rated against the pricelist to produce a retail price for the call. The pricelist contains the following parameters used to calculate the retail price:
They may be issues that prevent the matching and rating of an individual call. These problem calls are placed in a suspense file for the billing manager to look at. Each call in the suspense file may be flagged with a suspense code that illustrates the problem encountered. For example, there may be issues matching the originating number for a new line against a customer record because the number has not been entered into the customer database (part of a process known as provisioning).
Call details records may come from different sources depending on the technical options employed by the reseller who may provide VOIP services with one supplier and traditional telecoms services through another. An additional consideration in the UK for some vendors is the processing of additional call details for customers using BT lines which arrive in a special DEDS call details file which needs processing alongside other CDR data.
Part of the job of a billing manager is to look at the suspense file regularly and then resolve any issues and reprocess the suspense files. Billing often takes place on a particular day each month and bills are produced for each customer only once all the calls in the suspense file have been re-rated or written off. Part of the billing process is to perform a reconciliation where a number of bills are checked for accuracy and the totals for the month are checked against the telecoms provider invoice and validated against previous months to look out for any problems.
The actual billing run often involves the creation of an invoice and a data file containing the monthly call data for each customer. A summary may also be imported into the accounting system.
One final thing to note about billing is that it is often a monthly process that uses a call detail file created from a telecoms provider which itself has put the call details through their billing process. The provider may also provide a daily file or one may be available from local equipment (from an asterisk box or a local telecoms switch). It is important to monitor the daily files for fraud in case a customer’s system has been compromised. Fraud can occur over a bank holiday where a phone system is compromised and used to set up a call shop over a weekend which can result in thousands of pounds of fraudulent calls being made. If no other process is available, the billing system might also used for monitoring fraud by processing daily files although the actual customer bills might use the monthly call details file for producing the actual bills.
A good deal of preparation is required before a monthly billing run can be completed successfully. It is possible to simply run a call details file through the billing system and watch all the call records drop into the suspense file which will provide a list of every action that needs to be performed to resolve billing issues for each call. A more efficient process is to prepare the following data for provisioning into the billing database:
Customers need to be entered into the database together with details of any Originating Numbers to be used to match against the call detail records. Additional information may need to be billed each month for rental of handsets and a maintenance fee or other system costs.
Pricelist information needs to be maintained for each destination called by the customer. The rating process should place calls to any destinations that do not have a valid retail price into the suspense file.
Many telecoms providers will include the cost information for each call in their call details record which can be used to double check that each call is being billed at a profit. An alternative is to create a pricelist for call costs and to rate each call for both retail and cost prices as part to aid the reconciliation process.
Call details may originate from different source each of which may have a different format. The pre-processing of each data file into a format that can be processed by the billing system is called mediation and needs to be set up by the technical team before billing can commence. This may also require the identification of additional information for a call such as whether it was a data or voice call.
A large part of the responsibility of a Billing Manager is to eliminate calls from the suspense file. Each of these calls represents a call that cannot be billed to a customer and therefore a potential loss of revenue. Some of these calls may be due to an error by the telecoms provider and a mechanism might be required to claw this money back from the provider if the call cannot be billed.
A variety of reasons can prevent a call being matched and rated successfully. Here are some of the typical suspense reasons that are encountered each month:
Missing CLI (Originating Number) where no match is found in the customer database.
Retail price of the call is less than the cost obtained using the cost pricelist or from the provider’s cost data.
Each of these issues needs to be resolved and the suspense files re-rated ready for billing. The Billing Manager needs to clear all the suspense or write off the call records prior to completing the billing process.
The reconciliation process is usually performed by the Billing Manager, maybe together with the Accounts department, and involves a series of cross-checks to make sure that there have been no errors during this month’s billing process.
Each company devises their own checks some of which might be taken from the list below:
A justification is required for each call written off in the suspense file and occasionally revenue needs to be reclaimed from the provider.
Each individual call might be checked against the actual cost charged by the provider or against a cost pricelist.
Reconciliation is critical to the billing process and any errors in billing needs to be identified before the bills are sent out to the customers. Sometimes the monthly billing run may need to be repeated (using a backup of the database) if a major error is encountered.
The final stage in the billing process once reconciliation is complete is the creation of the customer bills and their fulfilment by sending out emails or importing data into the accounting system.
This final stage typically involves some or all of the following:
Billing is an endless cycle and processing of daily call details and suspense may continue during the billing process or immediately once billing is complete in preparation for the next month of bills. Larger companies may need to stagger billing into a weekly process for different groups of customer to regulate the Billing Manager’s workload or level out the cashflow.