billmax documentation   BillMax Billing Solutions
  877.245.5629
  sales@billmax.com
 

Glossary

Account

A BillMax Account represents the entity to which a bill is sent and from which payment is expected.

Example 1. Account Examples

  1. A company made up of many employees

  2. A professional organization

  3. A family

  4. An individual


The Account record contains information used in invoicing: contact information, invoice methods, payment methods, and credit card information. Accounts may contain one or more users.

[Warning] Bill presentment limitations

Bill presentment is to the Account. BillMax does not support bill presentment to subordinate entities payable by a master entity.

Account Lock

A mechanism for limiting update capability to a single Authorized BillMax User for the account table, user table and service table records associated with a specific Account.

Account Paytype

The payment method of an Account.

Administrative Contact

The person is who is administratively responsible for the BillMax operations of a Virtual Company. The nightly reports and other information from BillMax are sent to the Administrative Contact Email.

[Tip] Tip

Make the Admin Email an alias that expands to several people.

Allocate

The process of creating an Allocation

See Also Allocation.

Allocation

An Allocation is the associate of a debit with a credit within a Account's financial data. The following allocations are allowed:

When a Void occurs, a reversal of the original association(s) is created.

Answers

The response(s) generated by the Customer Interface Daemon upon the successful registration by a new customer. The response is a template file that is processed by the Customer Interface Daemon before passing it to the registration agent (browser, CD software, etc.)

Apply

See Allocation.

Applylock

A mechanism for locking the payhist table for an Account while Allocations are being created.

Authorized BillMax User

A person who is allowed to access to the Staff Interface.

Beginning Balance

A record indicating the beginning balance for an Account. May represent money owed or credit, but not both.

Billing Contact

The billing contact information of a Virtual Company will be used to stamp the return address of any email communication sent to accounts by BillMax. The nightly reports and other information from BillMax are copied to the Billing Contact Email.

BillMax State

An indication of the status of a BillMax entity. The actual value of the status is contextual. States exist for Accounts, Users, Services, Service Definitions and Calltracks.

Calltrack

A record of the interaction between a customer and a Customer Service Representative. Used when dealing with customer issues.

ChangeTo

The process of changing the Service Definition of a Service.

Constraint

Constraints are used to validate data on data input. BillMax processes constraints whose specifications are based on UNIX regular expressions. Multiple regular expressions can be ANDed together by separating them with &&. If defined in this way the data entered will have to match both regular expressions.

Example 2. ^[0-9]+$

Data input must be an integer


Example 3. ^([a-z][-a-z0-9_.]{2,7})$&&^(.*[-a-z_.].*)$

Matches 3 to 8 characters with these limitations: the string cannot start with a number, and it must contain only lowercase letters, numeric digits (except in the first place), and "_" "." or "-" (underscore, dot (period), or hyphen). Commonly used for the LOGIN (user identifier) field of dialup-type service definitions.


Documenting regular expression syntax is beyond the scope of this manual. The O'Reilly book entitled UNIX Regular Expressions. In addition there are many web sites that document how to create regular expressions.

[Warning] Warning

Constraints are only effective when data is entered through BillMax processes. Constraints are not honored when entering data directly into the database.

Cron

System daemon to execute scheduled commands.

Customer Interface

The customer web interface to BillMax. To be used by customers of the company operating BillMax.

Custom SQL

Custom SQL is SQL that is written and executed by a Authorized BillMax User. The SQL may also be stored in the customsql table for future use.

Daemon

A program that is, in general, always executing waiting for input or waiting to perform actions at scheduled times.

Datacall

A record in datacall table storing information about a dialup session.

Data to POP

Data, usually provided by the customer, that may be used to determine which POP the customer will be using.

Duration

A predefined length of time for service delivery. Specified in durations list. May be either months or days.

Effective Date

Current date plus Virtual Company's Prebilldays.

Electronic Funds Processing

Electronic Funds Processing is a general term that refers to collecting monies or refunding monies through BillMax processing. This may include but is not limited to:

  • Charging credit cards

  • Debiting bank accounts using E-Check

  • Debiting bank accounts using ACH

Within this document, using the word "automated" with Electronic Payment Processing refers to processing that BillMax may do (usually nightly) to automatically collect funds using Electronic Payment Processing.

Financial Totals

Every Account has six different financial totals associated with it. These financial totals are:

Financial Transaction

The following are the financial transactions supported in BillMax:

Sale

