![]() |
BillMax Billing Solutions 877.245.5629 sales@billmax.com |
Billing a customer (adding a billed amount to a customer's account) may be done by several methods:
A subscription billing plan such that BillMax automatically bills a customer for a Service at predetermined intervals called Durations. Billing is at the beginning or before the Duration.
A usage billing plan such that BillMax automatically bills a customer for using a Service provided the usage data has been entered into BillMax. Billing for usage is done after the delivery of Service.
A prepaid usage billing plan. After billing the customer, if usage data is entered into BillMax, BillMax will automatically signal when the prepaid usage has been consumed. Prepaid calling cards are an example.
Bills manually entered through the BillMax staff interface.
Billing data imported into BillMax.
BillMax supports several different styles of subscription billing. BillMax can bill by the following Durations:
A day.
An arbitrary number of days such as a week or 10 days.
A month.
An arbitrary number of months such as 6 months, a year, 18 months, etc.
In addition, BillMax supports the concept of an initial Duration, number of repetitions of the initial Duration, and special pricing for the initial Duration repetitions.
For Durations of a month or longer, the billing of Services can be tied to a specific day of the month. This is done by categorizing the Service Definition as Synchronized. If Synchronized, billing will be done on the Account invday (unless timing is modified by Virtual Company prebilldays. This will cause a prorated bill for a partial month.
![]() |
Note |
|---|---|
|
Account
|
Example 2.2. Prorating Example
A company decides to bill all the customers on the first of the month and sells Services that have a monthly Duration. A customer signs up for Service on the 15th of January. The customer will be billed 17/31 of the monthly purchase price. If the customer signs up on the 15th of February, the customer will be billed 14/28 of the monthly purchase price. In addition, at sign up time the customer may be automatically billed for the following month. This will depend on Virtual Company billnextterm.
A Service is billed on Service invdate by default. When a Service is billed may be modified by Virtual Company prebilldays. If prebilldays is non-zero, the a Service will be billed prebilldays before Service invdate.
Example 2.3. Prebilldays Service Invoicing Example
Service invdate is 2002-02-01. Virtual Company prebilldays is 10. The Service will be billed on 2003-01-22.
For each Service Definition, a Setup fee and/or a Deposit Charge may be defined. When creating a new Service, one may specify whether or not to assess either or both of these items.
The time of day when a Service is billed is dependent on when during the day closeofday is executed. BillMax daily processing should be scheduled to begin on or shortly after midnight. As a precaution, it is recommended that BillMax daily processing not begin between 1:00 a.m. and 2:00 a.m. inclusive to avoid issues with Daylight Savings Time (although no issues are known to exist). The examples will assume that daily processing being at 12:00 a.m.
![]() |
Note |
|---|---|
|
Depending on the desired business practice, understanding BillMax timing issues may be critical. Timing issues fall into two main categories:
|
The following are billing techniques to solve specific issues by using BillMax:
Billing for a Service that requires a site visit before Service delivery begins (DSL, Cable, etc.). - Set Service startdate in the future. The startdate should be far enough in the future such that there is time for the Service to be set up and such that the Service is not inadvertently billed due to Virtual Company prebilldays. If desired, the Setup fee and/or the Deposit Charge will be assessed at the time the Service is created.
Re-Opening a Suspended Service, but not wanting to bill for time of Service interruption. - By default, BillMax will bill for a Service without breaks. In other words, if a Service is Open, billing will be for continuous Service delivery. Is a Service is Suspended, BillMax will not bill for the Service, but if the Service is re-Opened, BillMax will catch-up the billing as if there had been no Service interruption. If the desire is to NOT bill for the time the Service is interrupted, change Service invdate to the date the Service is re-Opened before re-Opening the Service.
Do not allow Service delivery until Payment is received - Set Virtual Company newservice to WAIT FOR PAYMENT.
![]() |
Note |
|---|---|
This is useful for new Accounts paying by check or cash. |
![]() |
Warning |
|---|---|
|
Services in WAIT FOR PAYMENT will be Opened when a payment is received that causes the Account balance to be zero. This is not effective for Accounts older than 30 days or Accounts that pay by credit card. |
Satisfy the following requirements:
The following setup will satisfy the requirements.
Set Virtual Company prebilldays to 10 - Service will be billed 10 days before Service invdate.
Set Account epaydays to 10 - electronic funds will be collected 10 days after the Service is billed.
Set Account terms to 10.
![]() |
Warning |
|---|---|
Account |
Set Virtual Company overduesusp to 1.
Assuming that Statement processing is configured to close the Account Statement the day the bill is generated, and assuming the payment is not received, this will result in the Service being Suspended 11 days after being billed.
Satisfy the following requirements:
The following setup will satisfy the requirements.
Set Virtual Company prebilldays to 10.
Set Account epaydays to 0.
Set Account terms to 9.
Set Virtual Company overduesusp to 1.
Assuming that Statement processing is configured to close the Account Statement the day the bill is generated, this will result in the Service being Suspended at 12:00 a.m. on the day the new Service Duration begins. If desired that the Service be Suspended at 12:00 a.m. the day before, set the Account terms to 8. If desired that the Service be Suspended at some arbitrary time the day before such as 10:00 p.m., special processing will have to be created.
BillMax may be configured to bill for usage of a Service. Examples of types of usage that may be billed are:
Amount of time on-line.
Number of web hits.
Amount of bandwidth used.
Amount of disk space used.
BillMax can bill for any type of usage data that can be collected and imported into BillMax.
There are two styles of usage billing provided by BillMax. These are Metered billing and Usage billing.
The Duration over which Metered and Usage data is considered and the timing of when it is billed is determined by the following Service Definition parameters:
![]() |
Warning |
|---|---|
These are NOT affected by Virtual Company |
Usage Invday - the day of month that usage data will be billed subject to the settings of Usage Duration and Usage Options.
Usage Duration - the frequency for which usage data will be billed subject to the settings of Usage Invday and Usage Options.
Usage Options - used in conjunction with Usage Invday and Usage Duration.
Bill Monthly on Invday - bill usage data on Account invday. Use this for billing usage data that is continuously collected and entered into BillMax.
Example 2.6. Bill Monthly on Invday
If the Account invday is 3, on the third of every month a bill for usage data will be generated for the specific account.
Bill on Service Invdate (No Prebilldays) - bill usage on Service invdate. This does not bill for usage until the date that a Service is billed. This is also intended to be used with data that is continuously collected.
Example 2.7. Bill on Service Invdate (No Prebilldays)
Assume a 3 month Service for which sign up was on 2003-01-01. Usage will be billed on 2003-04-01, 2003-07-01., etc. no matter what the setting of Virtual Company prebilldays.
Bill Monthly on Servdef Usage Invday - Usage will be billed monthly on the day specified by Service Definition Usage Invday. Useful for data that is collected and imported into BillMax on a specific day of the month.
Bill Using Usage Duration and Usage Invday - Usage will be billed on the day specified by Service Definition Usage Invday if the duration is specified in months. Otherwise it will be billed every n days specified. Billing will be done each Usage Duration.
Metered billing is used to bill customers based on when they use a service and how long they use the Service. BillMax supports the concept of Prime Time usage through Virtual Company primestart and primeend.
Metered billing uses data loaded into the BillMax Datacall table. Data for the Datacall table is expected to be RADIUS data - data from terminal servers tracking on-line usage. This data contains information specifying when a customer has used the terminal server and how long they used it. However, BillMax customers have loaded non-RADIUS data to use Metered billing functionality to bill usage for other types of Services. If desired that this data pass through the normal processing for RADIUS data such as automatically Suspending services for overusage, then the data must be loaded using a program like radparse.
BillMax takes RADIUS data and compares it to Virtual Company primestart and primeend dividing it into Prime and Non-Prime usage. The sum of the Prime usage values and the sum of the non-Prime usage values are used to 1) disable a Service if overusage occurs; 2) possibly create additional bills for usage over a base amount.
Usage billing is used to bill customers for any arbitrary type of usage data. Usage billing differs from Metered billing in the following ways:
Usage data may have an in metric and/or an out metric or an unlabeled metric. The metric to use for computing a Usage Based Computation may be specified.
The raw usage data may be processed by one of a number of different algorithms to determine the Usage Base Computation. The Usage Based Computation is the resulting value that is subsequently used to determine how much to bill the customer. The following algorithms may be used:
Table 2.1. Available Computational Methods
Computational Method |
Description |
|---|---|
Percentile |
All the samples for a given period are sorted, then the top x% is discarded. x is defined as 100 minus percentile. The largest remaining sample is the Usage Based Computation. Sample values are 1,2,4,7 and 20. Percentile is 80%. The Usage Based Computation is 7.0.
|
Average |
The Usage Based Computation is the average of the samples. Sample values are 1,2,4,7 and 16. The Usage Based Computation is 6.0.
|
Max |
The Usage Based Computation is the maximum of the samples. Sample values are 1,2,42,7 and 16. The Usage Based Computation is 42.0.
|
Min |
The Usage Based Computation is the minimum of the samples. Sample values are 1,2,42,7 and 16. The Usage Based Computation is 1.0.
|
Sum |
The Usage Based Computation is the sum of the samples. Sample values are 1,2,42,7 and 16. The Usage Based Computation is 68.0.
|
Usage based billing does not impose any Service limits. A customer has access to unlimited usage, but will be billed according to the Usage billing parameters.
Once a Usage Based Computation is determined, BillMax uses one of the following Usage billing methodologies to determine the amount to bill:
A linear billing model. The cost of a Service includes a base usage component. All usage over that base amount is billed by multiplying the overage by a fixed rate.
Example 2.8. Linear Model
Assume the base amount is 10 hours for $10.00 per month as defined in the Service Definition. The following linear pricing is specified:

