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

Prevent invoices from being changed

Fredrik G shared this idea 3 years ago
Planned

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 (8)

photo
1

I totally agree! legally in Spain also make the return of a bill you have to create a rectification invoice with a different numbering.

Once an invoice is created you can not change its contents, you have to create a rectification invoice, but never change the original invoice.

photo
1

This is now possible if you use the Cached invoices addon.

Important data for every invoice gets saved to the database as soon as the invoice is created. Once the invoice has been paid WHMCS will generate a PDF file that will remain on the server and will ALWAYS be served to the client.

Also, you can edit your saved invoice data, in case the user makes some kind of mistake (vrong VAT, different currency etc).

On top of that, you can instantly save the data for all of the old invoices with just one click.

Check it out, i'm open for suggestions.

http://forum.whmcs.com/showthread.php?95294-M-BIT-Cached-Invoices-Addon-Module-for-WHMCS-Keep-your-invoices-intact-forever!

photo
1

Hi,

So to clarify it's OK for pro-formas to be edited and changed, but once it becomes an invoice proper, the Options and Line Item fields should be locked?

photo
1

+1, Simple but important feature.

photo
1

To change the invoice details once generated is not legal in all Europe and maybe in all countries. This feature must be included on the WHMCS.

As John says you can edit a pro forma because is not a legal payment document is just an invoice pendant to be accepted. But.. once the invoice become final invoice this can not be edited.

Also... WHMCS needs to allow create a different Prefix and sequential numbering for rectification invoices, that is needed to on a lot of European countries.

For Example:

A2017/00001

hosting service = 10€

VAT 21% = 2.1€

Total = 12,1€

And you need to edit or refund this invoice, we need to create a negative invoice with different prefix and sequential numbering, for example

R2017/00003 (correction of invoice A2017/00001)

hosting service = -10€

VAT 21% = -2.1€

Total = -12,1€

photo
1

+1 for support for negative invoicing as the issue above is also a problem in Norway. We are not allowed to change invoices once generated, we can not do proforma invoicing, and once we need to cancel an invoice we have to create a new (credit) invoice with negative amount. From version 7.2 this is not supported anymore. In earlier versions the negative invoice did not cause any issues.

So please revert that change and make negative invoicing possible again, and implement the future for locking invoices once published.

Thanks,

Haavard

photo
photo
1

Hi,

Thanks for the feedback. At present the invoice contact details can be locked using the Store Client Data Snapshotfeature implemented in 6.0.

I understand that the desire for further restrictions on changes published invoices. In 6.2 we added the concept of Draft invoices, and building upon this we are considering implementing a new administrator role permission which would prevent users from being able to edit an invoice in a status other than Draft.

Please do let us know your thoughts on that proposal here in the comments or by up-voting this idea.

photo
1

Hi,

We want to use WHMCS to issue invoices - but there are several problems with the way WHMCS is working now that are not inline with the law in our case.

In general there are several types of invoices and guidelines that we should implement in order to work legally:

  1. pro forma invoice: that is actually a way to "ask" customers to pay us. This invoice should have a clear indication that this is the original invoice document and a digital signature to prove this is the original invoice. also there should be no way to change such a invoice after it was issued. when trying to send the same invoice to a customer again - this invoice should have a clear indication that this is a certified copy of the original invoice.

  2. Invoice + receipt: you issue such an invoice if the customer already paid the invoice automatically so you send him the Invoice + receipt in one document. The serial number of this invoice should be different from the pro forma invoice number.This invoice should have a clear indication that this is the original invoice document and a digital signature to prove this is the original invoice. also there should be no way to change such a invoice after it was issued. when trying to send the same invoice to a customer again - this invoice should have a clear indication that this is a certified copy of the original invoice.

  3. Refund invoice: you issue such an invoice if there is a mistake in the Invoice + receipt document or if the deal was cancelled and you have to refund the amount the customer paid you already. since there shouldn't be a way to change the original Invoice + receipt document - the only way to set things right is to issue a refund invoice. The serial number of this refund invoice should be different from the pro forma invoice number and from the Invoice + receipt document.This refund invoice should have a clear indication that this is the original refund invoice document and a digital signature to prove this is the original refund invoice. also there should be no way to change such a refund invoice after it was issued. when trying to send the same refund invoice to a customer again - this refund invoice should have a clear indication that this is a certified copy of the original refund invoice.

As you can see there are things in the list above that works differently now in WHMCS.

  • WHMCS supports all three of these types of invoicing, which apart from Proforma ones are all based around the original invoice identification and each new status / invoice will replace the original document so when a client checks via their client area they will see in the invoice presented in whichever state it's currently in, so if in a "paid" state, that is the only invoice they will see however they will be emailed a copy each time the invoice is updated - but he relevant invoices will not be present in WHMCS.

  • As mentioned above "paid" and "refunded" invoices will share the same sequential number and will be actually the same document.

  • There is no way (out of the box) to add a digital signature to each type on invoices so it will prove this is the original document.

  • There is no way to prevent us (in the admin side) to change such an invoice (all 3 types) after we issued it.

  • There is no way (out of the box) to add an indication when sending to a customer the same invoice again - that this is not the original invoice but a certified copy of the original.

There are several feature request regarding the issues above:

  • This feature request is about removing the ability to edit an invoice from the admin side after such an invoice was issued.

  • This feature request is about having a different numbering for invoice and refund invoice.

  • This feature request is about separating the 3 types of invoices to be actual 3 different documents (or maybe i'm wrong).

  • This feature request is about adding PGP Support to sign outgoing Mails - I hope this deals with invoice digital signature

    So the only things left out (if the above feature requests really do handles the relevant issues I mentioned) are:

  1. To make sure that the 3 types of invoices are 3 different documents that we (and the customer) can see at all times.

  2. Making sure that the is only one "original" invoice document - and that every time we resend an invoice it will be marked with a clear indication that this is a certified copy of the original.

So to sum it all up:

We need a way to make sure that each type on invoice is a standalone document with different sequential number and have a digital signature to make sure that this is the only original document and prevent us from changing it after issuing it and with the relevant labeling as original document or a certified copy of the original.

Thanks!

Ram