Feature Requests
Share ideas, discuss and vote on requests from other users in community

Prevent invoices from being changed

Fredrik G shared this idea 4 years ago

Once an invoice has been "issued" accounting practice in some countries does not allow for the invoice to be modified.

I know from a technical perspective that it's almost always possible to change a invoice as long as it's stored electronically, however lawmakers are not technical people and certain leeway is generally accepted in the implementation of this law. Usually the legal system accepts as a good enough solution a system that does not facilitate the change, even if it does not make it completely impossible.

Today's implementation of invoicing in WHMCS however does not just facilitate the changing of sent invoices, it actually makes it itself. Client data needs to be stored with the invoice data, today the invoice data just points to the client ID, if the client data is changed then so is the invoice data for historical invoices. This is not ok.

The usual implementation is system is to have a "invoice sent to client flag" and once that is set the invoice is saved in it's total and can not be changed easily though the system. Some system enables you to "uncheck" the flag and then change the invoice.

I know there are some workaround for this by saving the PDFs of the invoices in a 3rd place or by using the fixed PDF data plugin available as a addon, but they are workarounds and does not solve the basic problem in the system.

Comments (14)


Even though it looks like this is planned they did exactly they introduced new functionality with the redemption/grace fees that still makes changes to invoices.

The redemption invoices are changed on the presumption that people pay online. If so, they would see that their invoice was changed and pay that amount. We still see a lot of customer who pay via bank transfer. As much as I would like to see this change it's the current reality we have to deal with. This means a customer either pays too much or too little depending on how you configure WHMCS. In our case we had domains removed from invoices and we had to manually go back through invoice e-mails to find the domains affected and renew them manually. That wasn't fun.

In my opinion a third option should be added to General Settings > Domains. It should create a new invoice with just the grace or redemption fee, link it to the domain and e-mail an explanation to the customer (a new invoice was created because the domain expired, etc, etc.). If the original invoice is paid and there is still a linked invoice open, don't renew the domain but notify the customer via e-mail or their account (if they pay online) that there is another invoice due. If both invoices are paid the domain can be renewed.


Reading up on this I don't agree that proforma invoices are to be considered fiscal documents. It's description of 'asking to pay' is spot on but your legal grounds to chase a customer are limited and sometimes non-existent. Proforma invoices are not final. They are often used when dealing with customs.

To be honest I don't have much problems with the fact that you can change invoices. It would be better if you can't, but training can do a lot here. Being able to send proper credit notes would be a welcome addition but my main concern is WHMCS changing invoices without our intervention. This should be changed first. WHMCS shouldn't be allowed to make changes unless you allow it to.

Companies in the US wouldn't treat WHMCS the same as companies from Europe. A toggle to switch this on and off would therefore be useful. If an invoice is changed we need a full audit trail, what happened, when and why. European law requires a reliable audit trail and I think that this would be useful for anyone, either way.


I totally agree. There really should be a way to make WHMCS NOT change an invoice after it has been created. This is a major problem even if it is possible to write custom addons that tries to stop this. It would be so much easier if WHMCS had a policy NOT to change invoices. 95% of our customers does not pay with cards and they must also follow european law. They find themselves in a total mess sometimes when their invoices are changed or even cancelled from our system. Our customer support would be so much relieved if this was prevented.


yes profroma invocies ARE NO fiscal document. repeat after me 50 times, a proforma invoice is not an invoice.

its more of an estimate and not a proper way to request any kind of money.

the only within the EU (and US at least bigger comapnys do it the same way) legal way is

-invocies are final

-onyl invocies are a proepr way to request payment

-wrong invoices (to be corrected) or canceling invoices are to be corrects via

- first a credit invoice to cancel old one out (or part of it)

- new invoice


1x ssl for 500€

__credit invoice would be ___

-1x ssl for -500€

__new invoice___

1xssl for 400€

also invocies should not be marked as unpaid or paid.

you CAN add transactions and stuff, thats nice for the customer and perfectly legal addon but not required

transaction /payment reciets are complete different thing

an invocie can combine both but dont have too. a payment reciet is made by the payment provider / bankstatement whatever

together with the invoice it will create a valid document for tax deduction

transactions on a invoice is just a nice infromation for the customer but not elgally valid for that reason

so the customer need anyway alawys the statement of payment in soem form togehter with the invoice