A Sale represents a sale to a customer and a purchase by a customer. Sales may be classified as:

  1. One time. One time sales may be further classified as:

    1. Setup

    2. Usage

    3. Other - Sales entered through the Staff Interface (which may be classified as a Usage sale) and Sales with no startdate and enddate defined.

  2. Recurring - Sales that are generated by BillMax using closeofday.

Sales may or may not have a time component as specified in payhist.startdate and payhist.enddate. Recurring Sales always have a time component.

Required fields for a well formed Sale consists of the following:

  1. payhist.bankacct is 0.

  2. payhist.ucash is 0.

  3. payhist.ucredit is 0.

  4. payhist.cdeposit is 0.

  5. payhist.deposit is 0.

  6. payhist.ntaxable is less than or equal to 0.

  7. payhist.taxable is less than or equal to 0.

  8. payhist.tax is less than or equal to 0.

  9. payhist.ntaxable + payhist.taxable + payhist.tax must equal the negative of payhist.purchases.

  10. payhist.startdate is less than or equal to payhist.enddate.

  11. payhist.entdate should not be 0000-00-00.

  12. payhist.taxregion is a valid value of salestax.number.

  13. payhist.customerof is a valid value of config.number.

  14. payhist.account is a valid value of account.number.

Payment

The receipt of legal tender from a Account in the form of cash, credit card charge, check …

Required fields for a well formed Payment consists of the following:

  1. payhist.bankacct is greater than 0.

  2. payhist.ucash is equal to negative payhist.bankacct.

  3. payhist.ucredit is 0;

  4. payhist.cdeposit is 0;

  5. payhist.deposit is 0;

  6. payhist.ntaxable is 0.

  7. payhist.taxable is 0.

  8. payhist.tax is 0.

  9. payhist.entdate should not be 0000-00-00.

  10. payhist.customerof is a valid value of config.number.

  11. payhist.account is a valid value of account.number.

Store Credit

Store Credit is credit that may be issued to a Account for use in paying the Account's outstanding balance.

Example 4. Reasons to issue Store Credits

  1. A Referral Credit.

  2. Credit for a service outage.

  3. Credit for unused service.


Some key features of Store Credits are:

Store Credits may be classified as:

  1. One time. One time Store Credits may be further classified as:

    1. Setup

    2. Usage

    3. Other - Store Credits entered through the Staff Interface (which may be classified as a Usage Store Credit) and Store Credits with no startdate and enddate defined.

  2. Recurring - Store Credits that are generated by BillMax using closeofday.

Store Credits may or may not have a time component as specified in payhist.startdate and payhist.enddate. Recurring Store Credits always have a time component.

Required fields for a well formed Store Credit consists of the following:

  1. payhist.bankacct is 0.

  2. payhist.ucash is 0.

  3. payhist.ucredit is 0.

  4. payhist.cdeposit is 0.

  5. payhist.deposit is 0.

  6. payhist.ntaxable is greater than or equal to 0.

  7. payhist.taxable is greater than or equal to 0.

  8. payhist.tax is less greater or equal to 0.

  9. payhist.ntaxable + payhist.taxable + payhist.tax must equal the negative of payhist.purchases.

  10. payhist.startdate is less than or equal to payhist.enddate.

  11. payhist.taxregion is a valid value of salestax.number.

  12. payhist.customerof is a valid value of config.number.

  13. payhist.account is a valid value of account.number.

Refund

The return of legal tender to a Account in the form of cash, credit card charge, check …

Required fields for a well formed Refund consists of the following:

  1. payhist.bankacct is less than 0.

  2. payhist.ucash is equal to negative payhist.bankacct.

  3. payhist.ucredit is 0;

  4. payhist.cdeposit is 0;

  5. payhist.deposit is 0;

  6. payhist.ntaxable is 0.

  7. payhist.taxable is 0.

  8. payhist.tax is 0.

  9. payhist.entdate should not be 0000-00-00.

  10. payhist.customerof is a valid value of config.number.

  11. payhist.account is a valid value of account.number.

  12. If payhist.depno is non-zero, it must be a valid value of payhist.number for a Deposit Refund.

[Warning] Warning

A Refund is the recording of a physical refund given to a customer. The entry in BillMax of a Refund does not trigger any type of refunding process.

Deposit Charge

A Deposit Charge is billed and collected for future consideration. It may be collected as a surety for equipment return or as a surety for payment against future services. It does not show up in the Apply. Please keep in mind the difference between a charge for a deposit, and a payment to satisfy that charge. In this discussion, a Deposit Charge refers to the charge for a deposit.

Example 5. Reasons to have a Deposit Charge

  1. For use when distributing equipment (e.g. cable modem) for a service and expecting that cable modem to be returned at the end of the service.

  2. For future service.


