PortaBilling supports multiple services and service types. This means that as different types of services (e.g., voice calls, WiFi connectivity, and messaging) are provided to your users, PortaBilling collects data about all of them, processing and rating it according to the billing configuration. It then provides your customers with a consolidated bill (and your administrators with a unified customer management interface).
The main unit of billing information is a billing event – a notification that a service has been provided to a customer in the outside world, and that this customer should thus be charged for that service. For many services (such as SMS messaging), a single billing event is represented by a single notification message to billing, while for others information about one event (e.g., a completed phone call) is split into multiple notifications from different network elements.
Four entities involved in the billing
Four separate entities will be billed for every event registered in the system:
- Account (identified entity using the service).
- Customer (an account owner).
- Reseller (optional).
- Vendors (service providers, e.g., your termination partners or service providers for incoming telephony lines, both local and toll-free).
This allows you to:
- Bill the end user (the owner of a prepaid calling card, phone number, or office VoIP gateway).
- Bill the customer to whom the end user belongs.
- Bill the reseller who owns that customer (if applicable).
- Calculate your expenses for the termination of this call to the vendor.
CDRs (Call Detail Records) were the real foundation of any legacy billing system, which had to receive, store and analyze them. Today, when most service providers are expanding their service portfolio, the CDR concept is either becoming inapplicable to some of their services (e.g., selling pizza over the Internet), or it no longer fits their business model (e.g., providing bulk-free calling minutes). PortaBilling supports this by introducing the concept of xDRs – eXtensible Detail Records, which can store information about various types of billing events. CDRs are, therefore, only a subset of all possible xDR instances. The same applies to EDR (Event Detail Records), data that describe a single event such as an SMS message; they too are just a subset of xDR data, and can thus be easily processed by PortaBilling.