Hi @Michael! Thank you for the information. In locales such as Iceland, and in much of Europe as I understand it, the 'cached copy' would not satisfy the law. I read the change you referenced, and I see that being problematic. Here's why.
Let's say an invoice is created. Once it is published, am I referencing WHMCS features, i.e., draft and published, here since I don't yet have enough experience using Blesta, the invoice can be seen by the client, emailed to the client, etc. Once that invoice is published, it CANNOT be edited in any way. None. Like if there is just a simple typo, that invoice must be cancelled and a new one created. I mean it can be edited in WHMCS, and that is one of the reasons I am looking to dump them. Not the only one, just one of many.
So I gave this a bit of thought and believe a viable solution might be to simply lock the record associated with an invoice that has been published. No changes that would be visible to the customer, including any notes, would be allowed to be added to that invoice. Of course if you have an area for admin notes, those could be added, but never as part of the actual invoice. ANY change to an invoice requires cancelling, crediting and reissuing invoices.
I also see a problem with the creation of a cached copy of an invoice. Let's say you make changes to an invoice that has already been issued to the client, and then send the changed invoice to them. Now they log in and see the unchanged cached copy of the invoice. How would they know which invoice is superior, or the correct invoice? If you think about an invoice, bill, receipt, or statement of any kind, what's to stop me from using a tool to edit or recreate the content of any of these documents and then claiming that the document I edited is the "real" document? How is that any different from using a cached copy scheme? No company would want to have to, nor could they, defend that position in any legal proceeding.
That can create a real can of worms. If you, as the invoice creator, have actually modified the invoice since it was sent to the client, you have just broken the law in many places. That needs to be avoided, although invoice changes are fairly routine for myriad reasons. Fortunately, as I said above, I think there is a relatively easy fix:
1) Generate an invoice and "lock" the invoice so no changes can be made; no admin or other notes added since invoice creation could be added directly to the invoice
2) If an invoice needs to be changed, then an admin should be able to cancel the invoice, and copy that invoice to a new number, make any needed changes, and then publish/send the corrected invoice
3) The original invoice would be mark cancelled, and optionally any remarks added to it, and then the new invoice with the new invoice number becomes the only legitimate copy of that invoice
I know this is not something that can happen overnight, but I believe it would make Blesta truly a WHMCS-killer. At least I hope so. Let me know how else I can help.