Some key features of Deposit Charges are:

Required fields for a well formed Refund consists of the following:

  1. payhist.bankacct is 0.

  2. payhist.ucash is 0.

  3. payhist.ucredit is 0;

  4. payhist.cdeposit is greater than 0.

  5. payhist.deposit is equal to negative payhist.cdeposit.

  6. payhist.ntaxable is 0.

  7. payhist.taxable is 0.

  8. payhist.entdate should not be 0000-00-00.

  9. payhist.tax is 0.

  10. payhist.customerof is a valid value of config.number.

  11. payhist.account is a valid value of account.number.

  12. payhist.depno is a valid value of payhist.number for a Deposit Charge.

Deposit Refund

A Deposit Refund signifies that the conditions that required a Deposit Charge no longer exist.

[Warning] Warning

A Deposit Refund may not be Voided. If a Deposit Refund needs to be reversed, this may be done by creating by a new Deposit Charge.

Required fields for a well formed Refund consists of the following:

  1. payhist.bankacct is 0.

  2. payhist.ucash is 0.

  3. payhist.ucredit is 0;

  4. payhist.cdeposit is less than 0.

  5. payhist.deposit is equal to negative payhist.cdeposit.

  6. payhist.ntaxable is 0.

  7. payhist.taxable is 0.

  8. payhist.tax is 0.

  9. payhist.entdate should not be 0000-00-00.

  10. payhist.customerof is a valid value of config.number.

  11. payhist.account is a valid value of account.number.

Void

A Void is the reversal of the following type of transactions:

There is no way to delete the Void of a Deposit Refund To "undo" the transaction, a new offsetting Deposit Charge must be created.

Globalconf

Configuration information stored in globalconf table that is applicable to the entire BillMax installation.

Gracedate

A future date through which Overdue Processing will not take place for a specific Account. After the date, the Account will be subject to Overdue Processing.

Hook

A BillMax BillMax Hook is one of several programs that is executed (if it exists and is executable) when a record in certain database tables change. The nomenclature of a BillMax Hook is styled tablename_hook. The current list of BillMax Hooks is

  1. account_hook

  2. user_hook

  3. service_hook

  4. payhist_hook

All BillMax Hooks are run out of /usr/local/billmax/local. All data passed to the BillMax Hooks are through environment variables. The environment variables available depend on the BillMax Hook being run. For a particular hook, the values in the database record before the database record is updated are in the environment with variable names of the style "OLD_fieldname". The values in the database record after the database record is updated are in the environment with variable names of the style "NEW_fieldname". Related records that are in "parent" tables are in the environment with variable names of the style "tablename_fieldname". As an example, the execution of the service_hook contain the following environment variable groups: OLD_*, NEW_*, SERVDEF_*, CONFIG_*, ACCOUNT_*, USER_*.

Invoice Date

The next date that the amount will be billed for a Service.

Invday

If invday equals the day of month of the Effective Date, then an account is considered for statement processing.

Liability

In BillMax, this is defined as the amount of service to be delivered computed using the values of payhist.startdate and payhist.entdate of Sales.

List

A set of related items stored in the lists table.

List Definition

The definition of a List. This include the name, Constraints on list values, access Permissions, etc.

List Item

A single entry of a List.

Message Database

Used by the Customer Interface to format messages to the customer.

Metered Billing

Billing that is based on RADIUS data entered into datacall table.

Monthlysale

Sales that span more than one month are divided into monthly intervals call monthlysales.

Named Samples

Samples stored of the form name=value. A comma delimited list of samples may be stored.

Example 6. Example of multiple samples

open=198,closed=60,suspended=3,collections=13


The value for a sample may be a decimal representation.

Navigation Bar

The Navigation Bar, often referred to as "navbar".

Figure 1. BillMax Navigation Bar

BillMax Navigation Bar


Note

A Note is text stored in the BillMax database that is associated with a table entry. Notes may be associated with any table in principle but are currently associated with only the Account table and the Calltrack table.

Notes on an Account briefly sum up events having to do with billing or change of account status. BillMax generates notes when certain events occur to an account (see BillMax-generated notes below). You can also manually enter a note. If you do not specify a priority, the note is priority 0. Notes appear grouped by priority. All priority 5 notes appear, sorted by date (newest at the top), then all priority 4, and so on.

BillMax-generated notes.  BillMax automatically creates an accounting notes whenever certain things happen to an account or one of its users or services.

Notice

An entry in the notice table that is generated by closeofday. These entries may included in the nightly log.

Overdue Processing

