WHMCS Monthly Invoice and Payments for Products and Domains

Back   Posted on 31 january 2018 / Updated on 30 november 2022
Reading time 7 minutes

WHMCS Billing Logic

WHMCS generates an enormous amount of invoices, which is bad for a number of reasons.

From customer's perspective, you're flooding them with invoices, email notifications and reminders.

Let's suppose a customer has at least one service that expires every day of the year. In this context WHMCS issues 365 invoices sendings a countless number of email notifications.

As much as this example sounds extreme, customers are more or less affected by this annoying problem. There's no room for flexibility as WHMCS immediatelly performs suspensions of overdue services.

This kills user-experience. Customers who own many services are doomed to send payments non-stop to avoid suspensions. This kills the user-experience.

From a business perspective, invoice processing is a labor-intesive process that requires employing workers.

You're definitely incurring tangible costs of paying people to organize, print and record invoices. There are also the hidden costs of running a server that suistains the sending of so many emails not to mention transaction fees.

No one likes to spend hours wrangling invoices.

With this in mind in Billing Extension we created features that help modern businesses reducing the unnecessary costs of invoice processing. This is also a "green" process that reduces energy consumption.

The module accomplishes this goal reducing the number of issued invoices to a maximum of 12 invoices per customer every year but we didn't stop here. We have also addressed the bad habit of WHMCS of issuing unnecessary invoices including ones coming from fraudulent orders.

Monthly Invoicing? Stop Looking

From time to time in on forums there are people claiming they managed to get monthly invoices on WHMCS. Some are even willing to make a software out of this. As they inevitably find out that it is more complex than expected, they disappear.

Moving to requests.whmcs.com, there are tens of requests submitted by people who would love to have this feature in WHMCS. Some of them have been submitted more than 10 years ago. Are you still waiting?

The truth is that Billing Extension is the only solution that brings monthly invoicing in WHMCS. Our customers are using it since 2014. No other modules have this feature.

Monthly Invoicing

Let's begin by giving a name to this feature: OneInvoice. Here is how it works.

Assuming a customer has at least one service due every month, the module issues a maximum of 12 invoices per year. Months with no expiring services pass with no issued invoice.

The strong point of OneInvoice is that is not intrusive. It slips into the default behaviour of WHMCS. Your system keeps generating proforma and sending notifications as normal.

What's different is that OneInvoice prevents WHMCS from turning proforma into invoices when they become paid. The proforma are removed from your system (invoice suppression) a moment before they turn into invoices.

You may wonder, where do they go? What your customer sees?

First thing first, your customer sees a thank you page where we explain him that the payment has been received and his services are fine. WHMCS in fact performs registrations, renewals, auto-provisioning as normal. The page also informs him that he will receive the invoice next month.

As for backend, in place of the suppressed invoice your administrators see an exact copy of the original proforma that leaves no room for mistakes. Here is a preview.

You can review all details and items involved including transactions, amounts and dates. Billing Extenion also makes clear that the document you are seeing is a proforma that has been supporessed by OneInvoice and that the invoice will be issued at a very specific date.

Speaking of invoice issuing, the module waits for the first day of every month to issue a single invoice that groups all the suppressed suppressed of previous month.

Let's say that on January a customer pays 5 proforma. Instead of receiving an equivalent number of invoices, on the first of February the customer receives a consolidated invoice.

But what if you or your customer can't wait and immediatelly needs the invoice? That's not a problem. Billing Extension has a page from which you can quickly search and review all the pending invoices grouped by customer.

In addition to statistics, the "type to search" box helps you to quickly search in real time domains, services, customers, descriptions, dates, IDs etc. Once you find your target, you just need to select the items you want to invoice and click Invoice Now. That's it.

Monthly Invoicing and Payments

If you want something more than issuing monthly invoices, you can not miss OnePayment.

OnePayment extends the concept of OneInvoice to payments. With this feature not only you are granted to issue a maximum number of 12 invoices per customer every year but also 12 payments!

In case you are missing it, reducing the number of payments lowers transaction fees. How much?

Let's suppose you have 500 customers with the same setup. 5 services 50 euro / month each. Your PayPal fees are 2.4% + 0.35 euro per transaction. At the end of the year here is what you would normally have compared to a system that is using OnePayment.

Standard WHMCS OnePayment
30.000 invoices 6.000 invoices (-80%)
120.000 email reminders 24.000 email reminders (-80%)
Transaction fees 46.248 euro Transaction fees 38.050 euro (-18%)

Not only you are having a 80% reduction of invoice issued and email sent but you also saved 8.198 euro in transaction fees. Sounds great, isn't it? Let's see how it work with an example.

We are on January 1st and OnePayment sends a consolidated email reminder about all services, products, domains and product addons that will expire next month on February.

Customers have a full month to decide what they want to do with their services. If Enhanced Renewals is in use, they can clearly see it from sidebar and easily choose what service the want to keep or cancel by simply sliding a toggle.

On the first of February, the system issues monthly invoices to let customers renew what is about to expire in the same month. In the meantime they also receive the consolidated email reminder about services, products, domains and product addons that will expire next month on March.

Long story short, the first day of every month customers:

  • Receive a reminder for what is due next month
  • Have a full month to decide what services they wants to cancel
  • Receive the invoice to renew what is due in the current month

The only exception to this are new orders. For example the customer that places an order to register a domain immediately receives the invoice. OnePayment will take care of this domain start from next renewal.

What's also great is that people can easily plan expenses in advance eventually uploading funds.

If you decide to use OnePayment we only have one recommendation. Before enabling it make sure the affected customer don't have open/pending invoices that are due otherwise you will invoice them twice.

Manual Invoicing - Invoice on demand

Manual Invoicing works exactly like OneInvoice. As the name suggests, the only difference is that invoices are not issued automatically the first of every month. The issuing of invoices is entirely up to you.

You can freely choose when you want to invoice, who and what items. All it takes is one click from the page we have previously seen for OneInvoice.

If you believe you may risk to forget about invoicing customers, keep in mind you can ask the module to warn you when certain limits are reached on the following metrics:

  • Total univoiced amount (eg. not more than 1000 EUR)
  • Number of customers with pending invoices (eg. not more than 5)
  • Too old pending invoices (eg. not older than 60 days)77

Customer-based Billing Modes

Now that you've learned what Billing Extension can do for you, we have a final surprise.

OneInvoice, OnePayment, Manual Invoicing and the default functioning of WHMCS can be used in the simultaneously! You are not forced to choosing only one billing mode. You can use all them combined. But there's more.

Each billing mode can be set as default for all customers or used for specific customers. This way you can make the best out of every customer. For example you can have the following scenario:

  • Default billing mode: Standard WHMCS
  • Customer A, B and C: OneInvoice
  • Customer D and F: OnePayment
  • Customer G: Manual Invoicing

You could use OnePayment for customers that own hundreds of domain to avoid incurring in high transaction costs, OneInvoice for customers that receive too many invoices, Manual Invocing for special deals and default WHMCS for others.

Default billing mode can be set from Addons > Billing Extension > Settings > Billing Preferences > Billing Mode.

As for customer-based billing modes, visit Addons > Billing Extension > Clients and click the at top-right button. It will expand to let assign selected customers to any billing mode in one click.

Before swicthing billing mode for customers, make sure they have no pending invoices in Addons > Billing Extension > Billing. If you are disabling OnePayment, it's recommended to do that right after invoicing date (the 1st of the month).

Comments (0)

Speak Your Mind Cancel Reply