I think this issue (and similar) has been discussed a few times:
Reading through the various posts it seems like the main issue is amending a document changes the number, so links become an issue, and referencing a job to a client becomes an issue.
What if ERPNext worked like this for amending a document:
there is a dedicated field for document versions, that increments, as well as the naming series
When you cancel and amend a document, ERPNExt increments that field AND adds that number to the OLD DOCUMENT.
the new amended document retains the original naming series number and links should point to it automatically.
Example:
An original document is created, SO-1234. The document automatically also has a new “version” field with the value 1 (hidden if preferred, but it should be on print formats).
Other documents are created that reference SO-1234.
The document is then cancelled and amended. The old document is changed to SO-1234-1. The new document is SO-1234, and in the version field, 2. Links continue to reference SO-1234.
I’m sure there are some issues with this approach, but getting a conversation going is always good.