The following is a description of the billing steps that an Account goes through when an Account becomes overdue.

Account exclusions to overdue processing

  • Accounts that have been marked as immune to overdue processing.

  • Accounts that have a grace date. When the day after the grace date is reached, the grace date is reset and overdue processing steps occur for the Account

  • Accounts that have an overdue balance that is less that the Virtual Company overduemin value.

Overdue processing items

  • Late fees - Late fees (if any specified for a Virtual Company) are billed every invday when an Account is overdue. If the Account state is Closed State, then the assessment of late fees is dependent on the lateclosed parameter of the Virtual Company

  • Conditions under which overdue notices are sent to an account

  • Conditions under which overdue accounts are suspended

Payhist

An entry in the payhist table representing financial activity by an Account.

Payhist Enddate

Used when interpreting Sales and Store Credits. This is the ending date for which the Sale or Store Credit is effective.

Payhist Startdate

Used when interpreting Sales and Store Credits. This is the starting date for which the Sale or Store Credit is effective.

Payhist Type

The type of the financial transaction stored in the payhist table.

Payment Methods

BillMax Payment Methods and their meanings

  • Cash/Check - The Account pays bills using either cash or checks.

  • Credit - The Account pays bills using a credit card.

  • Credit Once, Then Cash/Check - The Account initially pays their bill using a credit card. If the credit card charge is successful, then the payment method for the Account is changed to Cash/Check. In addition, the Account terms are changed to the Virtual Company terms for Cash/Check.

  • E-Cash - The Account pays bills using electronic checks through an electronic check processor.

  • EFT - A placeholder. May be used to denote Accounts that pay their bills using wire transfers or direct deposits.

Permissions

Permissions in BillMax are used to grant or deny access to data (viewing and/or modifying) and to processing (one time charge of a credit card, enter a payment, etc.)

Table 1. BillMax Default Permission Meanings

Name Programming Constant Description
Name Programming Constant Description
Basic Read AUTH_READ Usually given to new tech support/data entry employees. Allows them to view accounts, users, services, calltrack tickets, and some reports (datacall, calltrack). Nothing can be modified, and nothing can be added.
Basic Write AUTH_WRITE Usually given to established employees who understand the basic operation of BillMax and how to correctly enter data. Allows them to add or make changes to most of the non-financial fields on the account, user, and service pages, add or modify calltrack tickets, add or modify timetrack entries, and run most of the non-financial reports.
Accounting Read AUTH_BILLING_READ Given to those employees who require access to the financial reports.
Accounting Write AUTH_BILLING_WRITE Given to the billing personnel who need to be able to post payments and one-time charges, void transactions, give store credit, post refunds, override pricing, and open suspended accounts/users/services.
System Admin AUTH_ADMIN Given to generally a small handful of employees who need to add access to the system or add/modify service definitions, usage-based pricing plans, sales tax regions, pop regions, and BillMax system configuration in general. Best if it can be reduced to a single employee, most likely the system administrator.


Permissions for access through the staff interface are specified in the CGI action file. These include permissions to display a form and to press a button. Permissions for processing are embedded in the BillMax binaries.

[Note] Note

Permissions are NOT cumulative. If a BillMax staff userid has System Admin privileges, it does not mean the userid has Basic Read privileges. For the userid to have both, both permissions must be granted.

POP Data

Data that is specific to a POP such as DNS server, mail server, etc.

POP

A Point of Presence. When a Service is assigned a POP, it is expected that the Service will be accessing services delivered by the POP. A company may have many POPs. POPs are usually defined on a geographic basis, although this is not necessary.

POP Region

An entry in the popregions list for a specific POP.

Prebilldays

A renewable service will be pre-billed this many days before it expires. Statements will be sent to customers this many days before their Invday also.

Prime Time

A block of time specified for each Virtual Company that is used to bill a different rate for service usage during that time. This is not used by Usage Based Billing

Proration

The billing for a Service may include a prorated charge. This proration is computed from the date the Service starts to the next date that coincides with the Account's Invday. Proration is calculated based on the number of days in the month in which the Service starts.

Provision

To Provision is the process by which access to a Service is enabled or disabled.

Example 7. Ideas for provisioning

Allowing access to a mail server.

Adding a name and address to a database of labels.


Purchase

A record in the payhist table where payhist.type is 0. This represents a purchase by a customer or a sale to a customer.

Recurring Billing

Recurring billing is charging a customer for a Service or product at set intervals.

Example 8. Ideas for recurring billing

Billing monthly for access to a mail server

Billing yearly for a monthly magazine


Reports Database

The database that contains the tables of detail data from various reports.

