Billing is the process of compiling charges in a customer's balance and creating a bill. The amount due in the bill is sent to the customer as a payment request.
During the time between bills, a customer's charges are stored in bill items. There are different types of bill items; for example, usage items that store usage charges, and cycle forward items that store recurring charges.
When billing is run, BRM creates a bill. A BRM bill is a /bill object in the BRM database that stores the charges from bill items and all billing information necessary to generate a request for payment.
Note:
The /bill object only stores billing information and is not a request for payment itself. You request payments from customers by creating a payment request.
All accounts in the database, including accounts that do not pay their own bills, have their own /bill objects. The /bill object stores data such as the bill creation date, total charges accumulated in the bill, the amount due from the customer, and the bill due date.
Figure 4-1 shows a bill with two bill items.
Figure 4-1 Bill With Bill Items
Each account includes at least one bill unit that defines the charges from each bill item that belong in a bill. BRM creates one /bill object for each /billinfo object in the BRM database.
Figure 4-2 shows a simplified bill unit and bill relationship. The bill unit defines when and how often to create a bill. The bill includes items that contain the charges collected over the month between bills. A bill is produced for every bill unit.
Figure 4-2 Bill Unit and Bill
Billing is based on cycles, usually monthly. Each bill unit has a billing day of month (DOM), which is typically the day of month on which the account is created. For example, if an account is created on May 7, all of its bill units, by default, have the seventh day of the month as their billing DOM.
Note:
For a bill unit, the billing DOM and the accounting DOM are the same day, which is specified in the PIN_FLD_ACTG_CYCLE_DOM field of the /billinfo object.
In addition to the DOM, each bill unit has a billing frequency. For example, if the account is billed monthly, its bills are generated on June 7, July 7, August 7, and so on. Most customer accounts are billed monthly, but you can bill accounts at any monthly interval (for example, bimonthly, quarterly, semiannually, or annually).
An account typically has one bill unit but can have multiple bill units; for example, a bill unit for each service the customer owns. By default, all bill units in an account have the same billing DOM and billing frequency, but you can modify each bill unit to have a different billing DOM and billing frequency. Figure 4-3 shows an account with two bill units. In this example, the bill unit for the cable service has no usage fees.
Figure 4-3 Account With Two Bill Units
To create bills, you run billing by running a set of billing scripts, which in turn run billing utilities. For example, the pin_bill_day script runs several billing utilities, including the pin_bill_accts utility, which finds bill units that need to be billed and creates a bill for each of those bill units. For the account shown in Figure 4-3, billing runs on the 1st day of the month for the telco service, and on the 15th day of the month for the cable service.
After finding the bill units that need billing, BRM does the following:
-
Performs monthly accounting. BRM compiles the total amount of balance impacts that have occurred in the past month. This can include usage fees and recurring fees. This monthly accounting is called the accounting cycle. For more information, see "About Accounting and Billing Cycles".
-
Finalizes the bill. To finalize a bill, BRM changes the status of all the bill items associated with the bill from pending to open so that they stop accumulating charges and so that payments can be applied to them. In addition, a payment due date is added to the bill. The time period during which charges accumulate in an account before a bill is finalized is called the billing cycle. (For more information, see "About Accounting and Billing Cycles".) Typically, a bill is finalized monthly, at the end of each accounting cycle. However, you can bill in any multiple of one month (for example, every two months, quarterly, or yearly). A finalized bill includes balance impacts from each accounting cycle in the billing cycle.
-
Requests a payment. BRM supports two types of payments:
-
You process BRM-initiated payments by automatically requesting payments from a credit card or debit card 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, and the customer's total balance for that bill.
When a payment is recorded in the BRM database, the customer's account balances are updated automatically.
-
Figure 4-4 shows how BRM compiles bills and requests payments from customers:
Figure 4-4 Regular Billing Process in BRM