There are some issues with the way we're currently handling refunds in Curling I/O.
* There's no explicit discount refunding that can tie a partial refund to a specific order item.
* Allowing for ad hoc amount entry when refunding order items is prone to error.
Instead, we need to split the refund into two paths: 1) Refunding one or more order items (or all), 2) Applying a restro-active discount as a partial refund.
The retroactive discount refund will require the selection of one and only one order item, and allow for a fixed amount to be entered.
The standard refund will require the selection of one or more order items (or a checkbox to select all). You will not be able to enter an ad hoc amount. The system will simply tally up the totals, including tax, for the items selected.
This will solve the bookkeeping problem where we have these ad hoc refunds for an order that aren't associated with any specific order items.