Skip to main content

How to bulk refund Shopify orders by line item

Refund specific line items on existing orders in bulk using a spreadsheet import.

Updated over a week ago

How to bulk refund Shopify orders by line item

Refund specific line items on existing orders in bulk using a spreadsheet import.

Goal: Refund one or more line items on existing Shopify orders in bulk, with control over restock behavior and customer notifications.

Prerequisites:

  • You have Altera installed on your Shopify store

  • The orders you want to refund already exist in your store

  • You know the order names (e.g., #1001) or IDs of the orders to refund

Step 1 - Export your orders

Export the orders you want to refund so you have the correct order names and line item details. Go to Apps > Altera > Export and select Orders. Use filters to narrow down to the specific orders.

Step 2 - Prepare your refund spreadsheet

Create a spreadsheet with the following columns. Each refund line item gets its own row.

Name

Command

Line: Type

Line: Variant SKU

Line: Quantity

Refund: ID

Refund: Restock

Refund: Restock Type

Refund: Note

#1001

UPDATE

Refund Line

SKU-001

1

1

TRUE

return

Customer return

#1001

UPDATE

Refund Line

SKU-002

2

1

TRUE

return

Customer return

#1002

UPDATE

Refund Line

SKU-003

1

1

FALSE

Damaged item

Key columns:

  • Name is the order number shown in your Shopify admin. You can also use the ID column with the numeric Shopify order ID.

  • Command must be UPDATE to modify an existing order.

  • Line: Type must be Refund Line so the row is treated as a refund.

  • Line: Variant SKU tells the app which product to refund. You can also use Line: Variant ID if you have the Shopify variant ID.

  • Line: Quantity is how many units to refund. Use a positive number.

  • Refund: ID ties multiple rows into one refund. Give every row that should be part of the same refund the same number (e.g., 1). Use a different number to create a separate refund on the same order.

  • Refund: Restock set to TRUE to add units back to inventory, FALSE to leave inventory unchanged.

  • Refund: Restock Type use return for items that were already shipped, or cancel for items that were never fulfilled.

Step 3 - Add optional columns

You can include these additional columns:

  • Refund: Note to record why the refund was issued.

  • Refund: Send Receipt set to TRUE if you want the customer to receive an email about the refund.

  • Refund: Restock Location to choose which inventory location the returned units go to.

Step 4 - Import the file

Go to Apps > Altera > Import, upload your file, and confirm the import. The sheet name or file name should contain "Orders".

Outcome

Each order listed in the file is partially refunded for the specified line items. You can verify the refunds in the Shopify admin under Orders by opening each order and checking the refund history.

Example

To refund 1 unit of SKU-001 and 2 units of SKU-002 from order #1001 with restocking:

Name

Command

Line: Type

Line: Variant SKU

Line: Quantity

Refund: ID

Refund: Restock

Refund: Restock Type

#1001

UPDATE

Refund Line

SKU-001

1

1

TRUE

return

#1001

UPDATE

Refund Line

SKU-002

2

1

TRUE

return

Because both rows have Refund: ID set to 1, they are processed together as a single refund on that order.

Did this answer your question?