How do I perform a Refund


The purpose of this document is to describe the process of performing a refund.

Where are refunds processed?

Customer refunds are performed from the Order Review page. 

Step 1 - Locate the order for which you wish to processed a refund

First you need to locate the order.

  • One quick method is to use the "Find Order" widget on your home page.   (if you do not see this on your home page, click and drag the magnifier icon from the top right side of the page to a blank area on your screen.)  

  • Or by navigating directly to the Order Review page by clicking on Operations on the main menu then Order Management the click on "View all orders (in any stage)":

From that point you can enter your search criteria.  Make certain that the Date Range fields are broad enough to cover the date of your order.

Step 2 - Refund buttons

You'll find refund buttons in two places:

  • at the bottom of the review orders list after clicking the "display results below". 
  • along the left side of the invoice when viewing the order in the Order Slideshow.

The following is a screen shot of the order refund buttons in the Review Orders List:

The next screen shot shows the Refund Buttons in the Order Slideshow View:

Step 3 - Choosing Appropriate Refund Option

There are three refund button choices: 

  • complete refund
  • complete refund (then reject)
  • partial refund

The key difference between the two "complete refund" buttons is how the order will end up being treated in your Period Sales Report. Orders that are rejected, while remaining in the order list, are not included in the sales reporting. So, if the customer contacts you immediately after the placement of the order (before its packaged and shipped) you can use the Complete Refund (then reject) button to effectively void the sale.

Purging of Rejected orders

Rejected orders are kept in the order database for 1 year. This rule is regardless of the order retention rules. If you wish to keep a record of those orders longer you could either not reject the orders or you could perform an order export to archive those orders offline.

If, on the other hand, you have a scenario where the refund occurs at a later point in the order fulfillment, you may want to use the Complete Refund (or partial refund) option, so that the initial order appears in the period sales report along with the corresponding refund.

The Partial refund button will be the correct choice in situations where one of the items in the order has been cancelled, can't be fulfilled, etc. Or, where changes to shipping cost might be refunded due to arriving late, etc., but some part of the original sale remains from the order as it was originally placed.

Partial Refunds on Batched Orders Only

Please be aware that you may have to postpone the processing of a partial order until the following business day. If you attempt to perform a partial refund on the same day and before the batch processing has occurred, you will probably receive a transaction error from your credit card gateway. The time at which your batching occurs may be adjustable. Contact your credit card gateway to find out more about rescheduling your batch time.

Complete Refund & Complete (then reject)

A view of the complete refund and complete refund (then reject):

As you can see the Refund Quantity and Amount are pre-populated to complete refund the order.

You will also notice there is a section for merchant comments and additional options. The merchant comments section can be used to provide comments about the refund in case the customer calls back to check on the order.

Please note that "manual refund" means that the actual refund transaction was made at the gateway and you simply want to update the order here to reflect it.

Refund editor Options section

There are 4 potential options checkboxes in the refund editor:

Skip notification to customer of refundIf selected, the customer will not receive the refund email notification.
Halt shipment of refunded items on future auto ordersThis option appears if the order contains auto order item(s). If selected, refunded items will be removed from future auto orders.
This refund was processed externally. Record as a manual refundIf selected, the order will be updated to reflect the refund, but will not transmit to payment gateway as a refund. This setting is meant for cases where the refund was handled at the gateway end, so the order only need to reflect the refund details, not actually process a refund to the customer's credit card.
Suppress future StoreFront Communication emails.This option appears if the order processed through a storefront configured with the Storefront Communications. This option is useful when the merchant determines that the customer should not receive future marketing emails. Some merchant will prefer to remove these customers from future marketing as a non profitable customer.

Partial Refund

The following is a view of the Partial Refund Screen:

The only difference here is that the Refund Quantity and Amount are not pre-populated. This allows for full control over exactly what amount will be refunded.

Refund Reasons

This feature allows you to configure a reason list for user issued refunds. Follow the navigation below to configure a reason list.

Main Menu → Configuration → Order Management → Refund Reasons

Below is the default reason list.  You can add or remove additional reasons as needed.

Once you have configured your list of Refund Reasons, you will have a new option within the Order Refund screen allowing you to set the refund reason as shown below.

You can set a Refund Reason at the item level or the order Level. This allows you to have a refund reason for a single item on the order or the order as a whole.

