Process returns

Either agents or shoppers can begin the returns process. Only someone with the role containing the Agent Supervisor privilege has permissions to complete refund price adjustments and initiate refunds.

The Oracle Commerce system provides automatic refunds (handled directly for credit card refunds, for example) and manual refunds (handled by the merchant). Manual refunds are handled in cases where the order was placed using cash or a third-party gift card, for example.

Note: If the partial returns feature is enabled for your site and the amount to be credited is more than the amount to be debited, the manual refund method is required by the merchant as the system cannot handle this type of return automatically.

Shopper-initiated returns are available in the storefront by default. If the item is designated as returnable, the shopper accesses his/her order history and selects the item to be returned. The shopper enters the quantity and return reason, and submits the request. A confirmation is sent to the shopper displaying a unique return ID as well as a return email with instructions on how to send the package back. By following the instructions and returning the item to your store, a refund is issued.

The return request returns the values for the refund. The refund amount is displayed in the refund screen, and, if you have the correct privilege, you can adjust the amount. The refundBalance endpoint is triggered whenever the amount in the refund methods is adjusted manually, and returns suggestions for the refund amount. Note that it is recommended that you re-verify the suggested amount due to return exchange behaviors. In some cases, you may be unable to make changes to the suggested refund values. This may occur if you create multiple return requests for an order. If this is the case, you can add and make modifications using another refund type and complete the transaction.

Some base items may also include add-on items (additional items purchased to enhance or modify the base item for sale, for example, warranties and monogramming). Any regular item can also be an add-on product and can be purchased separately as well as an add-on item to any product as long as it is associated to the main product. While they do possess their own SKU, SKU description, and attributes, these add-on items cannot be purchased separately and are flagged as not for individual sale in the administration interface. Add-on items appear in the same product detail line as the base item. You can view details and edit add-ons dialogues prior to placing the order. Once the order has been placed, you can review the order details, included together in the product line. You cannot return an add-on item separate from the main product.

Once the item or items are received in the warehouse and the returns are acknowledged by Oracle Commerce, the stock update for returned items is dependent on the disposition reason. On the Return Request – Acknowledge Receipts page, you can add the disposition reason for return items. This action can update the receipt of items in the warehouse.

Based on the condition of the items received, the receipt is marked against each return item and the inventory stock is updated. If the condition of the item received is good, the return reason can be marked as Accepted, meaning items received are accepted by the merchant, are in good condition, and can be added back into the inventory stock.

If the return reason is marked as Rejected for a particular item, the item is not added back into stock. Disposition reasons such as Rejected With Refund and Rejected Without Refund do not result in an inventory update or a return of the item received back into the warehouse inventory.

For returns that involve a mix of currency types, allowMixOfCurrencies must be set to true at order level while creating an order.

To add disposition reasons, use the createReason endpoint in the Admin API. For more information, see the REST API Admin documentation.

Processing returns as an agent involves the following phases:

  • Obtaining a role with the Agent Supervisor privilege to perform any refund price adjustments or to initiate a return.
  • Creating the return request for the item or items to be returned.
  • Accepting the items received from the customer and approving the Return Request.
  • Processing the refund to the customer from either single or multiple payments mode. For more information, see Understand single and multiple payments.

A note about non-returnable items

If an item has been designated as non-returnable (for example, when there are no shippable goods or a service), neither the shopper nor the agent can create a return request for that item. Any other items contained in the same order that are not marked as non-returnable are eligible for a return request. For example, if an order contains only items that are non-shippable (where the Shippable flag has been set to false) or assetable (where the Assetable flag has been set to true to indicate that the product should be tracked as an asset) none of the item in the order can be returned. If the order contains both non-shippable and shippable items, the shippable items can be returned.

Note: If an item, which is configurable and returnable, has a child item that has a non-returnable service (meaning that it is non-shippable or assetable), neither the parent or the child can be returned.

