The billing cycle includes the following
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. Show 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. shows a bill with two bill items. Figure 4-1 Bill With Bill Items Description of "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. 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 Description of "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. 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 Description of "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 , 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:
shows how BRM compiles bills and requests payments from customers: Figure 4-4 Regular Billing Process in BRM Description of "Figure 4-4 Regular Billing Process in BRM" About Bill StatesYou use bill states to determine whether billing is run for the bill and for informational purposes in external applications. There are two levels of bill state:
The bill-level states are:
See the Update a Customer Bill endpoint in REST Services Manager API for Billing and Revenue Management for more information about setting the bill state through the REST API. About Accounting and Billing CyclesBilling is performed in cycles. There are two types of cycles:
If you bill customers every month, the accounting cycle and the billing cycle are usually the same. However, you can bill in any multiple of one month (for example, every two months, quarterly, or yearly). If a billing cycle is longer than the accounting cycle, the bill includes balance impacts from multiple accounting cycles. Accounting cycles and billing cycles are different in other important ways:
About Accounting CyclesBy default, an accounting cycle always ends at midnight, specifically at 23:59:59, and the next accounting cycle always begins at 00:00:00. BRM performs various tasks at the end of one accounting cycle and the beginning of the next accounting cycle: At the end of an accounting cycle, BRM performs these tasks:
At the beginning of a new accounting cycle, BRM performs these tasks:
If the account uses a multimonth billing cycle, new cycle forward and usage items are created every month, resulting in multiple cycle forward and usage items. About Accounting Cycle DatesThe day that the accounting cycle starts is called the accounting day of month (DOM). By default, an accounting cycle begins on the day of the month that the customer account is created. For example, if the customer creates an account on the 15th, the accounting cycle starts on the 15th day of the month. Although an accounting cycle is always one month long, the length of the accounting cycle changes from month to month. For example, if an accounting cycle starts on the 15th day of the month, there are more days between January 15 and February 15 than there are between February 15 and March 15. 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. You can change the default accounting cycle date for all accounts to a single date, but that can result in an excessive load on the BRM system. About Billing CyclesBilling cycles consist of a billing DOM and a billing frequency:
Figure 4-5 One Month Accounting and Three Month Billing Cycles Description of "Figure 4-5 One Month Accounting and Three Month Billing Cycles" The billing DOM and billing frequency are set in the bill unit. Accounts with multiple bill units can have different billing cycle settings for each bill. For example, an account with two bill units can have the following cycles:
About Actions Performed at the End of a Billing CycleTypically, at the end of a billing cycle, BRM performs the following actions:
Collecting payments does not occur automatically at the end of a billing cycle. You must set up billing applications that automatically request payments at the end of an account's billing cycle. About Auto-Triggered BillingWhen auto-triggered billing is enabled, BRM automatically triggers billing when an event occurs after the billing date but before billing is run. For example:
Events that trigger billing include the following:
By default, auto-triggered billing is always enabled. You can disable auto-triggered billing when, for example, you might want to run billing only by running the billing application (pin_bill_accts). Note: If you use delayed billing, auto-triggered billing is always enabled for the delay period. And by default, it is also enabled for the last two days only of each bill unit's accounting cycle. About Delayed BillingYou can set up BRM to delay billing for accounts after the end of a billing cycle. This is called delayed billing. Delayed billing essentially extends a billing cycle by the delay interval. You use delayed billing to bill for events that occur within a billing cycle but are not recorded during that cycle. For example, if a batch of events does not arrive until after the end of the billing cycle, you delay billing until all events in the batch are recorded in the BRM database. When you use delayed billing, billing for all the accounts in your BRM system is delayed for the same amount of time; you cannot specify multiple billing delay periods. When your system is set up to use delayed billing, BRM performs partial billing to enable the new event to be rated and applied to the correct billing period. Partial billing ensures that new events impact bill items of the next billing cycle and old events impact bill items of the previous billing cycle. For more information about delayed billing, see BRM Configuring and Running Billing. About Accounting TypesBRM bills include the charges incurred during the current billing cycle and, optionally, any unpaid charges from previous billing cycles. You control whether BRM bills include charges from previous billing cycles by setting the accounting type:
Accounting types are set in the bill unit rather than in the account. This enables accounts with multiple bill units to have different accounting type settings for each bill. For example, an account with two bill units can have one bill unit with an open item accounting type and another bill unit with a balance forward accounting type. About Multiple Bills per CycleAn account's billing information is stored in a bill unit (/billinfo object in the BRM database). The bill unit associates each account balance group with a bill and a payment method. When you bill accounts, a bill is produced for every bill unit. You can create multiple bill units for a single account. Each bill unit in an account has its own payment method, accounting type, billing DOM, and billing frequency. By default, accounts are created with one bill unit. You create additional bill units by using Billing Care or Customer Center. You can also create bill units by implementing BRM opcodes in your custom code. Specify the account to which the bill unit belongs and link the account balance groups to the new /billinfo object. When an account has multiple bill units, a bill is produced for each bill unit in the account, as shown in . Figure 4-6 Multiple Bill Unit Account Description of "Figure 4-6 Multiple Bill Unit Account" You perform the following for each bill unit in an account:
|