In product intense environments it happens quite often that things are not delivered in full, things are over delivered and things are over invoiced.
The matching functionality of iDempiere is designed to handle these situations (however, it has its fair share of bugs).
The below error message is to prevent more serious bugs, but it makes the system very hard to work with for the end user. This should be handled automatically by the system.
I looked into this and the error message is a safeguard against matching information becoming corrupt which is good.
I've made a solution to this particular problem and will try to create a working pull request for it.