Skip to content
Configuration

Import from another plugin

The Import tab copies your old requests from another WooCommerce returns plugin into WPReturns. Each request keeps its order, items, status, dates, reason and messages. After the switch your whole returns history sits in one place.

Available in: Free and Pro

DevDiggers Plugins > WPReturns > Configuration > Import

The Import tab with four plugin cards ready to import and the Also supported list

WPReturns looks for data from every supported plugin each time you open the tab. It reads the other plugin’s tables and order meta directly, while that plugin is active or after you deactivate it.

The data has to still be in the database. A plugin that deletes its data on uninstall leaves nothing to import.

The three notes at the top of the tab are rules the importer follows on every run.

PromiseWhat it means
Read-onlyThe other plugin’s data is never changed or deleted. You can keep using it until you switch it off.
Never twiceEach imported request remembers where it came from. Run the import as often as you like and requests already in WPReturns are skipped.
No emailsCustomers get no email about old requests, and no request hooks or webhooks fire.
PluginMade byRequest types
Return Refund and Exchange for WooCommerce (free and Pro)WP SwingsReturns
Flexible Refund and Return Order (free and Pro, also its 1.x order meta)WP DeskReturns and warranty claims
YITH Advanced Refund System (free and Premium)YITHReturns
Germanized for WooCommerce (free and Pro)vendideroEU withdrawals
Shiptastic for WooCommercevendideroReturns
WC Cancel OrderWpExpertsCancellations
Cancel Order Request for WooCommerce (free and Pro)PI Web SolutionCancellations
Order Cancellation & ReturnsYoOhw StudioCancellations and returns
Withdrawal Button – Easy ReturnEasy ReturnEU withdrawals
BuddyPilot WithdrawalBuddyPilotEU withdrawals

Plugins with data get a card. The others are listed under Also supported. When none has data, the tab says “No other returns plugin found”.

The row at the top adds up every plugin with data: Plugins with data, Requests found and Imported to WPReturns.

Each card shows:

  • The plugin’s name and maker, and whether it is Active or Deactivated on your site.
  • A badge: Ready to import or Partly imported before, Imported just now after a run and Imported with the date later.
  • The request types the plugin holds.
  • How many requests were found and how many are already imported, with a progress bar. WP Swings counts each request, even when one order holds several.
  • Two buttons: Check first and Import N requests, which reads Import new requests after a full run.
  1. Open the Import tab and find the card for your old plugin.

  2. Select Check first. WPReturns reads every request without writing anything. It says how many are ready and how many it would skip: “2 ready to import, 0 already imported or without an order.”

    The WP Swings card with the Check first button marked

    The WP Swings card after Check first with 2 ready to import and 0 already imported or without an order

  3. Select Import N requests. The card counts up as each batch of 25 requests is copied. Keep the tab open until the badge reads Imported just now and the card says how many were imported and skipped.

    The WP Swings card after the import with Imported just now and 2 imported 0 skipped

  4. Open DevDiggers Plugins > WPReturns > Requests to see the imported requests next to new ones.

If the import stops, for example because the page was closed, run it again. Requests already imported are skipped and it carries on with the rest. Only one import per plugin runs at a time: a second browser tab gets the message “This import is already running in another tab”.

Old dataIn WPReturns
Order and itemsThe same order and order items. Quantities are capped at what the order line holds, and the value is the item’s paid price times the quantity.
Request typeThe type the old plugin recorded: return, cancellation, EU withdrawal or warranty claim.
StatusThe matching WPReturns status, such as Requested, Approved, Rejected or Completed.
ReasonThe WPReturns reason with the same name. A reason with no match becomes Other, and the old wording is kept in the customer’s note as “Reason: …”. Reasons given per item are kept per item.
Customer note and messagesThe note becomes the first message. Messages from the customer and the shop follow in order. The shop’s private notes stay private.
PhotosWP Swings and WP Desk photos are listed by name in the customer’s note under “Photos sent with the request”. WP Swings photos are matched to the request by date.
DatesThe request date is kept, and closed requests keep the date they were decided.
RefundsCompleted requests show the amount the old plugin refunded, or the order’s refunded amount up to the items’ value. When two imported requests share one order, its refunds are split between them and never counted twice.

An imported WP Swings request with the matched reason the photo name in the note and the old messages

Every imported request also gets a line in its history: “Imported from [plugin] by [maker] (order #[number])”. Its source reads import.

The History card with Imported from Return Refund and Exchange for WooCommerce by WP Swings (order #1298)

An EU withdrawal statement that names no order WPReturns can find is kept in the withdrawals log. It keeps the name, order number, email and date the customer gave, and a second run never adds it twice. Requests on trashed orders, and requests whose items no longer exist on the order, are skipped.

The Next steps box appears once something is imported: “Your history is in WPReturns. Two things finish the move.”

  1. Handle open requests in WPReturns. The step counts imported requests that are still open and links to them. When all are closed it says new requests now come in through WPReturns.

  2. Switch off the old plugin. Customers then see only one returns form, and your imported requests stay.

    Orders the old plugin gave its own status, such as “Return Requested”, stay visible in WooCommerce under that status after the plugin is gone. Once the plugin is off, this step reads “Done.”

The Next steps box with 2 imported requests still open and Switch off the old plugin done

With every card imported, the tab looks like this.

The Import tab with all four cards imported and the Next steps box