When an e-commerce order on Shopify is refunded fully or partially, a Refund object on Shopify is created and if configured, a webhook endpoint will be triggered in Skubana and we will automatically create a RMA for the refunded items sent by Shopify.

⚠️ NOTE: This webhook will only create an RMA for orders in Shipped status in Skubana. This webhook works for both Shopify e-commerce and POS orders. For information on how the POS refund webhook will work, see this article.

Shopify Webhook Configuration

⚠️ WARNING: You must first set up both of the Order Payment and Order Creation webhooks. The instructions are listed below as well as in this article link. This is to prevent orders from being brought into Skubana slowly due to having this webhook only.

  • To set up this webhook in Shopify, you first need to go to the Shopify store page and go to Settings. From the settings page, select Notifications
  • Scroll all the way down to the last section which is Webhooks and click on the Create webhook button

Add the Order Payment webhook

Add the Order Creation webhook

Add the Refund Create webhook

  • Click Save webhook when complete and you will see the new entry for Webhooks as well as the signature value that is needed to enter in Skubana. Copy the signature value

Skubana Webhooks Configuration

  1. In Skubana, navigate to the Settings Module, click Sales Channels, select the Shopify sales channel and click the Edit button. From here go to the Connection tab and click Edit Integration.
  2. Select the Enable Webhooks button and paste the signature value into Skubana

Here you can also choose the new option “Restock items from Refund based on Shopify’s restock value”, which will allow Shopify and Skubana to communicate if inventory will be restocked into Skubana.

  • If this setting is enabled AND the return in Shopify has a restock value of true, Skubana will set the action on the RMA as Reinsert.
  • If this setting is enabled AND the return in Shopify has a restock value of false, Skubana will set the action on the RMA as Write Off
  • If this setting is disabled, Skubana ignores the restock value from Shopify and the RMA action will have to be manually selected

To save click “Launch Shopify Authorization” button

Skubana RMA Creation Details (specific to e-commerce orders)

When a refund is created in Shopify, the webhook will be hit and we will create an RMA for all the items involved. This works across splits and bundle breakdowns. The RMA in Skubana will be automatically created with the below default information from Shopify.

If an RMA is created in this flow, it will NOT automatically be set to a Received status. You can mark the RMA as received whenever you see fit.

  • RMA Number = RMA-REFUND-[order-number]
  • RMA Notes = Created from Shopify Refund Webhook: [refund-reason-from-shopify]
  • Tracking Number = Refunded on Channel
  • RMA Type = Refund
  • RMA Reason = Other
  • Loss to Seller = $0.00
  • RMA Item Action = IF the Restock items from Refund based on Shopify's restock value checkbox is enabled AND Shopify says to restock, then this value will be "Reinsert". Otherwise, it will be set to "Write Off"
  • The Returns Location can actually be configured using Shopify Location Warehouse Mappings. If we have a mapping for the Location ID we receive from the refund, then we will choose that warehouse’s returns location. If there are multiple warehouses pointing to this location, then we will choose the first one we find. If that warehouse does not have a returns location, then we will use the original order fulfillment source’s returns location.
Did this answer your question?