billmax documentation   BillMax Billing Solutions
  877.245.5629
  sales@billmax.com
 

Billing a Customer

Billing a customer (adding a billed amount to a customer's account) may be done by several methods:

Subscription Billing

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.

Example 2.1. A Valid Subscription Billing Combination

  1. Initially bill a two-month Duration 3 times for $10.00 per Duration.

  2. Then bill a one-month Duration at $10.00 per Duration until the customer requests Service be canceled.


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] Note

Account invday is a day of the month on which an Account is examined monthly for processing that may occur on a monthly or multi-monthly basis. Some potential processing is:

  • Sending a statement to the Account. May be modified by Virtual Company prebilldays.

  • Billing for usage and resetting usage counters for a Service.

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] Note

Depending on the desired business practice, understanding BillMax timing issues may be critical. Timing issues fall into two main categories:

  1. State Changes/Provisioning - State Changes/Provisioning take place the day after the date.

    Example 2.4. Service with an enddate specified

    A Service has an enddate of 2003-01-31. This is interpreted as being the last full day of Service. The Service will be Suspended around 12:00 a.m. on 2003-02-01. If it is desired that the Service be suspended as late as feasible on 2003-01-31, but before 2003-02-01, then special processing will have to be created.


    Example 2.5. Account that is overdue

    Assume the following:

    • Account terms is 0.

    • Suspend Service delivery as soon as possible after an Account is billed if payment not immediately collected.

    • The Service is billed on 2003-02-01.

    • The Account is a credit card paying customer, but credit card charging will fail.

    The following will occur:

    • At 12:00 a.m. on 2003-02-01 the Service is billed.

    • The Account Statement is closed.

    • Collecting funds via credit card fails.

    • The earliest Service delivery will be interrupted is at 12:00 a.m. 2003-02-02.

    If the desire is to interrupt Service delivery at 12:00 a.m. on 2003-02-01, then make use of Virtual Company prebilldays and Account epaydays and terms.


  2. Billing - billing for a Service will take place at 12:00 a.m. on Service invdate taking into account Virtual Company prebilldays if necessary.

Billing/Provisioning Techniques

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] Note

    This is useful for new Accounts paying by check or cash.

    [Warning] 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:

    1. Bill for Services 10 days before they are delivered.

    2. Collect funds when a new Service Duration begins.

    3. Suspend Service if funds not immediately collected.

    The following setup will satisfy the requirements.

    1. Set Virtual Company prebilldays to 10 - Service will be billed 10 days before Service invdate.

    2. Set Account epaydays to 10 - electronic funds will be collected 10 days after the Service is billed.

    3. Set Account terms to 10.

      [Warning] Warning

      Account terms must be equal to or greater than Account epaydays. Otherwise an Account is overdue before an attempt is made to collect an electronic payment.

    4. 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:

    1. Bill for Services 10 days before they are delivered.

    2. Collect funds before the new Service Duration begins.

    3. Suspend Service if funds not collected when the new Duration begins.

    The following setup will satisfy the requirements.

    1. Set Virtual Company prebilldays to 10.

    2. Set Account epaydays to 0.

    3. Set Account terms to 9.

    4. 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.

Usage Billing

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] Warning

These are NOT affected by Virtual Company prebilldays. If prebilldays is non-zero, the Service may be billed on a different date than the usage.

  • 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.

    1. 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.


    2. 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.


    3. 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.

    4. 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

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.

[Warning] Warning

Do not specify time limits unless the billing is integrated with provisioning. If a Service is in the Suspended State and BillMax receives RADIUS data, the billing for the RADIUS data may not give the desired results.

Usage Billing

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] 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] 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

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.

Other Billing

If desired, a customer may be manually billed using the web interface. This is useful for assessing one time Purchases.

If desired, billing data may be imported into BillMax. Please See "Importing Data into BillMax".


Document Revision A for BillMax 2.2.0   -   Copyright © 1997-2006 The iSpark Group, Inc.

All rights reserved. No part of this documentation may be reproduced or transmitted in any fashion without written permission by The iSpark Group, Inc. This documentation is for the sole use of licensees of the BillMax billing software created by The iSpark Group, Inc. Making the documentation available to a non-licensee of BillMax without written permission of The iSpark Group, Inc. is a violation of the use of this documentation.

While precautions have been taken in the preparation of this documentation, The iSpark Group, Inc. assumes neither liability nor responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.

All terms mentioned that are known to be trademarks have been appropriately capitalized. Use of the a trademark does not affect the validity of any trademark or service mark.

Links to third-party Web sites are provided for convenience. The iSpark Group, Inc. is not responsible for any content contained in the third-party Web sites.

Comments about this documentation may be sent to doc@billmax.com