I would consider seriously to find a more permanent solution to not delete invoices but set a pointer active or inactive invoice. You should have all historical data on the DB.
In my experience with other billing systems, they just mark it deleted but it is in the database, exist still the info. And this is my preferred way to be done.
4 Comments
Login to post a comment.
This is not only required by law in Norway but in the Netherlands (and the entire EU) as well and part of IFRS standards of accounting rules and bookkeeping. The way WHMCS is handling credit invoices and/or changing invoices without notice or even removing invoice lines is not compliant to EU regulations. WHMCS should therefore not be used for invoicing unless this behaviour changes.
Thanks for your suggestion. At present domain renewal invoices will be cancelled once a domain expires. A domain renewal invoice won't be deleted entirely: https://docs.whmcs.com/Domains_Tab#Domain_Grace_and_Redemption_Fees
However if an invoice contains other line items besides expired domain, we need to delete the expired items from the invoice so the other items can still be paid.
Is it this latter behaviour you'd like to change?
In Norway it is not allowed to change or delete times on a generated invoice.
So the suggestion is to add an option to the settings of WHMCS to not delete invoice items containing renewals.
Even if the domain is not renewed and the status is set to expire, the invoice can not be changed. According to the Law we have to create a credit invoice (negative) to cancel a invoice or to part-credit the invoice.
- Haavard