Skip to content

Migrate To Return Processing

Return Processing aligns Corso with Shopify’s recommended way of handling returns. Instead of creating separate orders for exchanges, replacements, and store credits, Corso uses Shopify’s native Return Processing APIs to handle everything as a single operation directly on the original order.

Because returns are now processed natively through Shopify, you’ll no longer see alerts about the original order not being refunded or the customer not being made whole — Shopify understands the full return lifecycle and keeps the order status accurate.

Migrating to Return Processing is not required today, but may become required in the future as Shopify continues to evolve its returns platform. We recommend adopting it when you’re ready to take advantage of the benefits below.

This guide covers what changes when you enable Return Processing, what stays the same, and what to verify before turning it on.


When Return Processing is enabled, both exchanges and replacement orders are added as new line items directly on the customer’s original order. No separate orders are created.

Here is a summary of how the return flow changes:

AreaBeforeAfter
ExchangesA new separate order is createdAdded to the original order
Replacement OrdersA new separate order is createdAdded to the original order
RefundsIssued as a separate Shopify refundIssued as part of the return process
Store CreditIssued as a gift card or gift card orderIssued as Shopify Customer Account Store Credit
Financial CalculationsCalculated by CorsoCalculated by Shopify (Corso as fallback)
RestockRestocked based on configured automation ruleRestocked based on configured automation rule
Partially Fulfilled OrdersSupportedNot supported

1. Verify Third-Party Fulfillment Compatibility

Section titled “1. Verify Third-Party Fulfillment Compatibility”

Because exchanges and replacements are now added to the original order, your fulfillment systems will receive new fulfillment requests on orders that were previously fulfilled and closed.

Your fulfillment provider (3PL), warehouse management system, or any custom fulfillment workflow must be able to handle an existing, previously fulfilled order being re-opened with new items to fulfill.

If your fulfillment system treats fulfilled orders as completed or archived and does not pick up new line items on those orders, exchange and replacement items will not be fulfilled.

Contact your fulfillment provider to confirm this is supported before enabling.

2. Enable Shopify Customer Account Store Credit

Section titled “2. Enable Shopify Customer Account Store Credit”

Return Processing uses Shopify’s native Customer Account Store Credit for all store credit resolutions. This replaces the previous methods of issuing gift cards via the API or creating gift card orders.

To use store credit with Return Processing:

  1. In your Shopify admin, go to Settings > Customer accounts.
  2. Ensure you are using New Customer Accounts (not Classic/Legacy accounts). Store Credit is not available with Classic customer accounts.
  3. Enable the Store Credit toggle (Allow customers to see and spend their credit) in your customer account settings.

Return Processing requires that orders are fully fulfilled before a return can be created. If you currently allow claims on partially fulfilled orders, that option will be automatically disabled when Return Processing is turned on.

Customers will only be able to submit returns on orders where all items have been fulfilled.


The customer-facing return experience remains largely the same. Customers still:

  • Look up their order and select items to return
  • Choose a resolution (refund, exchange, store credit, or replacement)
  • See a summary of their return before submitting

The financial summary your customers see during the return process is now calculated by Shopify, which ensures tax and refund amounts are accurate and consistent with what Shopify will process.

When you finalize a return claim, Corso now processes everything in a single step:

  • Returned items are processed with dispositions on the original order, enabling advanced restock workflows (e.g., marking items as damaged).
  • Exchanges and replacements are added as new line items on the original order. The customer’s original order is updated in Shopify — no separate order is created.
  • Refunds are issued directly through the return process on the original order’s payment transactions.
  • Store credit is issued to the customer’s Shopify Customer Account Store Credit balance (with support for bonus incentive amounts).

If the customer owes an additional amount (e.g., an exchange upsell), Corso will match the outstanding balance against the captured payment and mark the order as paid, then release any on-hold fulfillment orders.

You can still edit claim line items (change resolutions, deny items, etc.) before finalizing. Behind the scenes, Corso will update the return on Shopify to reflect your changes. Due to limitations in Shopify’s API, this is done by cancelling the existing return and creating a new one with the updated information.

Before processing, Corso verifies that the return on Shopify matches the expected claim state. If anything is out of sync, Corso will automatically correct it before proceeding.


After a return is finalized with exchanges or replacements, the original order in Shopify will show:

  • The returned items marked as returned
  • New line items for exchange and replacement products
  • New fulfillment requests for the exchange/replacement items
  • A return record with the full financial transfer details

You will no longer see separate exchange or replacement orders in your Shopify admin for return claims.

All fees (handling fees, return shipping charges, and exchange shipping charges) are consolidated into a single return shipping fee on the Shopify return. This is because Shopify’s Return API only supports a single fee field. Corso combines all applicable fees and passes them as one amount.

  • Before: You would see “Replacement order created on Shopify” with a separate order number.
  • After: You will see “Original order modified on Shopify” referencing the original order number.

When Return Processing is enabled, some settings in your Returns configuration will change:

  • Allow Claims on Partially Fulfilled Orders — Automatically disabled. Shopify requires orders to be fully fulfilled for return processing.
  • Store Credit Type — Automatically set to Customer Account Store Credit.

Accurate Order Status

No more misleading alerts about orders not being refunded or customers not being made whole. Shopify tracks the full return lifecycle natively.

No Duplicate Orders

Exchanges and replacements live on the original order — no more cluttered order lists or confusion from separate exchange orders.

Shopify-Native Financials

Tax calculations, refund amounts, and payment reconciliation are handled by Shopify, ensuring accuracy and consistency.

Simpler Store Credit

Store credit goes directly to the customer’s Shopify account balance — no gift cards or gift card orders to manage.


Will my existing open claims be affected?

No. Enabling Return Processing only affects new claims created after the feature is turned on. Any claims already in progress will continue to be processed using the previous method.

Do warranty claims change?

No. Warranty claims are completely unaffected. They will continue to use the existing processing flow regardless of this setting.

What if an exchange or replacement fails to fulfill?

Since exchange and replacement items are added to the original order, they follow the same fulfillment flow as any other order line item. Check your fulfillment provider’s dashboard for the original order to see the new items.

Can I turn this off after enabling it?

Contact the Corso team to discuss disabling Return Processing. Because this changes how returns are structured on Shopify, switching back requires coordination to ensure in-progress claims are handled correctly.

What happens if my fulfillment system doesn’t support re-opened orders?

Exchange and replacement items will not be picked up for fulfillment. You would need to manually fulfill those items or work with your fulfillment provider to add support before enabling this feature.

Why can’t I allow returns on partially fulfilled orders?

This is a limitation of Shopify’s Return API. Shopify requires all items on an order to be fulfilled before a return can be created against it.


If you have questions about migrating to Return Processing or need help verifying your setup, reach out to us at [email protected].