To process and submit the initial return request:

  1. Complete an order search, and click the appropriate order number link to open the Order Details page.

    To continue with a return, the order must be in Fulfilled status. The customer may have already received the order, but this is not a requirement to process and submit the initial return request.

    If you search by status, the following table shows the choices:

    Status Description
    Being Processed An intermediate system status used prior to moving to another status.
    Fulfilled The order is complete, shipped, and delivered to the customer.
    Pending Removal An intermediate system status used prior to moving to another status.
    Removed The order has been canceled and not shipped to the customer.
    Submitted to Fulfillment The order has been submitted to the warehouse staff to begin fulfillment. If the order is within the remorse period, the order can be amended.
  2. On the Order Details page, you can click the Return History link to review any past returns associated with this order. The Return History shows the following:
    • Any previous Return Request numbers. If your sites use an external returns validation/tracking system, a return merchandise authorization (RMA) number and possible return tracking information may also be displayed.
    • When each request was made.
    • The number of items involved.
    • The refund amount, status, and actions associated with the return.
  3. In the Order Items section, click Return Items to create a return request for the order. The Return Items button is displayed even if there are no items available to be returned. In this case, when you click the button, a message is displayed informing you that there are no items available to be returned.

    When a shopper is returning a product whose quantity is made up of externally-priced (for example, a shopper bidding on an item) and additional standard list priced items, the standard list priced items are returned first. If additional items are selected for return beyond the number of standard list priced items, the externally-priced items would be returned.

    As an example, a shopper has purchased a product. The first two of the quantity have been externally priced at $50.00, and the shopper has purchased an additional item at the list price of $75.00. The shopper is now returning two and keeping one. The first item would be returned at $75.00 and the second item would be returned at $50.00. The shopper would still have one item priced at $50.00.

    For returns that result in orders with a negative refund, see Create return requests for negative refunds.

  4. Click the info icon icon to review the quantity shipped, the quantity previously returned, and the quantity of items available for return.
  5. In the item Quantity field, type the quantity of items the customer wants to return. The quantity must be equal to or less than the number of items available for return.

    Note: If the order was sent to multiple addresses, select the item and address associated with the item to be returned. For more information, see Understand shipping.

  6. In the Return Reason column, select a reason from the menu.
  7. Enter the quantity and reason for return for any other items in this order that are available for return.
  8. Click Calculate to show amount of estimated refund for the return request.

    Tax is included in the item price, so a refund of the item price automatically refunds the corresponding tax amount. You can modify the tax amount on the Refund page by clicking the Edit icon next to the tax amount. Modification of the tax amount does not impact the refund amount.

  9. Once you complete the processing of the return items, click Submit. The return request has been created.

    The customer should be advised as to how to package and ship the items to the appropriate location. When the items are returned to your ship-to location, the refund can be processed.

Once the customer has returned the item or items to the appropriate ship-to location, you can process the return to reimburse the customer.

To accept the items and process the refund:

  1. Click Returns Processing at the top of the page and complete a return request search.

    Return request search criteria you can use include the following:

    • Return request number.
    • Order number.
    • Site.
    • Created in last days/weeks/months.
    • RMA number; a return merchandise authorization number available if your sites use an external returns validation/tracking system.
    • Email.
    • Status.
    • Account; available if your sites have implemented account-based commerce.
  2. Once you locate the Return Request, you can either review the entire order and its history by clicking the Order number link, or click Receive in the Actions column.
  3. If you reviewed the order, click Receive for the appropriate item in the Return History section.
  4. Once you click Receive, the Acknowledge Receipts page appears.
  5. From the menus, select the quantities to receive and the disposition of the return request. The disposition can be one of the following:
    • Accepted with refund.
    • Rejected with refund.
    • Rejected without refund.
  6. Add any comments to the field.
  7. Click Save to save the quantity and other information.
  8. Click Refund. The Return Request – Refund page appears.
  9. On the Return Request – Refund page, do the following:
    • When completing a return, you can refund the amount due to any of the credit/debit cards or gift cards used for the order. The order amount can be distributed in any way you find necessary. For example, if a shopper paid for the order using two gift cards and a credit card, and the refund was $30, you could put the full amount on a single card or put $10 on each of the three cards.

      For more information on refunding from the multiple payments mode, see Understand single and multiple payments.

    • If no changes to the system-generated refund amounts are made, click Initiate Refund.

      If the Initiate Refund button is replaced by the Mark Manual Refund button, see Mark return requests for manual refunds.

    • If you make changes to any of the amounts, click Apply to save the changes, and then click Initiate Refund.

    Any agent can edit and save the refund values. If the values are edited, only an Agent Supervisor can process the refund.

    In an order using the PayPal option, the Refund Mode section on the Return Request page shows the refund is made through PayPal along with the amount to be refunded.

