1 Introducing BRM

This chapter provides an introduction to the Oracle Communications Billing and Revenue Management (BRM) system.


Do not use or modify this product except as explicitly instructed in this documentation. Assumptions should not be made about functionality that is not documented or use of functionality in a manner that is not documented. Use or modification of this software product in any manner or for any purpose other than as expressly set forth in this documentation may result in voidance or forfeiture of your warranties and support services rights. Consult your software license agreement for more details. If you have any questions regarding an intended use or modification of this product, contact your Oracle BRM account executive.

What Is BRM?

BRM is an end-to-end revenue management system for communications and media service providers. When you build your business around BRM, you can more effectively manage the revenue life cycle:

  • BRM revenue generation enables you to deliver services with optimal pricing to your customers. With BRM, service plans can be complex, yet you can change them quickly to respond to changing market conditions. BRM customer management tools enable you to continue generating revenue from existing customers by maintaining a positive and proactive relationship.

  • BRM revenue capture enables you to rate service usage with a high level of control and responsiveness. The BRM system is integrated with network authentication, authorization, and accounting.

  • BRM revenue collection enables you to invoice and bill customers, collect payments, manage accounts receivable (A/R), and collect general ledger (G/L) data.

  • BRM revenue analysis enables you to audit processes for revenue leakage, generate business intelligence reports, and set up safeguards for data consistency and high availability. Collecting revenue analysis data helps you adjust your service plans for maximum revenue generation.

Figure 1-1 shows the BRM revenue management life cycle:

Figure 1-1 BRM Revenue Management Life Cycle

Description of Figure 1-1 follows
Description of "Figure 1-1 BRM Revenue Management Life Cycle"