The customer is billed $10.00 at the beginning of the month. If the customer uses 12.50 hours during the month, the customer will be billed $10.00 for the subsequent month. In addition the customer will be billed 2.50 * $1.00 or $2.50 for the previous month's usage.
A stepped Tier billing model. The billed amount is equal to the value assigned for a Tier in which the usage intersects.
Example 2.9. Stepped Tier Model
Assume the base amount is 10 hours for $10.00 per month. The following Tiers are defined:

The customer is billed $10.00 at the beginning of the month. The next month, the customer will be billed $10.00. If during the first month the customer uses 12.50 hours, the customer will be billed an additional $32.00.
![]() |
Note |
|---|---|
If the usage amount exceeds the maximum value for the defined Tiers, the bill amount of the last Tier is used. |
A marginal Tiered billing model. The billed amount is equal to the sum of the rate for each Tier multiplied by the usage for each Tier.
Example 2.10. Marginal Tier Model
Assume the base amount is 10 hours for $10.00 per month. The following Tiers are defined:

The customer is billed $10.00 at the beginning of the month. The next month, the customer will be billed $10.00. If during the first month the customer uses 12.50 hours, the customer will be billed an additional $12.00.
![]() |
Note |
|---|---|
If the usage amount exceeds the maximum value for the defined Tiers, the bill rate of the last Tier is used. |
A bulk Tiered billing model. The billed amount is equal to the rate for a Tier in which the usage intersects multiplied by the usage.
Example 2.11. Bulk Tier Model
Assume the base amount is 10 hours for $10.00 per month. The following Tiers are defined:

The customer is billed $10.00 at the beginning of the month. Assume the customer uses 12.50 hours during the month. The customer will be billed $10.00 for the subsequent month. In addition the customer will be billed 12.50 * $8.80 or $100.00.
Prepaid billing is for prepaid usage. It is intended to be used for prepaid calling cards, prepaid wireless access, etc. As delivered by BillMax, each Service represents a block of prepaid usage. The usage data is stored in the Datacall table similar to Metered billing. If usage exceeds the amount represented by a Service, the Service rolls to a another Service that has prepaid usage. If there are no Services available that represent unused prepaid usage, the delivery of the Service may be terminated.