From @rmehta post, https://discuss.frappe.io/t/discussion-immutable-ledger/31153 I think this was where the standpoint was wrong:
In most accounting systems, the ledger is immutable. If a cancellation or adjustment has to be made, it has to be as a new entry that reverses or changes the impact of a previous entry.
Here are some problems related to this:
…
This immutable is not about system but about accounting principles.
The accounting generally rules that documents (SO/PO/etc) can be cancelled, but transactions can’t (JE/SE, even the ones that are resulting from creating a document).
The analogy from paper-based system: you can change the Sales Order document times and times, but you can’t change the value of the sales (which eventually will be recorded (JE) in the book (GL)). Once it is recorded, the last SO used as reference to the JE entry must be “sealed”. When it should be changed, the JE (the value of the sales) must be reversed and reentered, and both document (SOs) must be kept.
So I tend to agree with @Joseph_Marie_Alba1 on this immutable things ![]()
Side note: even blockchain principle is using this terms of ledger and transactions for immutability.