So I explain why we need to change invoices... there are many reasons...
Let's start from big one:
Accountants are perfectionist. I have seen many very stressed out accountants, almost burned out, who use software where they can't make changes. Every mistake is visible and reminds itself to them and also their clients / bosses, who ask about those mistakes as they see these as well.
When we moved over to first SQL-Ledger and then LedgerSMB, this was the big relief and accountants are much more relaxed and happy persons because they know it's ok to make mistakes and fix them. And the best... nobody knows that there even was a mistake.
Clients change their minds about order size, products, ask for additional discounts, want different wording for services etc etc. Today I just change the invoice according to their wiches and I do it in LedgerSMB. Then resend. If this would not be possible I would have to use Word or LibreOffice and remake the invoice there as client wants one clear invoice. And yes, clients even want to change invoice receiving company after they have paid it (as private person).
Another big one:
I have developed a script for 1.2 version which generates for me .csv file which I upload to Estonian Tax Authorites. It includes invoice information both sales and purchases with partners where we have had more than 1000 eur worth of invoicing in a given month. It must include also credit invoices, so total might be less than 1000. There are some other rules to follow as well. It means I cannot have random back and forth invoicing in the system or this report would include them which by the end of day means I would need to do this report manually or check it manually line by line as I cannot upload information about invoices which actually didn't happen. Estonian Tax Authorites check that both parties declare the same information and it would not match if I have there some voided invoices etc.
And if all this changing means that inventory is messed up in the end, so be it... so far I have made once a year on 31st of December a correction into ledger based on the inventory report value and the difference in balance sheet. So it matches at this point.
Also from regulatory point of view... we are talking about small / medium companies... trust level between people is very high, so we are not afraid of fraud by employees. Also I have nightly backups and few times a year when somebody really messes up something I restore the old copy and compare... and find the mistake.
From Estonian Tax Authorities perspective... they have never asked for audit log or something like that. Just the list of invoices which include VAT, or whats inside cash account. That's pretty much it. Banks want balance sheets and income statements. Nobody really cares how many mistakes there were or how they got corrected.
I understand this might not be the case in all countries, but we need a stress free working environment which is flexible and allows correction of everything as needed.
Before using SQL-Ledger / LedgerSMB I used HansaWorld and back then there was no way to correct changes... only way was to make a text backup copy and then search from there where the mistake is and correct and then reimport the backup copy... with bigger database it toke like a day or more... and I had to do it couple of times. I had enough, that's why we changed. Nowadays it's much easier with HansaWorld as well because I can give changing rights to a specific user who can open old documents, change them and close them. Yes this person needs to know what he or she is doing and correct manually some other things as well, so everything balances but once You learn what needs to be done, it's doable.
I really hope this helps the developers and You will develope some userfriendly way to make changes into existing documents, so I can finally upgrade from 1.2 to a newer version.
All the Best,