Void is used to reverse the effects of an existing item on the current order. The original item + voided item should result in a net 0 sale qty, amount, stock level balance change.
Void assumes that the original stock item was not consumed, so the effect is effectively reversed.
Refund is used to create a reversed version of a sale and credit the customer back the money for that item.
Refunding assumes the original purchase is not (or not able) to be returned into stock. Use CorrectionBaseTypes.Return if stock effects need to be reversed.
Return is used to create a reversed version of a sale and credit the customer back the money for that item.
Returns assume that the original purchase is returned back into stock. Use CorrectionBaseTypes.Refund if stock effects need to be ignored.