Katamaze Documentation

Toggle Invoicing

Factors that led us to develop Toggle Invoicing

First of all for simplicity's reasons. We know how much tedious and frustrating the renewal of products, services and domains can be for many clients. In WHMCS clients have to deal with pages like My Domains, My Services and sub-categories for Configurable Options and Addons. Every year they receive a countless amount of notifications and proformas and the Request Cancellation feature is not so intuitive. Moreover we find a bit ridiculous that every year, every owner of WHMCS generates an huge amount of invoices and an high volume of micro-transactions that enriches Payment Gateways on their expense. We also think that people who register domains and order services on behalf of their clients (e.g. Web Agencies, Developers, Designers...) need a better solution to manage renewals with their own clients.

Toggle Invoicing as fast as possible

Every month the client:

  • Receives a single invoice and sends one payment
  • Receives a single Consolidated renewal reminder
  • Can manage renewals from one page
  • Can turn on/off renewals in one click
  • Can assign products to sub-accounts

On the other hand every owner of WHMCS:

  • Saves big money on transaction fees
  • Generates a maximum number of 12 invoices per client every year
  • Sends less email notifications

Calculating benefits

Let's say that you have 500 clients. Each one of them has 5 services that cost 50 € / month each. The fees of your Payment Gateways are 2.4% + 0.35 € per transaction. Now let's move forward to the end of the year and see what happens.

  • 30.000 invoices
  • 46.248 € transaction fees
  • From 30.000 to 120.000 email notifications

Now let's try to repeat the process with Toggle Invoicing enabled:

  • 6.000 invoices (-95%)
  • 38.050 € transaction fees (-18%)
  • From 6.000 to 24.000 email notifications (-95%)

Is it worth it? Not to mention that the benefit for having to register 6.000 invoices instead of 30.000 are greater than the 8.198 € saved with transaction fees.


All billing cycles of products/services (monthly, quarterly, semi-annually, annually, biennially) are supported. Same story for renewal periods of domains (1 to 10 years). You can use Toggle Invoicing with products, services, domains, billable items, product addons, configurable options. The only limitations are the following:

  1. Billable Items -> Invoice Action -> Recur Every. You cannot use Days and Weeks as recurring terms
  2. When clients place new orders on WHMCS, they will still receive an invoice. Toggle Invoicing only works with renewals


You can enable Toggle Invoicing:

  • Globally for all clients of WHMCS from Setup > Addon Modules > Billing Extension > Configure > Toggle Invoicing
  • For specific clients from Addons > Billing Extension > Clients
  • For groups of clients from Addons > Billing Extension > Clients > Group rules

When the client is permitted to use Toggle Invoicing, the module automatically adds a button for him in the toolbar.

In case you are using a toolbar that does not work with action hooks, the URL of the page is index.php?m=BillingExtension. Keep in mind that the module does not allow the access to this page via direct link. Only logged in clients who has been allowed to use Toggle Invoicing can access to this page. For more details about this page, take a look at the screenshot below - click to zoom.

The first day of every month with the daily Cron of WHMCS, the module automatically generates the monthly invoice for each client for all services that are expiring within current month. Of course it considers only items with the blue toggle - Renew is enabled. Few instants later the module also sends the Consolidated renewal reminder notification (preview) for items that are due within the next month. In this way every client has an entire month to decide what services he wants to keep active with you. If he no longer wants a specific service or domain, he can any time visit this page and click on the toggle to disable the auto-renew. The notification can be customized from Setup > Email Templates > General Messages > Toggle Invoicing (preview).

There is one exception that is valid for a particular kind of Product Addons. Some addons can be set with the option Suspend Parent Product. When this option is enabled, WHMCS suspends the parent product as well when the addon is suspended. Long story short, when a client turns off the renewal of this particular kind of addon, the module accordingly turn off auto-renew of the partent product.

That said, if the client pays the monthly invoice, all products, domains, addons and billable items are renewed on the contrary they will expire. The module also allows you client to assign a container of products/services to a sub-account as "Owner". This value is shown on invoices (HTML and PDF) and can be used to ease the management of services for Web Agencies, Designers and Developers (preview).


Even though this new feature has been fully tested multiple times for weeks, it is one most complex features of Billing Extension therefore, please immediately report us any bug you may encounter. If possible, try to use it on limited amount of clients for some weeks from the day of release which is 15-04-2017.

There are no attachments for this article.
There are no comments for this article. Be the first to post a comment.
Full Name
Email Address
Security Code Security Code
Related Articles RSS Feed
VIES support for WHMCS
Viewed 987 times since Sun, Apr 3, 2016
Module upgrade
Viewed 1325 times since Mon, Mar 21, 2016
Credit notes, reverse invoices, invoices and proformas
Viewed 2918 times since Wed, Feb 3, 2016
Tips and tricks of Billing Extension
Viewed 1066 times since Wed, Mar 2, 2016
General Settings
Viewed 1597 times since Tue, Feb 2, 2016
Invoice overpayments
Viewed 440 times since Mon, Sep 4, 2017
Simplified Invoicing
Viewed 1229 times since Wed, Feb 3, 2016
Overpayments: Mode 1, Mode 2
Viewed 1104 times since Thu, Mar 3, 2016
Credit & Taxes
Viewed 368 times since Mon, Sep 4, 2017
Introduction to multi-brand billing
Viewed 1396 times since Mon, May 9, 2016