The Close Invoice is really very good. It makes it easy to ensure that you are 100% complete with that invoice.
However, I would like to make one feature request. Before being allowed to close the invoice, the status of the invoice should be paid in full. If the invoice is still unpaid, it is by definition not closed.
That is not necessarily true. You might want to close an invoice because the customer went out of business, but not yet be able to write off the bad debt due to local regulations. Meanwhile, it would be pointless to continue collection efforts.
True, but you are anticipating a scenario that few if any people will experience. 99.99% of the time you will want to prevent an invoice being closed if the status is unpaid. Why focus on a scenario that is not only extremely unlikely to happen, but also prevents a best practice workflow that is suitable for 99.99% of the time.
In all the years I have worked in bussines, I have never had the scenario you envisage. In your scenario, you could keep the invoice open and just add a note relating to that invoice. There is no need to close that invoice.
For normal use in, it is far better to prevent an invoice being closed if the status is unpaid.
Options are good. Mandatory prohibitions, in my opinion, are undesirable unless they prevent violations of fundamental principles of accounting.