Setup a separate Non-Stock item for partial invoices. Or use the Payment Entry format to make it look like it is an Invoice. But cut the actual invoice only after payments above a specific threshold has been received.
Flush out the Stocks using a delivery note.
None of this is elegant, but it’s difficult for any structured data system to accommodate such non-mainstream requirements.
Hack it and find a workaround that works for you is my suggestion.
I would still think that the Invoice is best raised once when you have received payment beyond a particular threshold. And Payment Request. Or Payment entry is the way to go. Else, you will have trouble with housekeeping on ERPNext.
But then there is the regulatory compliance angle which usually ends up dictating how you want to handle this.
Hope this helps.