Refunds and replacement item prices are calculated as though all of the items, including replacement items, were purchased together in a single order.

For example, if a customer purchases two cameras, one memory card and one travel bag, and decides to return one of the cameras, the refund is calculated as though one camera, one memory card and one travel bag were originally purchased. Should the customer want to exchange the memory card for a lens, the lens exchange is calculated as though one camera, one lens and one travel bag were originally purchased, resulting in an original and an exchange order.

Return requests are derived from an originating order. The returnRequests use the original purchase order to query the return request repository for related returns. Related return requests can be traced directly to the original purchase order through either the order or the replacement order properties. For information on extending returnRequest objects, refer to the Extending Return Request Objects section.

Up to three orders are used for calculating the correct refund amount and exchange item prices. A Return Adjusted Order and a Return Calculation Order are generated for all returns. A Promotions Evaluation Order is generated when performing an exchange. Collectively, these orders are known as the working order:

Returns and Exchanges Pipelines

The following atg/commerce/commercepipeline.xml purchase process pipelines are used by Commerce Service Center:

Pipeline Chain

Description

createReturnAdjustedOrder

This chain is executed by the CloneEditManager to create the Return Adjustment Order.

createReturnCalculationOrder

This chain is executed by the CloneEditManager to create the Return Calculation Order.

createPromotionEvaluationOrder

This chain is executed by the CloneEditManager to create the Promotion Evaluation Order.

For additional information on the CloneEditManager, refer to the Cloning Core Classes section.