Returns

The Admin App contains a panel to manage returns. An order may have multiple returns (i.e. The products within the order may be returned at different times). The return must contain a Return Merchandise Authorization code (RMA) and may contain text explaining the reason for the return. Each return contains a number of returned products whose quantity cannot exceed the total number of products within the order. The return object saved in the database has a number of custom attributes that may be used to save any proprietary information such as the type or state of the return.

Each entry in the list of returned products contains information regarding the number of products returned, the unit refund price for a single product and the number of refund points for a single product. The unit refund price default value is set when the order is created by the manageReturnValues(OrderIf order) method in the OrderIntegrationMgr . The logic for setting the price may be modified by editing this method. The default value for the points is set by the points promotion module when the points are allocated. Note that the initial unit price for refunds (set when the order is created) needs to be modified by any promotion module that applies a discount so that the correct value is saved in the database.

There is a method called setRefundValues() in BaseOrderTotalModule.java which you can find in the custom/appn/src/com/konakart/bl/modules/ordertotal directory. It has been implemented for some of the promotion modules (see JavaDoc for updated list) in order to reduce the product refund amount. The source code of this calculation is available because this is a tricky area especially when multiple promotions are active, so it's possible that you may want to tweak the calculations to match your desired result. Currently it does not modify the refund reward point values.