Setting Up Services. When you set up your services, you use optional components such as Global System for Mobile Communications (GSM) Manager and Remote Authentication Dial-In User Service (RADIUS) Manager to capture data about service usage (for example, the number of hours in a customer's dialup session or length of a telephone call).

Defining a Price List. You create a price list to define how much to charge for your services. For example, you can charge for wireless telephony or Internet access usage, monthly subscription fees, and setup fees.

Registering Customers. Customers register for accounts by calling a customer service representative (CSR) or by using a Web page. A customer typically signs up for one or more services, such as Internet access and email. Customer account data, such as telephone numbers, Internet service logins, and billing information, is stored in the BRM database.

Managing Customers. When customer account information changes (for example, if a customer changes the credit card), you use customer management tools to update account information or you can provide Web pages for customers to manage their own accounts.

Authenticating and Authorizing Customer Logins. For services where usage can be tracked in real time, BRM uses customer data stored in the BRM database to authenticate the customer's identity and to verify the customer's authorization to use that service.

Rating Service Usage. BRM measures service usage and rates it (for example, 10 cents per minute for a wireless call). The charge is added to the customer's account balance.

Billing Customers and Collecting Payments. Customers are billed at intervals that you choose (typically every month). You can charge customers to their credit cards directly or send invoices and process payments by checks and other payment methods.

Collecting Customer Usage and Activity Data. You use data in the BRM database to report on all facets of your business (for example, revenue generated from each service). As your business grows and changes, you can add pricing and provisioning support for new services.

About Setting Up Your Services

Businesses that use BRM typically provide services such as telephony, Internet access, and email. To integrate with your services, you use optional service integration components such as GSM Manager and RADIUS Manager. For example:

  • To implement GSM wireless services, GSM Manager provides the ability to rate and manage GSM services and supplementary services, such as voice mail.

  • To implement dialup Internet access, RADIUS Manager uses data stored in the BRM database to authenticate and authorize the customer. RADIUS Manager also captures data about the customer's dialup session. BRM uses this data to measure, rate, and bill for service usage.

Other services use optional service integration components in a similar way; for example, you use Email Manager to provide email service.

When you integrate your services with BRM, you can manage customer access in real time. For example, because BRM tracks Internet usage and updates the customer account balance in real time, you can prevent service authorization as soon as a credit limit is reached.

About Charging Customers for Your Services

You define how to charge for your services by creating a price list. For example, your price list might specify charges for wireless usage as follows:

  • 10 cents per minute for peak-time usage.

  • 5 cents per minute for off-peak usage.

Or you can charge for an IP dialup service as follows:

  • $20 per month subscription fee.

  • $1 per hour usage fee.

You can create complex pricing structures (for example, 10 cents per minute for the first 60 minutes and 5 cents per minute for the next 100 minutes).

You use Pricing Center to create and modify your price list.

About Billable Events

In a typical business day, thousands of customers make phone calls or access the Internet, generating millions of interactions that must be managed and charged for. BRM manages those interactions by creating and storing events.

An event is a record in the BRM database of a customer or administrative action. For example:

  • When a customer logs in, or makes a telephone call, BRM creates a session event, which stores data about the session, such as the start time and end time.

  • When a CSR changes a customer's password, BRM creates an activity event, which stores information such as the login name of the CSR who made the password change.

In general, the end time of the event is used for rating, billing, and other BRM processes. For example, if an event begins before midnight on the 23rd of the month and ends after midnight on the 24th, BRM treats the event as occurring on the later date.

When you set up your price list, you define which events you want to charge for. These are called billable events. To determine how much to charge a customer for a billable event, BRM rates the event.

About Rating

To rate an event, BRM does the following:

  1. Measures the event.

  2. Applies a charge to the resulting measurement.

  3. Adds the charge to the customer's account balance.

You can rate usage in two ways:

  • Real-time rating monitors and rates the service usage as it happens, such as Internet access.

  • Batch rating rates events that have been recorded in files, such as telephony call detail records (CDRs).

About Real-Time Rating

Real-time rating is used for services such as dialup access and email. For example, to rate Internet access in real time:

  1. BRM determines the length of the session by comparing the start time and end time.

  2. The BRM rating opcodes apply a charge to the amount of time. For example, if you specify a charge of $1 per hour for Internet access, a 10-hour session costs $10. This charge is called the balance impact.

  3. BRM adds the total charge for the event to the customer's account balance.

Figure 1-2 shows how a billable event is captured, rated, and recorded in the BRM database:

Figure 1-2 Capturing, Rating and Recording of Events in BRM

Description of Figure 1-2 follows
Description of "Figure 1-2 Capturing, Rating and Recording of Events in BRM"

About Batch Rating

Batch rating is typically used for rating telephony services, where large amounts of events are recorded in files. Batch rating is usually performed by Pipeline Manager, but you can also perform batch rating by using Universal Event (UE) Loader.

For example, to rate telephone calls:

  1. Pipeline Manager reads the data from CDRs to determine the time and duration of the calls.

  2. Pipeline Manager rating modules apply a charge to the amount of time. For example, if you specify a charge of 10 cents per minute, a 10-minute call costs $1. This charge is called the balance impact.

  3. Rated Event (RE) Loader loads the rated events into the BRM database.

  4. BRM adds the total charge for the event to the customer's account balance.

Figure 1-3 shows how a billable event is rated by Pipeline Manager and recorded in the BRM database:

Figure 1-3 Pipeline Manager Event Rating and Recording to BRM Database

Description of Figure 1-3 follows
Description of "Figure 1-3 Pipeline Manager Event Rating and Recording to BRM Database"


You can also use the UE Loader to load data from an event log file as billable events and rate them using BRM real-time rating opcodes. The event log files can include data from Web servers or Internet Protocol (IP) telephony CDR files. When the events are loaded, BRM rates the events and updates the customers' account balances.

Defining How to Rate Billable Events in Your Price List

When you create your price list, you specify the following:

  1. What types of events to rate (for example, telephone calls or dialup usage events).

  2. The unit of measurement to rate (for example, the amount of time for a telephone call or the bytes downloaded).

  3. The balance impact (for example, 10 cents per minute or 1 cent per byte).

In addition to rating usage events, you can rate the following types of events:

  • Product purchase events, such as a $25.00 setup fee.

  • Monthly subscription events, such as a $19.95 monthly account fee.

  • Product cancellation events, such as a $20.00 fee for closing an account after holding it for less than one year.

  • Administrative events, such as a $5.00 fee for changing a password.

You can set up your price list to use multiple types of fees. For example, a typical Internet service provider price list might include the following fees:

  • A one-time account setup fee.

  • A monthly account subscription fee.

  • An hourly usage fee.

Ways to Measure and Charge for Billable Events

You can create pricing models that measure and rate billable events in a variety of ways:

  • You can charge based on time of day (for example, Internet access for $2 per hour for prime time and $1 per hour between midnight and 6 a.m.). If a session spans the prime time and off-peak time, BRM rates the session accurately in each time period.

  • You can charge for Internet access based on how long a customer is connected in a single session. For example, you can charge $2 per hour for the first hour and $1 per hour for the second hour.

  • You can charge for telephony based on the number of calls. For example, you can charge 10 cents per call for the first 100 calls and 5 cents per call for additional calls.

  • You can provide real-time discounts based on the number of accounts. For example, if a company has more than 100 dialup accounts, you can offer a 10% discount.

About Price Lists

You create a price list by using Pricing Center. In addition to defining which events to rate and how to rate them, your price list organizes all of the fees you charge into plans. When customers register for an account, they choose from a set of plans. For example, a customer can choose a plan that includes Internet access, email, or both as shown in Figure 1-4:

Figure 1-4 Price List with Plans

Description of Figure 1-4 follows
Description of "Figure 1-4 Price List with Plans"

About Calculating Taxes

BRM calculates taxes by integrating with tax databases, such as Vertex. To calculate taxes:

  1. When BRM rates a billable event, it collects information about the event that can be used for calculating taxes, such as the location of your business, the location of the customer, and customer tax exemptions.

  2. BRM compiles the tax calculation data into a transaction and sends it to the tax database.

  3. Based on the data you provide, the tax database calculates the taxes on the event, then returns the tax amount.

  4. BRM adds the tax amount to the customer's account balance.

  5. The tax amount is recorded as G/L data.

About Authentication, Authorization, and Accounting

Authentication, authorization, and accounting (AAA) define how you interact with your customers:

  • Authentication provides a way for you to identify customers (for example, by requiring a login name and a password).

  • Authorization provides a way to control what customers can do with their services. For example, you can restrict access based on products owned or credit limits.

  • Accounting tracks the resources used by the customer and enables you to rate usage.

To interface BRM with IMS networks, you use Oracle Communications Service Broker (OCSB) Online Mediation Controller (OCMC). For more information, see the following documents:

  • Oracle Communications Service Broker Concepts Guide

  • Oracle Communications Service Broker Online Mediation Controller Implementation Guide

These documents are part of the Oracle Communications Service Broker 6.0 documentation set.

Real-Time Postpaid AAA

For services that use real-time rating with postpaid accounts, such as IP access, BRM uses AAA as follows:

  • BRM authenticates customers by checking the login name and password that the customer provides with the login name and password stored in the BRM database.

  • BRM authorizes customers by making sure they own the service being requested and that they have not surpassed a credit limit.

  • BRM performs accounting by recording sessions in real time. When the session is closed, BRM rates the session.

Real-Time Prepaid AAA

For services that use real-time rating with prepaid accounts, such as prepaid telecommunications (Telco) services, BRM uses AAA as follows:

  • BRM authenticates customers by verifying their device ID with the ID in the BRM database.

  • BRM authorizes customers to use a service for a specified duration or volume (for example, authorizing customers to make a 20-minute wireless call or download 200 bytes of data).

    In a prepaid scenario, BRM must determine whether the customer has sufficient resources before authorizing the usage. To do this, BRM estimates the usage cost by applying rating and discounting and comparing the estimate to the customer's prepaid resources.

  • BRM reauthorizes customers for extended usage, if needed. This enables customers to continue their prepaid sessions when the initially approved quantity is consumed.

  • BRM performs accounting to collect usage information to rate the prepaid session.

Batch Rating AAA

For services that are not rated in real time, such as postpaid Telco services, AAA is handled by the network; BRM is not involved. For example, for a telephone call:

  • The network authenticates and authorizes the customer.

  • The network performs accounting to collect usage data and store it in CDR files. For example, the network records the call start and end times and the originating and destination numbers. BRM uses that data to rate the usage.

About Registering Customers

When you register a customer, you create a customer account in the BRM database. Registration typically follows this process:

  1. The customer calls the CSR or accesses a Web page.

  2. The customer chooses a plan. Plans are usually based on services; for example, a customer might choose a plan that offers Internet access, email, or both.

  3. The customer provides information such as name, address, and credit card number. In addition, a CSR might give discounts to the customer or collect billing information, such as a billing contact name.

  4. The account is created in the database. At account creation, various events occur:

    • The customer information is checked by the system to see whether it is valid and to ensure that all required information has been supplied.

    • If the customer entered a credit card number, it is validated by a credit card processing service.

    • If there is a purchase fee, the customer is automatically charged.

    • If the service includes a phone number, the phone number is provisioned on the network.

    • A welcome message is automatically sent to the customer.

Ways to Register Customers

You can register customers by using these methods:

  • Have CSRs create accounts by using Customer Center or a third-party customer management program.

  • Set up Web-based account registration. Customers use their browsers to create accounts by filling out HTML forms on your Web page.

  • For telephony, give customers disposable calling cards, which they use to access accounts you have already created in your BRM database.

About Billing Customers

Each customer account has a monthly billing date, typically the date that the account was created. For example, if the account was created on January 15, the billing date is typically the 15th day of each month.

To bill customers, you run a set of billing utilities. One of the billing utilities (pin_bill_accts) finds every account that has a billing date of the previous day or earlier. If the account's billing date is due, BRM does the following:

  1. BRM performs monthly accounting. BRM compiles the total amount of balance impacts that have occurred in the past month. This can include usage fees and subscription fees. This monthly accounting is called the accounting cycle.

  2. BRM creates the bill. The bill includes all of the charges collected in the monthly accounting cycle. Typically, a bill is created monthly, at the same time as the accounting cycle. However, you can bill for multiple months (for example, every two months, quarterly, or annually). In that case, the bill includes balance impacts from multiple accounting cycles. The collection of balance impacts into a bill is called the billing cycle.

    Figure 1-5 shows how a billing cycle can include multiple accounting cycles:

    Figure 1-5 Billing Cycle with Multiple Accounting Cycles

    Description of Figure 1-5 follows
    Description of "Figure 1-5 Billing Cycle with Multiple Accounting Cycles"

  3. BRM requests a payment. BRM supports two types of payments:

    • You process BRM-initiated payments by automatically requesting payments from a payment processor.

    • You process externally initiated payments by sending invoices, receiving the payments, and processing the payments in batches.

      An invoice lists the events that were charged for, plus the customer's total account balance.

    When the payment is recorded in the BRM database, the customer's account balance is updated automatically.


    BRM does not request a payment for some accounts. For example, the charges for accounts with nonpaying (subordinate) bill units are paid by a parent account, so those child accounts do not receive a request for payment. However, all accounts are billed; that is, all current balance impacts are compiled and stored as a bill in the BRM database.

    For more information on payment processing, see "About Managing Payments".

Figure 1-6 shows how BRM compiles bills and requests payments from customers.

Figure 1-6 BRM Bill Compilation and Payment Request

Description of Figure 1-6 follows
Description of "Figure 1-6 BRM Bill Compilation and Payment Request"

Dealing with Corrections to Bills

Whenever the customer's account is modified in a manner that affects an invoice already sent to the customer, BRM enables you to generate a new type of bill and invoice:

  • Corrective bill. A bill containing changes to item charges that affect the amount due in a finalized bill. Corrective bills are associated with the bill they correct, but they do not have the same bill number. However, they share the same object identifier in the BRM database with the bill they correct, enabling you to retrieve all the information on a set of bills.

  • Corrective invoice. An invoice containing changes to an invoice already generated and sent to a customer. Corrective invoices are issued for simple corrections, such as address or language changes, and for charge corrections that affect the amount due in a finalized bill.

CSRs can use Customer Center to generate corrective bills for a specified account and billing period. The pin_make_corrective_bills utility generates corrective bills based on user-specified criteria such as bill number, account number, A/R item type, adjustment reason, threshold amount, date range, correction reason, and corrective invoice type. This utility can generate corrective bills individually or, when large numbers of bills are changed by processes such as rerating and backdating, in a batch.

The pin_inv_accts utility generates both regular and corrective invoices. By default, BRM supports either of the following formats for a corrective invoice:

  • Replacement invoice. A replacement invoice includes all A/R actions, bill items (corrected and uncorrected), and events (corrected and uncorrected) for the specified billing period. Adjustments are included for the corrected items and events that apply to the current corrective bill.

  • Invoice correction letter. An invoice correction letter includes only the A/R actions that occurred after the preceding bill for the specified billing period was finalized and only the corrected bill items and events that apply to the current corrective bill (plus their corresponding adjustments).

BRM provides a summary and a detailed version of both invoice formats.

About Billing Types

A customer's billing type determines the charges that are included in a bill. There are two billing types:

  • With open item accounting, a customer is billed only for charges in the current bill. If a customer does not pay a bill, the next bill does not include charges for the bill that the customer did not pay.

    You typically use open item accounting for invoice accounts. Each invoice includes the charges that apply to a single billing cycle. If a customer does not pay a bill, the next invoice includes the charges from the previous invoice.

  • With balance forward accounting, a customer's bill includes all the charges that a customer owes, including those from previous billing cycles. If a customer does not pay a bill, the next bill includes the charges from the previous bill.

    Accounts for customers who pay by credit card should always use balance forward accounting. Balance forward accounting is the default.

About Account Groups

You can create account groups where one customer pays the bill for a group of accounts. For example, a corporate account might include multiple dialup accounts, but all the billing is handled by the corporation.

How Billing Is Different from Rating

Rating calculates how much a customer should be charged for usage, subscription fees, and so forth. Rating determines the charges, stores the charges in bill items, and updates the customer's account balance.

Billing does not involve any measuring of events; billing simply collects existing balance impacts and creates a bill. The service or action that generated the events is irrelevant to creating the bill.

About Managing Payments

By default, BRM is configured to accept several different types of payment methods (for example, credit card, direct debit, cash, and check). Usually, each customer account is set up to use one payment method; however, you can set up an individual customer with multiple payment methods.

The payment method determines how the customer's payment is submitted to BRM: directly by a payment processor, such as a payment gateway, or manually by a payment clerk who uses Payment Tool to load a batch file sent from a bank or automated clearing house (an externally initiated payment).

If the submitted payment passes validation, the customer's account balance is updated accordingly. If the payment fails validation, the payment is handled according to the business policies implemented in your system configuration.

For example, you can configure BRM to process payments as follows:

  • If a payment is paid early and in full, provide a credit or other incentive.

  • If a payment fails financially, charge a fee.

  • If a payment is not valid, save it to the payment suspense account so that the error can be fixed and the payment applied to the correct account at a later time. Payment suspense management must be enabled.

You can configure your business policies to handle overpayments and underpayments, and you can use Payment Tool or Customer Center to allocate payments to accounts or to specific bill and bill items. If you are not sure how to allocate a payment, you can leave it unallocated at the account.

About Managing Accounts Receivable

A/R includes all money owed to your business by customers who have bought your goods or services.

BRM manages A/R by storing different types of charges in bill items. For example, the usage item stores all the charges from usage fees, and the cycle forward and cycle arrears items store charges from different types of monthly subscription fees.

To manage A/R, you use Customer Center. Typical A/R tasks include:

  • Displaying a customer's balance.

  • Applying a credit or debit to a customer's balance.

  • Managing billing disputes.

  • Adjusting the tax on a bill.

About Managing Customers

Most customer management tasks are accomplished by CSRs using Customer Center or a third-party customer management system. You can set up Web-based customer self-care so that your customers can handle their own administration tasks, such as changing login names and passwords.

Typical customer problems include:

  • Cannot log in to a service.

  • Wrong amount on a bill.

  • Forgotten password or login name.

Typical customer requests include:

  • Change an address or phone number.

  • Change an email address, password, or login name.

  • Add, upgrade, or cancel services.

  • Find out the current balance.

A common strategy for assigning tasks to CSRs is to use two levels of CSRs:

  • Junior CSRs typically create accounts, check customer account balances, change customer login names and passwords, and answer common customer questions.

  • Senior CSRs handle payment disputes, change credit limits, and change account status. Senior CSRs can also validate the work of junior CSRs (for example, by making sure that new accounts are created correctly and have all the necessary information).

About Managing Brands

You can use BRM to host services for branded service providers (BSPs). A BSP is a company that offers Internet services under its own brand name but does not actually operate the service.

If you are a host provider, you can set up and maintain many separate brands of Internet service in a single BRM system. You can:

  • Create brands, which distinguish separate BSP accounts and other data, such as price lists.

  • Control which personnel can access customer accounts and other data for each brand.

  • Create brand-specific Web pages where customers can register and modify their accounts.

You need the optional Brand Manager component to host services for BSPs.

About Collecting Revenue Data

To record your business results, you export a monthly summary of all G/L data to your accounting software.

  • You can create G/L reports that show revenue from any type of event (for example, all revenue generated from usage fees, monthly fees, and the revenue impacts of A/R adjustments).

  • You can create reports based on revenue recognition (for example, billed, unbilled, earned, and unearned).

About Running Database Reports

You can run database reports that show your financial data. For example:

  • The ARSummary report summarizes the amounts currently due in a specified time period.

  • The CCExpire report shows information about all accounts whose credit cards will expire in a specified period.

  • The UsageTimeCurrent report displays the number of customer dialup sessions that are open in a specified time period.

What Is in a BRM system?

The BRM system is an integral part of your business. Figure 1-7 shows how BRM components work with your other software components.

Figure 1-7 BRM Components within an Enterprise

Description of Figure 1-7 follows
Description of "Figure 1-7 BRM Components within an Enterprise"

In this figure:

  • BRM clients interface to your services and capture data about customer service usage. For example, RADIUS Manager collects information from your terminal server about the customer's session. BRM clients also include BRM applications, such as Customer Center and Pricing Center.

  • BRM Connection Managers (CMs) process the data collected by BRM clients. For example, when a customer logs in, the Connection Manager determines how to validate the login name and sends a validation request to the BRM database.

  • BRM Data Managers (DMs) translate BRM operations into a language that databases can understand. For example, a request for a login validation or credit card verification is translated into a database query.

  • The BRM database stores customer account data and business data, such as your price list, G/L data, and records of all events that occur in the BRM system.

For more information about the BRM system, see "BRM System Architecture".

How the BRM Database Stores Data

The BRM database stores data in objects. For example, there are objects that store information about accounts, events, bills, services, and price list elements such as products.

Each object includes fields; each field contains a specific piece of data. For example:

  • The account object includes fields that contain the customer's first name, last name, and account status.

  • Event objects include fields that contain the start and stop times of the event, the account that generated the event, and the balance impact of the event.

  • Configuration objects contain data used by the system. For example, the /config/glid object includes the G/L IDs used for collecting G/L data.

Developers who create custom applications, or customize BRM source code, must know about objects and fields.


  • Always use the BRM API to manipulate data. Changing data in the database without using the API can corrupt the data.

  • Do not use SQL commands to change data in the database. Always use the API.

If you implement BRM, but are not a developer, it sometimes helps to know about objects and fields to understand how BRM works (for example, how BRM handles A/R).

How BRM Processes a Typical Billable Event

This example shows how BRM processes a billable event; in this case, a dialup session event.

Before your customers can log in to your service, you must do the following:

  1. Install your terminal server and modem pool.

  2. Install BRM and RADIUS Manager.

  3. Create a price list that includes a plan for the IP service. This plan charges $1 per hour for dialup access on weekdays, with free access on weekends.

  4. Register the customer using the Internet Access plan.

When the customer logs in, the following actions occur:

  1. The customer logs in at 10 p.m. RADIUS Manager collects the login name and password and sends them to the BRM database to authenticate the user; that is, to see if this user has an account.

  2. The login name and password are found in the database. This identifies the account and enables BRM to check if the customer is authorized to use the IP service. In this case, the customer has purchased a plan that includes the service, paid all bills, and has not exceeded a credit limit, so authorization is granted.

  3. The customer connects to the Internet for three hours. When the customer logs off, BRM records the start and stop times of the session in a session event:

    • Start time: Friday, 10 p.m.

    • End time: Saturday, 1 a.m.

  4. BRM rates the event. The connection time was for three hours, but one hour was on the weekend, when Internet access is free. The total usage fee is $2.

  5. BRM adds $2 to the usage billing item, which is displayed in the customer's account balance.

To bill the customer, the following actions take place:

  1. The customer's billing date is January 15. When you run the daily billing utilities on January 16, a billing utility determines that the customer's account is ready for billing.

  2. BRM creates the customer's bill, which includes the $2 usage fee.

  3. Because the customer pays by credit card, another billing utility creates a credit card transaction for the total amount of the bill and sends the transaction to a credit card processor.

  4. The credit card processor authorizes the payment and tells BRM that the payment was made.

  5. BRM records the payment and updates the customer's account balance.

  6. BRM automatically sends an email invoice to the customer, notifying the customer of the month's charges. This invoice is for the customer's information only.

How a Typical Internet Service Provider Uses BRM

This example shows how a typical Internet service provider (ISP) implements BRM.

ISP-1 is a full-service ISP company that targets local and regional markets. ISP-1 provides dialup and ISDN Internet access, email, and Web hosting.

ISP-1 chose BRM primarily for the following reasons:

  • BRM can handle the rapid growth that ISP-1 is experiencing.

  • ISP-1 can offer online registration.

  • ISP-1 can offer account self-management.

  • ISP-1 can add and change price plans easily.

ISP-1 is currently in negotiations to purchase another ISP. In that case, it can use the optional branding functionality to manage existing accounts separately from accounts inherited from the other ISP.

Customer Registration

ISP-1 has a two-fold approach to finding and registering customers:

  • Using various advertising methods, ISP-1 provides a toll-free number that customers can call to register. These customers talk to CSRs, who use Customer Center or a third-party customer management system to create the account.

  • ISP-1 distributes a CD that contains a customized registration kit that connects to the ISP-1 self-care Web site. In addition, ISP-1 maintains a Web site for customers who already have Internet access.

To encourage online registration, the purchase fee is waived if the customer registers online. To implement this feature, plans are created without a purchase fee, and the purchase fee is added as an override by the CSR.

Custom Profile Information

To handle corporate accounts, such as those that use the T-1 service, ISP-1 keeps track of sales representative and account owner information. To manage this information, ISP-1 uses profiles to add an Account Owner field and an Account Representative field.

Managing Customer Accounts

ISP-1 offers a subset of the available BRM administrative functions on its customer self-care Web site. Customers can change passwords, look at their balance, update credit card information, and change name and address information.

All of these customer management tasks can also be handled by CSRs using Customer Center or a third-party customer management system. In addition, CSRs handle product upgrades and billing disputes. CSR support is managed as follows:

  • Some CSRs handle account creation and product upgrades only. Other CSRs handle simple maintenance tasks, such as changing passwords and billing information. Advanced CSRs handle billing disputes.

  • There are no charges for administrative tasks, such as changing a password.

In addition, ISP-1 has a technical support group dedicated to maintaining its ISP network and dealing with access issues. This technical support group has extended hours, seven days per week.


ISP-1 offers three basic plans:


This minimal plan offers Internet access and Web space, but no email. The target customer is a casual-use individual.

  • $6.95 per month for 20 hours of Internet access and 5 MB Web space.

  • Usage over 20 hours per month is charged at $2 per hour.

  • $10 purchase fee.

  • If a customer cancels the plan, the monthly fee is prorated; the customer does not have to pay for the part of the month that was not used.


This plan offers Internet access, Web space, and email. The target customer is a family account.

  • $19.95 per month for unlimited hours, 4 mailboxes, 5 MB Web space.

  • $5 per month for each additional mailbox.

  • $10 purchase fee.

  • If the customer cancels the plan, the monthly fees are prorated; the customer does not have to pay for the part of the month that was not used.


This plan offers Internet access, Web space, email, and additional premiums. The target customer is a high-use individual or family account. The customer pays a yearly rate that is considerably less than the yearly cost of a monthly rate. In exchange, there is a lack of proration and a cancel fee for early cancellation.

  • $100 per year for unlimited hours, 5 mailboxes, 10 MB Web space, and access to free Internet software downloads.

  • $20 purchase fee.

  • $50 cancellation fee if the customer has owned the account for less than one year.

  • There is no proration if the customer cancels before owning the account for less than one year.

  • The yearly fee is paid in advance. The customer has the option of paying quarterly or yearly.

G/L Accounts for Pricing Elements

Revenue is tracked in the following G/L accounts:

  • All usage fees are recorded in the Usage fees G/L account.

  • Monthly fees for the Standard and Unlimited plans are recorded in the Monthly subscription G/L account.

  • The yearly fee for the Premium account is recorded in the Premium subscription G/L account.

  • There is a separate G/L account for each type of purchase fee: Standard purchase fee, Unlimited purchase fee, and Premium purchase fee.

  • The Premium cancel fee is recorded in the Premium cancel fee G/L account.

Billing and Payments

ISP-1 accepts payment by check and credit card.

Accounts that pay by credit card use anniversary billing (the billing day of month is the day that the account was created), although customers can change their billing day of month. (This change is handled by a CSR.) Premium customers cannot change their billing day of month.

Invoice accounts are paid by check. Check payments are processed by CSRs using Payment Tool. Payments that cannot be validated are compiled into a separate batch of payments and are processed by a member of the accounting department.

Invoice accounts are all billed on the 15th of each month. A customer changing the payment method from invoice to credit card can choose a different billing day of month.

About the BRM Client Applications

BRM includes the following applications that you use to manage customers, process, payments, and configure your system:

  • To register customers, manage customer information, and handle billing disputes, use Customer Center.

    Figure 1-8 shows the full Customer Center interface, with the Summary tab active. By default, this tab is active when you first open an account:

Figure 1-8 Customer Center

Description of Figure 1-8 follows
Description of "Figure 1-8 Customer Center"

  • To set up your price list, use Pricing Center.

    Figure 1-9 shows how Pricing Center displays a typical price list:

Figure 1-9 Pricing List Displayed in Pricing Center

Description of Figure 1-9 follows
Description of "Figure 1-9 Pricing List Displayed in Pricing Center"

  • To process externally initiated payments, such as payments by check, and to process payment reversals and refunds, use Payment Tool.

    Figure 1-10 shows the Check Payment Batch window, where you process a batch of check payments:

Figure 1-10 Check Payment Batch Window

Description of Figure 1-10 follows
Description of "Figure 1-10 Check Payment Batch Window"

  • To perform business management tasks, such as creating brands and setting up CSR and other access privileges, use Configuration Center.

    BRM developers and administrators use Configuration Center for advanced business management tasks. Configuration Center can contain any combination of the components listed in Table 1-1, depending on what you have installed:

Table 1-1 Combination of Components

Component Application

Policy Editors

Field Validation Editor

Brand Manager

Brand Manager

Access Privileges

Brand Manager is an optional component that you acquire separately.

In Figure 1-11, Configuration Center contains all its possible applications:

Figure 1-11 Configuration Center

Description of Figure 1-11 follows
Description of "Figure 1-11 Configuration Center"

About BRM Command-Line Utilities

In addition to the client applications, BRM includes command-line utilities. These utilities typically have a narrow purpose. For example:

  • Use the pin_bill_accts utility to run daily billing.

  • Use the load_pin_glid utility to load G/L IDs into the database.

  • Use the pin_restore utility to restore archived data.

Implementation Process

A typical BRM implementation process includes these tasks:

  1. Installing a test system.

  2. Creating services (for example, setting up the hardware necessary for your services, such as terminal servers and IP telephony gateways, and installing and configuring optional service integration components).

  3. Creating your price list, including creating resources, and setting up event maps and ratable user metrics (RUMs) so your system can capture and rate customer service usage.

  4. Setting up customer registration.

  5. Testing your implementation on the test system.

  6. Installing a production system.


    You should keep a small test system available to test custom components. This test system should be the same as the production system, but it only needs to have a few accounts.

Ways to Use and Customize BRM

You can customize BRM to change the default BRM business functionality. By customizing BRM, you can change how BRM responds to customer activity. For example, you can do the following:

  • Change the net due date for invoice accounts.

  • Specify the reasons for automatically inactivating an account.

  • Specify how and when to validate credit cards.

  • Collect additional data about a customer (for example, the customer's bank ABA number, employee number, or member referral information).

You customize business functionality by editing configuration files and by customizing BRM source code. You do not need to be a programmer to edit configuration files, but you must be a programmer to customize source code.

You can use several methods to use and customize BRM features:

  • Use BRM client applications, such as Customer Center and Business Configuration Center, to manage customers, record payments, and change BRM default behavior. Client applications run on the Windows platform and have a graphical user interface.

  • Use BRM command-line utilities such as the pin_collect utility and the load_pin_glid utility to run billing utilities and load data into the BRM database.

  • Edit configuration files to change the default BRM behavior and tune system performance.

  • Customize BRM source code. This requires programming.


    • Always use the BRM API to manipulate data. Changing data in the database without using the API can corrupt the data.

    • Do not use SQL commands to change data in the database. Always use the API.

About Integrating Your Services with BRM

A service is a capability that you provide to customers, such as Internet access, email, or telephony.

Integrating your services with BRM is a key part of your BRM implementation. It enables you to do the following:

  • Capture, measure, rate, and charge for service usage.

  • Authenticate and authorize customers, which enables you to activate and inactivate accounts automatically (for example, as soon as a credit limit is reached).

  • Charge customers based on levels of service. For example:

    • You can charge different fees for different connection speeds.

    • You can charge based on the number of mailboxes.

  • Provision services based on the products that a customer owns. For example, you can create products that determine the size of a customer's mailbox or connection bandwidth.

To integrate BRM with your services, you use service integration components, such as RADIUS Manager. For example:

  • When customers log in, RADIUS Manager uses data in the BRM database to authenticate the customer's login name and password.

  • RADIUS Manager uses BRM data to authorize service usage. For example, if the customer has exceeded a credit limit, BRM can deny authorization to use the service.

  • RADIUS Manager collects terminal server accounting data, such as session start and stop times. BRM uses this data to measure, rate, and charge for service usage.

Figure 1-12, Figure 1-13, and Figure 1-14 show how RADIUS Manager authenticates, authorizes, and collects data for rating.

Figure 1-12 RADIUS Manager Authentication Process

Description of Figure 1-12 follows
Description of "Figure 1-12 RADIUS Manager Authentication Process"

Figure 1-13 RADIUS Manager Authorization Process

Description of Figure 1-13 follows
Description of "Figure 1-13 RADIUS Manager Authorization Process"

Figure 1-14 Collecting Usage Data with RADIUS Manager

Description of Figure 1-14 follows
Description of "Figure 1-14 Collecting Usage Data with RADIUS Manager "

About Creating Custom Account Management and Billing Tools

Using the BRM APIs, you can create custom client applications and customer interfaces. For example:

  • Web-based applications that customers use to change their account status, upgrade their services, and pay their bills.

  • An online registration package requiring no existing Internet access and distributed on a variety of shareware CDs.

  • An application that runs nightly, searches for accounts that have a free trial account, and sends email when the free trial account is about to expire.

  • An application that runs nightly to check the age of an account. If the account is over two years old, the customer is automatically upgraded to a discounted plan.

  • An application that checks customer profiles and applies a discounted rate for teachers.

  • An application that monitors the customer's disk space on a server and charges more if allotted disk space is exceeded.

About Connecting BRM to External Data Processing Sources

BRM is modular and extensible by design. Many customers add custom interfaces to external components. Some customers use external components instead of standard BRM components. For example, some customers use BRM rating but use their own proprietary billing system. Other customers use a third-party customer management system.

Examples of external integrations:

  • Tax calculation services.

  • Credit card processing services.

  • Legacy billing systems.

  • Customer management systems.

  • Credit checking services.

  • Accounting applications to handle A/R and G/L data.

  • Business information distribution services (for example, services that automatically distribute the results of database reports).

  • Fulfillment services that send welcome letters and goods such as CDs.

  • Invoice processing, printing, and mailing companies.

  • Offsite customer service organizations.

About the Data Displayed in BRM Client Applications

You can change some information displayed in client applications to support your business needs. For example:

  • Change the list of plans or edit your plan lists.

  • Change the predefined reasons that describe why a change was made to an account.

  • Add a payment method.

  • Change the list of currencies you support.

About BRM Defaults

Almost all business policies have a default implementation. For example, the default billing cycle is one month. You can change the default implementation by editing configuration files, or customizing policy code.

When Is Programming Required?

Most BRM features can be customized without any programming. For example, most price list implementations, CSR-based registration, and billing setup requires no programming to customize. The following customizations require some programming:

  • Creating services. If you offer a service that is not supported by default in BRM, such as a fax service, you must create a custom service to capture and rate fax-related events.

  • Modifying some BRM defaults. In some cases, you must modify policy source code to change BRM behavior. For example, to rate Internet access by the number of bytes downloaded rather than by connection time, you must edit source code.

  • Creating custom applications. Some BRM implementations can be greatly enhanced by creating simple applications that manipulate data in the BRM database. For example, you can write applications to do the following tasks:

    • Alert customers that their free hours are almost used up.

    • Search for customers who have late payments.

  • Customizing applications. To add entirely new tabs or make major changes to functionality, you must use the Customer Center SDK.

  • Supporting a legacy system. If you already have data stored in a database, you can write a Data Manager (DM) to provide an interface to that database.

  • Customizing event notification. You use event notification to set up processes to run automatically. For example, you can customize BRM to send an email message to a customer automatically when a credit limit is nearly expired.

  • Implementing advanced pricing features. Some pricing features (for example, product-level provisioning) require some programming for the initial setup.

Summary of Key Terms

Whatever you do with BRM, you should know the following terms:


An online action that can be recognized by BRM and recorded in the BRM database. For example:

  • Connecting to the Internet.

  • Placing an IP phone call.

  • Changing a password.

  • Creating an account.

Billable event

An event that you charge customers for, such as an Internet connection or an IP phone call.


A BRM process that determines how much to charge customers for the use of your services.

Rating is performed on events. To rate an event, BRM does the following:

  1. Measures the event.

  2. Applies a charge to the resulting measurement.

  3. Adds the charge to the customer's account balance.

Balance impact

The effect that rating an event has on a customer's account balance.

  • A credit balance impact adds to the balance; the customer owes you more.

  • A debit balance impact subtracts from the balance; you owe the customer.


An asset of economic value, such as US dollars, or a non-currency asset, such as Internet access hours.

Price list

A set of plans that specifies when, how, and how much to charge customers.


A BRM process, typically run daily, that compiles the fees incurred by customers into bill objects stored in the BRM database.

Accounting cycle

A one-month period during which all of a customer's charges are calculated, but not billed. Charges are recorded in the customer's balance. The timing of the accounting cycle for a customer is based on the customer's billing day of month.

Billing cycle

The time period during which charges accumulate in an account before a bill object is created and a request for payment is generated. One billing cycle can contain one or more accounting cycles.


A collection of data stored in the BRM database about a specific customer. Account information includes:

  • Information about the customer (for example, name and address).

  • Which services the customer can use.

  • Billing information, such as method of payment and billing day of month.


A commodity sold by your company and that your customers can purchase and use, such as an email address or an Internet connection. When customers use a service, they generate billable events, which you use to bill customers.

A customer account can have an unlimited number of services.


A record in the BRM database. All data is stored as objects. For example:

  • The account object includes fields that contain the customer's first name, last name, and account status.

  • Event objects include fields that record the start and stop times of the event, the account that generated the event, and the balance impact of the event.