Once you have issued a refund the order will update to provide these details at the order level as well.

The reason codes selected during the refund process will be visible in the Refund Report and flow down into the Data Warehouse (BigQuery) integration as well.  These reports features will allow you to summarize which reasons are generating the most refunds within your organization.

Batch Refunding

To process refunds in bulk, you can use the refund option in the 'Batch Order Operations' area:


Main Menu → Operations → ("Tools" section) Batch Order Operations

To process multiple orders, you'll paste the orderId's into the 'Order Ids' field, then scroll down and click the 'Fully' button:

Background processing

This is the preferred method of performing batch refunds, due to the fact that its performed as a background operation, so it won't run into timeout issues that can occur when processing refunds for multiple order from the review orders area.

PCI Compliance purging of full credit card number for orders over 60 days

Refunds on older orders

After 60 days UltraCart purges the credit card number down to the last four digits in accordance with PCI compliance policies. In order to perform refunds on these orders you will need to gather the credit card number from the customer and then update the order using the edit "Customer Information" button. You will enter the full CC# at the billing tab and saving.

Not All Gateways Support Refunding

Please note that not all integrated gateways support refund transactions from UltraCart.

If your gateway does not support refunding, you can still use the refund process making sure to select the option check box for "This Refund was processed externally.
Record as a manual refund."

You can verify if your gateway has integrated support for refunds by navigating to the transaction gateways tab of the payments
configuration screen. If the gateway has a "Y" in the Refund column it will process refunds directly.

Issues related to Rotating Gateways

  • If you have rotating gateways configured, they all must support refunding.  Otherwise the refund functionality will NOT be available.
  • Any orders that occurred prior to the configuration of the rotating gateways will require manual refunding, even if the single gateway supported it. (This
    issue self corrects for all new orders after the configuration of the rotating gateways.)

Refund Options

The Refund page will contain the following Options:

Field NameDescription
"Skip notification to customer of refund."Select this checkbox if you do not want UltraCart to send the customer a refund email notification.
"This refund was processed externally. Record as a manual refund."

Select this checkbox if you have performed the refund outside of Ultracart and only need to update the order to reflect the externally processed refund.

Special Note regarding manual refunds

A Manual refund will not generate a refund through the gateway. This setting is only to be used to update an order in which the refund was processed from the gateway side.


Question: How did the refund process for the order without the full CC details being on file?

"I recently processed a refund (the processor in this case was PayPal) for an order that was more than 60 days old and was not associated with an auto order, so the CC had already been purged down to the last 4 digits.

Answer:  "We will truncate the card information after 60 days, but that does not necessarily mean that the transaction can not be refunded. That is dependent upon the financial institution's policy. PayPal may have a longer refund window for a transaction than a traditional merchant account."

Question: I processed a refund at my payment gateway.  Now how do  update the UltraCart order to reflect the refund?

Answer:  (this applies to all refund options)

You will find a check box field in the options section of the refund editor.  It's located approximately halfway down the page and just below the "Merchant Comments" field with the label; "This refund was processed externally. Record as a manual refund."

Select that check box then submit the refund. Your order invoice will now reflect that the refund was processed externally. To check your work, view the transaction history for the order and you'll see a new transaction specifying the Manual Refund.

Question: We recently changed credit card processing gateways and now when I try to perform a refund the transaction fails, why?

Answer:  Only the gateway that the processed the original authorization will accept and process a subsequent refund. You will either have to process the refund through the original gateway or cut a check for the refund amount and mail it to the customer. You may be able to configure the old gateway in the rotating gateways as a backup gateway and then process the refund from UltraCart. If this scenario you will need to configure the new gateway with 100% of the traffic in the rotating gateways configuration so that all new orders are processed through the new gateway.

Question: I processed a refund for one or more items in an order, and I see the refunded items are still listed in the order, how can I remove them items so that they do not get processed for shipment?

Answer:  When you process the partial refund for the item(s) in the order, the quantity of the refunded item(s) are adjusted to zero, which effectively removes the refunded items from the fulfillment process. The items remain in the order record after the refund for 'audit trail' purposes, and cannot be removed entirely from the order record. If you edit the items in the order record, the refunded items will not display the "Remove item" and "remove Item and Continue Editing" buttons, for this reason:

Example view in the Item Editor of how refunded items will appear versus non refunded items

Related Documentation

Understanding Period Sales reports and refund reporting