Reports Table

The reporttables table that contains information about memorized reports.

Resource

A resource is a mechanism used to delineate different namespaces. Each Service has its own set of resources. If the resources of two Services share a common resource, then they belong to the same namespace. Resources are used for the following:

  • When a Service is created or updated. Checking is done to make sure that the value for the d01 field (the username for the Service) does not already exist for a Service that shares the namespace of the submitted Service. Checking is done against Services that do not have their state set to Closed State

  • If using a terminal server for ISP billing, each terminal service may be associated with one or more resources. This enables BillMax to accurately assign terminal server data to a Service in the correct namespace.

Resources may be used for the following:

How resources work.  Resources are bits stored in the database together as a single four byte integer, giving you 32 possible resources. These bits are attached to service definitions to describe which namespace are used by the service definitions. This is done on the Service Definition page with a multi-select box listing all defined resources. The resource scheme becomes important when adding a Service. Assume the following:

  1. The proposed d01 field for the new Service is equal to an existing value for service.d01.

  2. The resource value for the proposed Service AND'd with the value of service.resources for existing Service is non-zero.

  3. The State of the Service is not Closed State.

If these three conditions are true, then there is a namespace conflict. Depending on Service Definition settings, adding the new Service may be denied.

Sales Tax Region

A geographical area which is identified by a tax id in which one sales tax rate is assessed.

Service Definition

A BillMax Account represents the entity to which a bill is sent and from which payment is expected.

Example 9. Account Examples

  1. A company made up of many employees

  2. A professional organization

  3. A family

  4. An individual


The Account record contains information used in invoicing: contact information, invoice methods, payment methods, and credit card information. Accounts may contain one or more Users.

[Warning] Bill presentment limitations

Bill presentment is to the Account. BillMax does not support bill presentment to different entities payable by a single entity.

Service Definition Selection

Used by the Customer Interface. Used to specify to which Service Definitions a Service may be changed by a customer using the Customer Interface.

Service

A BillMax Service represents the services that you provide for which customers are billed and pay at regular intervals.

Example 10. Service Examples

  1. A dialup Service

  2. A web hosting Service

  3. A newsletter Service


Default data for a Service record comes from a Service Definition and certain values may be overridden by a CSR. The Service record also contains the information necessary to interact with the appropriate provisioning system.

Service Change

The process of changing the association of a Service from one Service Definition to another Service Definition

Staff Interface

The staff web interface to BillMax. To be used by personnel of the company operating BillMax.

Statement

A file that is may be emailed, faxed or printed to the customer that contains

Stats

Used in Usage Based Billing.

Summary

A record in the payhist table of which the value for payhist.type is 5. It is created automatically whenever closeofday determines that a Statement should

Synchronized

A Service is synchronized if, when upon creation, the day of the Invoice Date was forced to be the same as the Account Invday and a prorated amount was billed if necessary. Whether or not a Service is synchronized is determined the synchronized setting in the associated Service Definition

Table Defaults

The tabledefaults table. Used by the Customer Interface to specify different registration parameters. See Chapter 5, Configuring the BillMax Customer Interface.

Tender Types

The methods by which a customer pays. Example are cash, check, credit card type, etc.

Term

One billing cycle for a Service.

Terminal Server

A piece of equipment that a customer access for service, usually a dialup service.

Tier

Used in Usage Based Billing. The pricing level for a Usage Based Computation Result.

Tier Margin

When interpreting a Tierplan with Tiers, this is the total amount to be billed if the statistics equal exactly the "Up To" amount for the Tier. Represents the pricing based on marginal increases in pricing.

Tier Plan

Used in Usage Based Billing. A tier plan specifies what measurements and what computations will be used to calculate a Usage Based Computation Result. Depending on the pricing scheme used, a tier plan may contain zero or more Tiers.

Timetrack

Timetrack may be used to track employee time in BillMax. This may be used to generate payroll data for the payroll system. It also may be used to track consulting time that you then charge an Account.

Usage Based Computation Result

The single value result of the specified mathematical computations on the applicable statistics.

Usage Based Billing

Billing that is based on statistics. How pricing is applied to the statistics is specified by a Tierplan.

User

A BillMax User is a mostly used as a data placeholder. A User may belong to only one Account and may utilize one or more Services.

Example 11. User Examples

  1. An employee of a company.

  2. A member of a family


The User record may contain security information used by the Customer Interface.

Virtual Company

A collection of associated Accounts that are managed with similar business rules and have similar defaults for new Accounts.

Wash Transaction

A Sale or Store Credit that has been Voided before payhist.startdate.


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