a paid a/r reserved invoice can only be closed by a delivery. there is no other way around.
In this case, the only workaround i have been using for a long time is to create a return first, and the copy the paid a/r reserved invoice to delivery to take away the inventory created by return immediately.
I did this through DI so it can be done through an Atom transaction to make sure both transactions are successful before commit.
Frank