Online documentation and user manual

What is InfraBilling

InfraBilling is enterprise billing and rating system with real-time rating capabilities and cyclical billing and invoice generation process functions.


    User manual

    User manual contains list of application modules and instructions on how to properly use them. Most relevant part of this manual is General rules list because it's being referenced throughout the manual.

    General rules

    • Adding new entries throughout the system is usually done by clicking on the round button located in the bottom right of the screen with plus icon in it.
    • Editing entries is usually initiated by clicking the small pencil button in the data grid inside the row representing the entry you wish to edit.
    • Deleting entries is usually initiated by clicking the small garbage bin button in the data grid inside the row representing the entry you wish to delete.
    • Selection of entries (in pop-up look-up tables) is done by clicking the yellow check button inside the row you wish to select.

    System administration

    Menu entry: System administration -> User accounts

    Mainly used to administer user accounts. General rules apply here with exceptions to the following:

    • To disable user account, edit the relevant user account and slide "Denied access" slider to it's off state. Slider is located in the bottom toolbar.
    • To assign roles to user, edit the relevant user account and simply check the roles you wish to assign to this user.

    Client administration

    Menu entry: Clients -> Administration

    General rules apply with no exceptions. Note that address fields on client form are used for invoice generation and are displayed as client's billing address on generated PDF invoice.

    Tariff administration

    Menu entry: Tariffs

    System works with billing categories. Categories are managed in the left category tree. When category is selected, controls for editing, adding a child category, cloning selected category and deleting selected category show up. When creating or editing a category, category name can be specified. When cloning category, simply pick under which category you wish to create this new cloned category. Cloned category names are suffixed with '*' to distinguish them from the original category. You can edit the name of the cloned category as you would edit any other category.

    Each of these categories can contain multiple tariffs and these tariffs are used in rating process. Rating process is done based on billing events. Billing events are generated automatically by the system and each billing event has a value. During the rating process billing event value is compared against tariffs and when match is found tariff is applied and calculation is done.

    Main part of each tariff is value table which contains ranges and values for each defined range. Range is used when comparing billing event value and if the billing event value is within one of the ranges, tariff's value for that range is used in rating process.

    Tariff can have nested (dependent) child tariffs. When tariff has children (dependent tariffs) we call this hierarchy a tariff tree. Tariff trees are manipulated with positive/negative flags mentioned below. One of the examples of tariff tree usage would be:

    "I want the system to use a certain tariff with negative values only if another tariff generated a positive value. Basically I want to penalise a client only if another tariff generated a positive value, otherwise no penalty should be issued."

    To achieve this requirement we would create one tariff (a parent) and another dependent tariff (a child). On the parent tariff we would check a flag Calculation can have positive result only. By setting this flag we are telling the system that this whole tariff tree (parent and all the children) can only have total positive result and if this parent tariff generated 0 and child tariff generated -50 total would be -50 but since they are dependent and we said that our tariff tree can only have positive total result final result in the calculation would be 0 instad of -50.

    Tariff is defined by:

    • Billing unit - non-editable metric defined when system is installed and each day for each client and for each defined billing unit one billing event is added to the system. To summarise: 1 billing event per client per billing unit each day.
    • Calculation type - determines whether the tariff value is applied per each billing unit, as a fixed value or a percentage.
      • Per unit - billing event value is multiplied by tariff's value
      • Fixed - fixed amount is added to the total value. Billing event value is used to determine the correct tariff's range and that range's value is added to the calculation.
      • Percentage - percentage of the billing event value is added to the calculation. Once the system determines the correct tariff's range it multiplies billing event value with range's value divided by 100. To summarise: billing event value * (tariff range's value / 100).
    • Calculation can have negative result flag - when checked this tariff tree can generate only negative value in total calculation. If total calculation of the tariff tree is a positive number zero is taken into total calculation instead.
    • Calculation can have positive result flag - when checked this tariff tree can generate only positive values in total calculation. If total calculation of the tariff tree is a negative number zero is taken into total calculation instead.

    Editing tariff value table

    Each tariff value table consists of billing event value range and value. When billing event value is compared against a tariff to rate that event a range that contains billing event value is determined and the value for that range from the tariff value table is taken into calculation. Each tariff value table always covers all the possible ranges from 0 to maximum allowed value for billing unit (e.g. infinity for decimal values, 23:59 for time values with 1 minute precision, 23:59:59 for time values with 1 second precision, etc.).

    To add an entry to the tariff value table click on the Add entry button in the table footer. A new editable row appears. From field represents left boundary of the new value range (right boundary is set automatically and can be infinity or left boundary of existing range). Value field represents the calculation value for that range.

    To edit an entry in the tariff value table click on the pencil button.

    To delete an entry in the tariff value table click on the garbage bin button.


    Operations module is used for billing cycle administration and month to date rated data display.

    Billing cycles administration

    Menu entry: Operations -> Billing cycles

    To create a new billing cycle simply click on the + button in the bottom right corner of the screen. When billing cycle is created all the calculations for all clients are triggered and are done in the background. Billing cycle details screen contains a data grid with all the clients and indicators for the status of their calculations.

    Once the calculation for the client is done you can click on a row in the aforementioned data grid and invoice details are loaded and displayed.

    One-off bonuses (or maluses) can then be applied for each client for this billing cycle by clicking on the Add bonus/malus button in the footer of the invoice details grid.

    By clicking on each of the invoice items a calculation specification is displayed containing all the tariffs that were applied while calculating selected invoice item.

    You can trigger recalculation for a particular client by clicking a button with circular arrows in the data grid.

    When all the calculations are done and all the bonuses are applied billing cycle can be locked by clicking on the button above the data grid. When billing cycle is locked it can not be recalculated. Lock action is used to stop all the other users to modify the billing cycle data so the actions to finalise the billing cycle can be performed. Once the cycle is locked new action buttons above the data grid appear:

    • Unlock cycle - unlocks the cycle and allows users to trigger recalculations for clients again
    • Approve cycle - when approved billing cycle is done and can not be changed in any way
    • Generate invoices - when clicked process of PDF invoice generation for all the clients begin and the invoices are saved as a zip file and available for download
    • Download invoices - downloads zip file with all the PDF invoices for all the clients - visible only if invoices were generated by clicking on Generate invoices button

    Month to date

    Menu entry: Operations -> Month to date

    Month to date calculation screen shows rolling calculation for all the clients. Please note that this data does not contain one off bonuses that are applied during the billing cycle creation so the numbers here can be different from final billing cycle calculation numbers.