Question about the best "Submittable" logic

So many elements of the ERPnext standard process like order creation and delivery are mired in the fact that they require 2 clicks to perform and that once submitted they can not be changed.

Isn’t it true that the only real difference between an item in a “draft” state and a “submitted” state is the fact that a certain type of follow on entry has been made which relies on it’s data to remain unchanged in order for proper accounting to remain accurate?

I understand some items you want to be “submittable” so that a user can not go in and changed the values, but that is not always the case.

If that is true, shouldn’t submittable items keep the ability to edit them UNTIL a follow on entry that relies on unchanging data be created?

For instance a Sales Order from Draft to Submitted. If no Delivery Note, or Sales Invoice has been created (or maybe created as a draft but not submitted yet) Why can’t that item have the ability to turn back into Draft?

Many times an order is taken and sent to the floor only to change in some way. Why not have the ability to change it if no other document has been submitted after it?

You can cancel and amend easily as long as there are no dependencies

Also

  1. explict is better than implicit
  2. many users use “submission” as a part of the workflow (i.e separate users have separate rights)