Actually, when voiding an invoice, it generates the same document with negative amounts.
Here, in France (and i think it should the same in other countries), it would be better to generate a credit memo (with same amounts as the original invoice).
So, I've made a little enhancement (on my 361, but should also work on idempiere).
1 - a new column on C_DocType : C_DocTypeReverse_ID (table => C_DocType) for selecting the document to generate when reversing a document
In MInvoice.reverseCorrectIt(), made some little changes in order to generates the selected document if this new field is filled.
Note that current behaviour is not altered as this new field remains empty.
Should it be considered as a useful requirement ?
I could upload a patch and migration script.