I’m not a core developer, but I can give you some hints here!
For services, you can manage the whole process trought Sales Order, and just automate the issue of the invoices against payment terms.
If you are dealing with Renting Services, you may will be interested into Rent items in erpnext - #9 by max_morais_dmm
The biggest problem that come in my mind, is for partial billing for Physical Items.
Because, you cannot invoice the same physical item twice, so an intermediary item, to represent the “Transfer of value of the asset” for the customer, will be needed, and or you make an stock out at the first invoice, or at the last one.