Katamaze Documentation

General Settings

The settings below can be found and configured in the back-end of your WHMCS in Addon Modules page by clicking Configure button

Lock invoice on

Client's details and currency
WHMCS gets all the data visible on invoices directly from database (client's details, custom fields and currency in use). In practical terms invoices always reflect the current values stored in your system and this is not correct because when a client or an administrator updates informations on WHMCS, the change affects all existing invoices. Billing regulations don't allow you to change the data of an existing invoice. In the majority of countries it is illegal. Similarly WHMCS allows administrators to change the currency of clients and when this happens the currency of all existing invoices changes accordingly. For example an invoice of 100 EUR could change like follows:
100 USD 88 EUR
100 INR 1.41 EUR
100 GBP 135 EUR
100 CAD 70 EUR
100 JPY 0.74 EUR
This is a very serious problem since unintentionally you are faking your incomes which is illegal and a tax crime. Even if with the latest versions of WHMCS there's a system that addresses this issue with client's details, it doesn't do anything for currency and custom fields.

The module automatically cache all client's details, custom fields and currency for all invoices. This feature cannot be disabled since it's indispensable for all possible scenarios but you can choose when you want to cache details: on Invoice Paid or Invoice Created events.

We recommend you to set Invoice Paid option for this setting. In fact it may may happen a typing error when a new client registers to your WHMCS. In this case, if you are caching details on Invoice Created, your client inevitably has to contact you to fix this issue manually.  On the other hand, if you're caching details on Invoice Paid, he's can freely and autonomously fix this issue alone without your manual intervention if the invoice is still unpaid.

First invoice date

This setting determines the invoice date of the first invoice generated on WHMCS. Normally you should always leave this option set to Current Date. You should set it to January 1 only if you're using a fresh installation of WHMCS and you really need to start from the first day of the year.

Set invoice date on payment

This is a crucial setting for the module. In order to explain what it does, it's necessary to explain the main difference between EU and US billing regulations. Please notice that we're referring to EU and US for the sake of example. In EU the sequential numbering of invoices must run parallel to invoice date meanwhile in US this is not relevant. Take a look at the example below to understand the concept better.

EU regulations US regulations
Invoice #1 of 01-01-2016 Invoice #1 of 15-01-2016
Invoice #2 of 01-01-2016 Invoice #2 of 02-01-2016
Invoice #3 of 02-02-2016 Invoice #3 of 17-02-2016
Invoice #4 of 15-02-2016 Invoice #4 of 08-01-2016

That said, if you you're asked to respect EU regulations set this setting to Yes otherwise set No.

Due date

This setting allows you to globally specify when invoices are due. Please notice that this has nothing to do with automatic suspensions. It simply updates the Due date based on Invoice date. For example let's say that the policies of your company require that an invoice is always due 15 days after invoice date. In this case set this value equal to 15 to obtain the following results:

  Invoice date Due date
Invoice #12 01-01-2016 15-01-2016
Invoice #13 02-01-2016 16-01-2016
Invoice #14 03-01-2016 17-01-2016

If you don't need to use this option, simply leave 0.

Apply tax to credit

Tax add funds invoices

A standard installation of WHMCS in many ways doesn't respect the regulations of a large number of countries especially in Europe.

One of the main problems is that it doesn't add taxes to Add Funds invoices. Let's suppose that a client uploads 50 EUR in his account. WHMCS generates an invoice of 50 EUR with no taxes. This is not correct and considered a tax crime (tax evasion) in several countries where you're never allowed to receive a payment without applying taxes.

WHMCS applies taxes only later when your client is actually using his credit and this also leads to another very tricky situation. Let's say that you are an Italian company and a client of yours uploads 100 EUR in his account and follow my line of reasoning.

Step Date Action
1 20-09-2013 Your client uploads 100 EUR in his account
2 01-10-2013 Italian VAT increase from 21% to 22%
3 10-10-2013 Your client pays an invoice with his credit
In the 1st step the first error occurs because WHMCS is not appling 21% tax rate (keep in mind that this is considered tax evasion) but things go from bad to worse 3rd step. In fact when the client pays the invoice, WHMCS wrongly applies him a tax rate of 22%. As if it wasn't enough, let's say that your client does not use this credit for 2 years. What happens now? He received no invoice at that time but now your are invoicing him for a payment made 2 years ago. This is another tax crime since an invoice can't be postponed until the 15th day of next month.

If you are asked to apply taxes on add funds invoices, you should enable this option (Yes) otherwise leave it set to No. With the option enabled, the module automatically add taxes to Add Funds invoices. For example if a client uploads 100 EUR in his account and your VAT rate is 20%, the module transforms the invoice in 80 EUR + 20 EUR taxes @ 20% VAT. It also automatically handles the moment when your client uses this credit to pay an invoice. For more details refer to Disable invoices paid in full with credit setting described below.

Please keep in mind that this is a very complex matter. You should ask for help to your accountant.

Disable invoices paid in full with credit

When a proforma has been paid in full with credit, and you are already applying tax to Add Funds invoices (refer to Apply tax to credit for details), you could choose to disable the resulting invoice. In fact it could be pointless to keep this invoice when its amount is zero and this also helps you to lower the number invoices. If you can use this option and you want to use it, set this setting to Yes otherwise No.

Before enabling this option, talk about it to your accountant.

Disable Add Funds invoices

If for some reasons you want to get rid of Add Funds invoices also because of the issues explained in Apply tax to credit paragraph, enable this option (Yes) otherwise leave it to No. When this option is enabled, the module automatically removes Add Funds invoices from the system as soon as clients send you the payment.

Before enabling this option, talk about it to your accountant.

Preserve amounts for payment with credit

In some jurisdiction (e.g. Germany) the Total value of the invoice cannot change in any circumstance. WHMCS in fact automatically changes the Total amount when a credit is applied to invoice. Take a look at the example below to understand the concept better.

Value Setting enabled (Yes) Setting disabled (No)
Sub Total 10 10
Credit 5 5
Total 10 5

This is what happens when the invoice is paid in full with credit.

Value Setting enabled (Yes) Setting disabled (No)
Sub Total 10 10
Credit 10 10
Total 10 0

In most cases this is just a matter of taste but so in some countries this is very important.


Preserve tax for payments with credit


Similarly to the previous option, in many countries it doesn't matter what payment method has been used to pay an invoice, tax should always be stated. Normally when a client pays an invoice with his credit balance, WHMCS hides the value and changes it equal to zero.


Taxes always visible

Companies with special regime that are exempt from taxation may need to show the value of tax even if this value is always equal to zero therfore, if you are one of this companies, enable this option. In fact WHMCS normally hides the tax line on invoices.


This feature is complex to explain so we made a separate article here where you can find all informations you need.

Simplified Invoicing

This is a very advanced aspect of the module so we made a separate article to describe it. Click here to find out more.

Invoice day

This feature can be used only in conjunction with Simplified Invoicing enabled. Please refer to Simplified Invoicing paragraph for more details.

Only allow invoices

Proformas vs Invoices

In WHMCS there's a clear distinction between proformas and invoices. We're going to explain the differences in case you don't know what is a proforma. An invoice, also known as commercial invoice, is a real invoice and an official document with a sequential number. A proforma, even if in WHMCS it looks like an invoice (they use the same style), it is not a real invoice. Nothing has been billed yet and your client has no fincancial obligation. WHMCS always generates proformas so that your clients can freely decide if they want to pay to keep their services with you. Only when a client decides to pay a proforma the system transforms it into a commercial invoice.

Example. A client visits your website and place an order to register a domain for 10 EUR. He then registers on your client area and places the order but when it's time to pay the proforma for some reasons he changes his mind and leave the order unpaid. That said, for your company this is not a problem and you have no billing obligations since here we're not talking about a commercial invoice. A proforma basically is waste paper. You can delete and forget about it. Only when a client pays a proforma WHMCS generates the real invoice that you must save and send to your accountant.

Now that the difference between these two kind of documents is clear, this option allows you to get rid of proformas so that your system generates just commercial invoices. If the policies of your company require that you generate just invoices then set this option equal to Yes otherwise No.


 This is a value added feature that can be very useful in some conditions. There are three possible option that you can define:

  • Standard
  • Companies automatically - Individuals manually
  • Companies manually - Individuals automatically

The Standard option doesn't change the normal processes of WHMCS but the other two allow you to enable or disable automatic invoicing for companies and individuals. In practical terms sometimes it happens that your customers (companies) are very demanding when you invoice them especially if they're big companies. They could pretend you to invoice them only when they want on their terms and conditions. In this case instead of messing up the billing system of WHMCS and to waste time with very frequent manual interventions, you could simply enable the option Companies manually - Individuals automatically. When this option is enabled the module doesn't allow WHMCS to automatically generate invoices for companies (notice that the system keeps generating proformas). It stores all informations and allows you to generate invoices later only when it's necessary and in the way that you need. The option Companies automatically - Individuals manually works in the same exact way but at inverted roles (individuals instead of companies).

Do not cancel invoices

Cancelled Invoices

When you cancel a proforma on WHMCS, the system doesn't take into account paid invoices. For sure there's no problem in cancelling an unpaid proforma but you cannot cancel a paid invoice. In several countries it's illegal and considered a tax crime. If you need to cancel an invoice you are probably trying to refund a payment to your client. In this case the correct procedure is that you leave the invoice untouched and generate a credit note (also known as reverse invoice) with a negative amount. For example if you need to refund Invoice #15 of 10 EUR, you have to generate Credit Note #16 of -10 EUR. The module allows you to generate credit notes / reverse invoices in addition to proformas and invoices so don't worry about it. Click here to find out more.

Usually you should always enable this option (Yes) so that when you cancell a paid invoice the module turns it back to Unpaid status which is a more appropriate status. If you don't need this feature you can leave it turned off (No).

Hide unused configurable options

When a client orders a product that has configurable options, WHMCS always displays all options and their relative values on invoices and proformas even when the client hasn't ordered any of them. For example let's say that a client orders a VPS and you are offering him the following configurable options:

  • Anti-spam Yes/No [Checkbox]
  • Additional RAM: No,2GB,4GB,8GB [Dropdown]
  • Operative System: No,Windows,Linux [Radio]
  • Backup space: x0 GB [Quantity]

Let's suppose that the client decided that he needs no additional services and so he selects the options emphasize in bold. What's the point of showing in the proforma/invoice all these unrequested options? If you enable this feature (Yes) the module automatically removes from proformas/invoices all the unselected configurable options (not selected, zero quantity etc.) so that the your invoice is more concise and contains only relevant informations. In case you still want to show unselected configurable options, disable this option (No).


Even if you don't need to respect VAT MOSS regulations, we recommend you to enable this option (Yes) since it provides some extra features that can be useful for your accountant. When you enable this option, the module shows you a new menu in the toolbar where you can find all informations you need to comply to VAT MOSS regulations. The module automatically catalogs all payments made by your clients by country, currency and business entity (company or individual). You can then filter and export all data on Excel sheets. If you don't need this feature leave this option disabled (No).

API username

This option is used only for logging purposes. Simply define the user that you want to use when the module needs to performs API actions on WHMCS. Only administrator with API permission enabled are listed in this menu.

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
Credit & Taxes
Viewed 395 times since Mon, Sep 4, 2017
Introduction to multi-brand billing
Viewed 1438 times since Mon, May 9, 2016
VIES support for WHMCS
Viewed 1027 times since Sun, Apr 3, 2016
Overpayments: Mode 1, Mode 2
Viewed 1135 times since Thu, Mar 3, 2016
Toggle Invoicing
Viewed 1135 times since Sat, Apr 15, 2017
Tips and tricks of Billing Extension
Viewed 1091 times since Wed, Mar 2, 2016
Module upgrade
Viewed 1375 times since Mon, Mar 21, 2016
Invoice overpayments
Viewed 470 times since Mon, Sep 4, 2017
Simplified Invoicing
Viewed 1262 times since Wed, Feb 3, 2016
Credit notes, reverse invoices, invoices and proformas
Viewed 2997 times since Wed, Feb 3, 2016