Detecting and Preventing Invoice Mistakes in WHMCS

Back   Posted on 1 september 2018 / Updated on 23 february 2022
Reading time 3 minutes

Billing Errors Dashboard

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.

Hard Warnings

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.

Type Description
Invoice gaps

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.

Duplicated invoices

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.

Uninvoiced payments

Set trigger warnings for monthly invoicing and manual invoicing based on:

  • Pending invoices
  • Pending amount
  • Pending customers

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.
Invoice Sync

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.

Soft Notices

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:

  • Changes to VIES response, tax exempt status and business type
  • Invalid country and/or VAT Number
  • VIES service unavailable
  • Member State service unavailable
  • Timeout
  • Server busy (high load)

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:

  • Individually per line item
  • Based on collective sum

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:

  • Individual
  • Sole proprietorship
  • Company
  • Organization
  • Public Administration

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

Comments (0)

Speak Your Mind Cancel Reply