Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Overview Of Bill Process

...

Bill Run Logic

  1. Start billing

  2. Close any open credit notes

  3. Close previous open invoices (this is based on 'Invoice Close Type' specified in the Setup -> Bill Group settings)

  4. Add charges (bill packages)

  5. Open new invoice

  6. Associate new charges to that invoice

  7. Close the invoice

  8. Apply payments if applicable (payments issued so that they are viewable on that invoice)

  9. Render invoice (create the XML data copy)

  10. Deliver invoice (email, hardcopy, etc.)

Example Bill Run Flow

The written process below follows the same flow as the above diagram with more process details.

  1. Get any users/accounts that have a user-package next bill date that falls in the current bill run bill date range and group them by their parent accounts (ViewBillProcess SQL View)
    Note: the order in which customer accounts are billed is first ordered by Owner, then by customer name. So owner Acme will start before owner Anvil, and user Bob will bill before user Carol under the Owner

  2. Walk through each day in the bill range for each parent separately (e.g. 2/1/2018 - 3/1/2018)

    Step 1

    1. Find any parent/child accounts that have a package with 'Next Bill Date' the same as the walk through date

    2. Bill the parent or children all at once

    Step 2

    1. If a bill day is encountered and usage billing is enabled, bill all the accounts (parent and children) for usage

  3. Continue to loop through days of the month looking for users with a Bill Date that has been reached (set invoice status to CLOSED)

  4. Process credit cards or PAP (payments can be issued to a closed invoice if the 'Render' process has not been run yet on those invoices) For detail on HOW cards are processed or if they are processed on canceled accounts for example, please see this article: Payment Processing Using iBiz

  5. Render invoices (this stamps a processed date on the invoice and locks it down from any further payments being issued to it)

  6. Deliver invoices

  7. Finish the bill run and wait for the next bill run start date

Info

Note: A billing only bill run can be run one day to bill recurring packages and as long as the invoice is not rendered (the 'Run Render Invoice' check box is unchecked). Credit cards can be processed the next day and have them reflected (issued to) closed invoices. Once this is done you can run the render part of the bill run, it will render and cause the invoice to officially be closed where no more new payments or transactions can be added to it.

...

To edit the bill day of a customer:

  1. Load the customer account and click the linked bill day number on the left sidebar (in this example "9")

...

  1. Image Added

  2. In the bill cycle edit page that loads enter the day of the month you wish to bill the account on going forward

...

  1. Image Added
  2. Click Save to commit the bill date change

Managing the Bill Day Using Bill Group Settings

