In the last versions of Invoice Plane whenever an invoice is paid, it gets locked and can’t change this status anymore unless you know php and where to “touch” the code. As most of users really shouldn’t know about it, and every program should let the users to ‘undo’ their mistakes, I think there should be an option to let users activate or not the protection of paid invoices.
See https://wiki.invoiceplane.com/en/1.0/modules/invoices#read-only
But an “undo” option is an interesting feature that may solve some problems.
What I meant is just turn this $config[‘enable_invoice_deletion’] = TRUE; into a user option in the system. Not everybody knows php to do by themself (and specially thinking about hosted users).
Exactly this feature is what I want to prevent. A user should not be possible to change an invoice that was already paid because this is absolutely forbidden in some countries (like Germany) and you can be fined for changing an invoice.
Also doing such things is not pretty transparent for the customer in my opinion.
So I think this restriction only makes sense if it’s not accessible for everybody like now: inside a config file that only an admin can access.
I know this is pretty straight forward and I will add a question to the setup to ask if the user want’s this restriction or not.
But a program can’t be based on local laws. Is also illegal to invoice without taxes, but the software should be able to do it, and many other things. It does not affect me, but in my opinion could be really frustrating for the user don’t have that freedom. I understand there should be some protection, but should be also possible to disable it. An option in the system settings could easily fix this.
Yes that’s why adding an option in the setup is the best solution for this problem.