The user wants to be able at times to - instead of re-typing the entire invoice, query an existing invoice, make changes, save it and give it a new invoice number. Is that possible? If so, how?
Accounting DB is not my thing but I don't think this is quite legal the way you have described it.
Having said that you could build a search button to find the previous invoice and then transfer the fields across as default values to a new record. Except the date, the autonumber and perhaps the client.