...

  • Click on Setup

  • Click Bill Runs

  • If an existing bill run has been configured you can click on it's name to edit it. To configure a new bill run click the Add button. Bill run fields are shown and explained below (required fields are in red)


    • Name - a descriptive name of your bill run (for example, "Monthly Bill Run")

    • Enabled - this is an ON / OFF switch for the bill run. This can be used for example if you have multiple bill runs for different periods and you want to leave the settings intact per bill run, and create a new bill run for a different schedule

    • Start billing at this date / time - this is the date and time that you want the Bill Run to run. The time value set here is the time at which billing will run daily going forward if you leave the Bill Run enabled. If you set the time to 6am for example then billing will run at 6am each day (i.e. after a Bill Run is completed this value will be incremented by 24 hours). If you need to perform a one-off/manual Bill Run you would enable the setting 'Disable Billing After Bill Run' so that the Bill Run only runs once. If you need a Bill Run to run immediately, set this field to a time in the past and the Bill Run should fire within a minute if it is not busy with other jobs/tasks

    • Bill Customers between - the starting date of the billing range that determines which user-packages are billed. E.g. if an account's user-package 'next bill date' is May 5th you would need to set this field to a date on or before May 5th in order to bill that user-package. This date and the 'And' date will auto-increment to a daily interval after a bill run completes. The auto-incremented value will fall in sync with the 'Start Billing at this date / time' value, meaning once a bill run completes this 'Bill Customers between' field will be set to one day before the 'Start Billing at this date/time' value and the 'And' field described below will be in sync with the 'Bill Customers between' value (i.e. the billing range will be a single day going forward)

    • And - this is the effective end day for the billing range. Customers within this range will be billed. For advance billing add the number of advance bill days to this range to control who will be advance billed. NOTE: If you are delivering invoices, the invoice date has to fall within this date range as well otherwise billing will not look at it or consider it for delivery or other options as selected

    • Billing/Bill Packages:

      • Billing (EngageIP 8.5.27.1 and earlier) - this will calculate and add transactions to user accounts. Usage will be billed based on existing usage next bill dates where available, unless the 'Usage Billing Type' User Component is present on an account. If you need to bill usage for accounts that have the Usage Billing Type Component present then also enable the 'Bill Usage Only' check box in addition to this 'Billing' check box. The order of events that occur when this item is executed is:

        • Close open credit notes

        • Render credit notes

        • Bill user packages and services

        • Closes invoices (rendering is another bill run option)

      • Bill Packages (EngageIP 8.6.0+) - this will only execute billing for package related charges (one-time, recurring), will not bill usage. As of EngageIP 8.6.0 usage is handled by a new bill run option called 'Bill Usage' which is explained below

    • Credit Card - indicates that credit card processing during the bill run should be performed. Payments by credit card will either be disbursed automatically or not depending on your configuration under 'Payment Types' on the setup page. Credit cards are processed only on active status accounts that have a balance.
      Note: for EngageIP 8.5.27.0+ the Auto Pay setting must be configured on accounts for payment processing to occur (found under Tools > Auto Pay). If Auto Pay is not enabled then the Account is configured for manual billing and the bill run will not attempt to process payments

    • Capture Pre Auths - if enabled this option will check for outstanding payment-authorizations and capture the invoice balance against the latest authorization (there should only be one valid authorization). Credit Card Token is the only payment method that supports this feature at present, so the bill run option "Run Credit Card Token" must be enabled for this option function

    • Run Credit Card Token - if checked a token will be sent to the credit card payment gateway to collect payment/charge the user. You should only use this option if your credit card gateway uses tokens
      Note: for EngageIP 8.5.27.0+ the Auto Pay setting must be configured on accounts for payment processing to occur (found under Tools > Auto Pay). If Auto Pay is not enabled then the Account is configured for manual billing and the bill run will not attempt to process payments

    • Run E Check Token - if checked a token will be sent to the E Check payment gateway to collect payment/charge the user. Note: only use this option if your E Check gateway uses tokens
      Note: for EngageIP 8.5.27.0+ the Auto Pay setting must be configured on accounts for payment processing to occur (found under Tools > Auto Pay). If Auto Pay is not enabled then the Account is configured for manual billing and the bill run will not attempt to process payments

    • ACH/PAP - if checked, ACH/PAP accounts will be processed during the bill run. Checking this will export transactions to a file and process of automated processing is available or drop the file for reconciliation at a later date
      Note: for EngageIP 8.5.27.0+ the Auto Pay setting must be configured on accounts for payment processing to occur (found under Tools > Auto Pay). If Auto Pay is not enabled then the Account is configured for manual billing and the bill run will not attempt to process payments

    • Run Render Invoice - if checked, invoices will be rendered and closed during the bill run.  What this means is that the next time you go to load the invoice (if you have not run the ‘run render invoice’ option) it will take a short while to render the first time. This ensures that the invoice has the most up to date data in the rendered form.

    • Run Delivery - this enables billing to deliver based on the settings in the bill groups (i.e. Email, Email & Hardcopy, Hardcopy, or None). This also is the process which executes on the EXPORT option on bill groups, whether to HTML or PDF on the hard drive

    • Run Payment Terms - this executes the credit rating functionality and any payment terms associated with it. This was previously executed using the 'bill run' process but is now broken out so that it can be run manually

    • Run Payment Retry Terms - this executes any Custom Action Payment Retry Terms that have been setup under Credit Ratings. See the Payment Retry Terms article for more information. If Custom Retry Terms have not been defined or this ' Run Payment Retry Terms' option is unchecked then payment retries will be executed using the default EngageIP system configuration (by default retries are attempted when a Bill Runs is executed with the 'Credit Card' option selected).

    • Bill Usage Only/Bill Usage:

      • Bill Usage Only (EngageIP 8.5.27.1 and earlier) - this option allows you to perform a bill run but not bill packages, this option simply allows you to bill usage on accounts that have the 'Usage Billing Type' User Component configured. Invoices will remain open when billing for usage only

      • Bill Usage (EngageIP 8.6.0+) - this option bills usage only and observes the 'Usage Next Bill Date' found on the 'Usage Billing Frequency' user component to determine when usage transactions should be generated

    • Use For Posting Date - this option allows you to tell the bill run to set the posting date within a certain specified period. If not selected, EngageIP will set the posting date to be the date the transaction was added. Taking into account the below setting and if this is checked, the system will take the month you select, the year you select, and put that together with the users bill day to determine the posting date it will use on the transactions

    • Posting Date Month - select the month for the posting date to be entered within

    • Posting Date Year - select the year for the posting date to be entered within

    • Close Invoice On Cancelled Customers - this option will automatically close any open invoices that are on cancelled customers. This ensures any final invoices are sent out. Generally this option should be enabled to manage historical data and keep accounts clean. This option will also look for active customers with credits that are not attached to invoices, create an invoice for that customer, attach the credit so it's not left unattached to an invoice and then close that invoice

    • Disable Billing After Bill Run - if you would like billing to run once and turn itself off (so it doesn't run every 24 hours) you can check this box. When checked, billing will run at the scheduled time and then the 'Enabled' box at the top of the config screen will be unchecked and billing will not start again until you check that enabled box again

    • Bill Run Collection Type - introduced in 8.5.27.0 this setting allows you to define how payments are collected. Options described below:
      Note: none of the options below will trigger payment processing on an account if the account has automatic payment disabled (Tools > Auto Pay > 'Auto Pay' unchecked)

      • Due Date - processes payments for closed invoices that are due. The 'Payment Day' setting specified on Accounts is ignored if this option is set, payments due will be processed when the bill run executes. This setting was previously called 'Only Collect Money On Due Invoices' prior to EngageIP 8.5.27.0

      • Payment Day - this option indicates that the 'Payment Day' configured on Accounts should be used to determine if payment processing should occur. E.g. if an Account's Payment Day is the 5th and the bill run executes on the 5th of the month then payment will be collected. This setting collects payment based on the invoice due date, the same behavior as the 'Due Date' setting above. If you are using this setting and you do not execute a bill run on a daily schedule you should create two bill runs, a 'Payment Processing bill run' (to run daily) and a standard (invoicing) bill run which you run when desired. The payment processing bill run should enable the payment methods that are used on accounts (i.e. some or all of the following settings: Credit Card, Run E Check Token, Run Credit Card Token, ACH/PAP). The standard bill run should handle the non-payment processing tasks, e.g. 'billing' should be enabled along with all other events you wish to occur on the account bill day such as invoice rendering and delivery

      • User Balance - this option will collect payment equal to the balance on the account. The 'Payment Day' setting specified on accounts is ignored if this option is set, payment processing for the user balance amount will occur when the bill run executes

    • Start Email Message (new in EngageIP 8.6.0) - If selected a notification email will be sent to the contact type you specify on the branded owner user when the bill run starts. See the Email Messages Configuration article for more information

    • End Email Message (new in EngageIP 8.6.0) - If selected a notification email will be sent to the contact type you specify on the branded owner user when the bill run finishes. See the Email Messages Configuration article for more information

    • Bill Day - this option allows you to set a specific bill day to look for during billing on accounts (as stamped on individual accounts) and it will only bill that ‘bill day’ even though the bill run range is larger.  Example: A bill run range of Nov 1 to Nov 20 and a bill day set to 2 will only bill Accounts where the account bill day is 2.  The bill run will include all of the user packages which have a next bill date in the range of Nov 1st thru Nov 20th on those accounts with a bill day of 2.

Bill Run Configuration Walk-Through

...

To confirm billing is running or has run, there are a few reports to review. When billing runs, it will log a main entry in the Bill Run History report for the Owner account.

  1. Click Reports

  2. Under the Owner Reports section select the Bill Run History. The duration here details how long the bill run took in Hours, Minutes and Seconds

The event log on the owner will also show all the individual log entries as billing processes accounts and transactions and can be used as an indicator on bill run progress. Search for the following pairs of 'book ends' for each process:

...

For each numbered item above, see the corresponding items below:

  1. This is the date / time at which you want billing to start, tonight at 8PM or next Thursday at midnight as examples, click the calendar icon to select the time the bill run should actually start

  2. This is the first date of the range, any user packages with a next bill date equal to or greater than this (but less than or equal to #3) will bill - assuming you have 'Bill Packages' selected.

  3. This is the end date, anything less than or equal to this date but greater than or equal to #2 will be included in billing.

If you want to bill a monthly package which has a next bill date of January 1st 2021 for a whole year, you can enter the dates as:

  1.  When the bill run will start

  2. January 1st, 2021 (no time needed)

  3. December 1st, 2021 (no time needed)

As billing iterates through all the packages within this range, monthly packages will continue to bill month after month until their next bill date is not within that range. As soon as a user package next bill date is not in that range, ie it bills to January 1st, 2022, it will cease being in that range and therefore will not be billed anymore with that bill run as set.

The same can be done if you want to simply bill 1 month of user package in a future period, in that case, for example this month is January, and you want to bill in the future month of July:

  1. When the bill run will start

  2. July 1st, 2021

  3. July 1st, 2021

The date range in #2 and #3 will include any packages whose next bill dates are July 1st 2021 and will bill only that period (whether they are monthly, annual etc, it will bill them for one period from that next bill date)

...