The status for this order under Return History changes to Complete.

Mark return requests for manual refunds

You may encounter situations where the system does not have the information required to initiate a refund through the application. In this case, on the Return Request -- Refund page, the Initiate Refund button is replaced by the Mark Manual Refund button.

When you click this button, the Return Request is moved to the Manual Refund status for further actions outside of the Agent Console. Other means may then be required to process the refund, for example, processing the refund through the payment gateway console or having a check written for the amount.

Create return requests for negative refunds

You may encounter cases involving order level discount adjustments, buy-one-get-one (BOGO) adjustments, or gift with purchase (GWP) adjustments where the refund calculation is shown as a negative refund value. Oracle Commerce allows for the creation and processing of a return request. The amount of the refund is shown as $0 with the negative amount associated with the order in the event of any future returns.

For example, a shopper purchases several items totaling $104.00 and uses the promotion code SAVE20 to save 20% on an order of $100 or more. After the order has been fulfilled, if the shopper decides to return one of the items totaling $5, the order total would fall below the $100 required to use the promotion code. The 20% discount is no longer valid, and the result is a negative value for the refund.

To process a negative refund:

  1. Create the return request as you normally would. The Promotion Summary shows that the promotion code has been removed.
  2. Once the item or items have been received, acknowledge the receipt. With the request successfully received, a note is displayed informing you that the Other Adjustment has been updated from $0 to the negative amount to allow for processing of the refund.
  3. Apply the refund and mark it for manual refund.
  4. Mark the refund complete, and include any comments associated with the refund.

    The refund in this case is $0.00.

Complete returns in multiple payments mode

Once an order has been fulfilled, if it was completed in multiple payments mode, you can adjust the amounts originally assigned to each payment type.

To complete a return in multiple payments mode:

  1. Search for and display the order.
  2. In the Order Items section, click Return Items.
  3. Identify those items and/or quantities to be returned.
  4. Click Refund. A return request is generated.

    On the Return Request Refund page, under the Return Items section, the list of payments used for this order is displayed along with, by default, the amounts assigned to each payment group and the total amount to be refunded.

  5. You can edit these refund amounts as long as the total refund amount does not exceed the amount authorized.
  6. Click Initiate Refund. The refund is made to the cards or invoices used that equal the refund amount.

Returned fulfill orders

You can ensure that orders are updated correctly using the updateOrder endpoint so that returns are initiated properly.

To ensure that fulfilled orders can be returned properly:
  1. Obtain the order details using the getOrder Admin endpoint. For example:
    GET  /ccadmin/v1/orders/{id}
  2. Change the order's state to NO_PENDING_ACTION.
  3. For each object in the shipping groups, change the state to NO_PENDING_ACTION and change the ShippingGroupCommerceItemRelationship state to DELIVERED.
  4. For each object in the payment groups, perform the following. Note that you do not need to perform these steps if the payment group is already in the SETTLED state:
    1. Add a debitStatus element with the required details.
    2. Add the amountDebited element and make the value equal to the amount settled.
    3. Change the state of each object to SETTLED.
  5. Update the order using the updateOrder Admin endpoint. For example:
    PUT  /ccadmin/v1/orders/{id}

To return partially fulfilled orders:

  1. Obtain the order details using the getOrder Admin endpoint. For example:
    GET  /ccadmin/v1/orders/{id}
  2. Change the ShippingGroupCommerceItemRelationship state to DELIVERED.
  3. If the payment is settled for a payment group, the payment should contain the debitStatus, amountDebited and its status should be SETTLED to handle refunds.

The refund amount is refunded to the payment group only if the sum of the settled amount matches the refund amount. If the sum does not match the refund amount, the return request will be marked for a manual refund.

Manually refund orders:

Note that you will have to manually modify the order to create refunds in the following cases, as payment groups are part of the order and the amount settled is not included when calculating the overall settled amount:
  • If the amount debited at the payment group level is zero.
  • If one of the following payment methods have been used when creating an order:
    • PayULatm
    • Cash
    • Invoice
    • Chase physical gift card
  • If the orders state is in NO_PENDING_ACTION by the payment group is still in the authorized state.