Detecting and Preventing Invoice Mistakes in WHMCS
WHMCS incorporates things like System Health Status (that's nothing exceptional) but offers literally no way to detect and prevent billing mistakes. This is kind of ironic as the main source of problems in this area is WHMCS itself.
As we point out in our MUST read before launching a WHMCS site, it's crystal clear that WHMCS team has no clue of how invoicing should work. Over the years they proved to be unreliable by changing critical billing concepts overnight.
That's the very reason why we started coding our first module Billing Extension. The module prevents most billing mistakes in the bud and also integrates a system that detects billing problems.
When there's something that requires your attention, the module adds the Billing Warnings badge at the very top of WHMCS administration. The widget is also part Billing Extension and brings back Admin Stats that have been removed in v8.
For earlier versions (v7, v6, v5) this same badge appears right next to Tickets Awaiting Reply as follows.
Clicking such links gives you quick access to the integrated billing error dashboard that can also be accessed from Addons > Billing Extension > Invoices > Warnings.
It is worth to remind that Billing Extension distinguish between "hard" and "soft" notices. In the above images, the "19" refers to the former. In subsequent chapters of this article we will explore the purpose of each type of notice.
This type of notice require your immediate attention as there are questions that should be looked into immediately to avoid further problems. Such notices are colored in red their total number appears in the badge we've previously seen.
On a daily basis Billing Extension looks for any gaps in invoice and credit note number sequence. This way you can immediately spot and fix billing errors. Moreover you don't even need to look for dates and missing IDs. The module already provide you details.
Find repeated numbers in invoice number sequence to ensure WHMCS doesn't issue duplicate invoice numbers. To avoid triggering false alarms, the script ignores Draft and Cancelled documents.
Set trigger warnings for monthly invoicing and manual invoicing based on:
You can customize such settings from Addons > Billing Extension > Settings > Logging.
Moreover the same values are used in Addons > Billing Extension > Billing to generate the following information boxes. Greener when you're far from the limit. Redder when you're closer. Orange is used for in between values.
|Electronic invoicing requirements||Used for Italian electronic invoicing.|
|Electronic invoicing data||Missing, incorrect or invalid details still for Italian electronic invoicing.|
Lost synchronization for sequential invoice numbering. Errors show up on all the involved installations of WHMCS. Keep in mind Invoice Sync automatically disables Invoice Gap checker.
There's nothing to worry about in this section. Mostly all notices act as a logging. In this case the color we use is yellow and "soft" notices don't show up in any badge.
|Hard notices (red)||Description|
Billing Extension automatically logs the following events occurring on VIES:
|Invoice Data Snapshot||
"Orphan" invoice and credit note snapshots. There's no point in keeping snapshots related to invoices, credit notes or proformas that no longer exist in WHMCS. On a daily basis the module keeps a track of deletions.
|Tax Calculation Method||
WHMCS offers two tax calculation modes:
The first mode is compltely wrong and leads to billing errors. The module automatically switches mode in case you're using the wrong one and logs the change.
|Electronic invoicing profiling||
Used for Italian electronic invoicing. Users can be profiled as:
For companies and Public Administration there's also the concept Split Payment. This section logs all changes made to user's detail.
|Electronic invoicing Admin log||Still used for Italian electronic invoicing. It logs all actions performed by WHMCS administrators on electronic invoices (XML files).|