in the above line of thought, the current implementation is only a Proforma invoice.
Actually by adding a new doctype created from the current Invoice doctype we should have the system waterproof.
Current Invoice doctype = Proforma invoice.
When proforma invoice is submitted, can create final invoice that goes out into the world. It has no draft stage, after creation and saving already submitted.
Which naming series to use is already standard ERPNext technique.