Current Additional Shopify Webhooks Options:

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.

⚠️ WARNING: Webhooks are not retroactive, so if they were not configured properly at the time of an event in Shopify, the event will not apply in Skubana.

⚠️ NOTE: This Refund Create webhook will work for both POS and non-POS orders. For information on how the POS refunds will operate, see the Skubana RMA Creation Details (specific to POS orders) section of the article here.


How to set up the Refund Webhook

  • 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.

  • Expand the Webhook Configuration view.

  • Check the box for the Refund Webhook.

Here you can also choose the 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

  • Click the Save 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.

  • Additionally, we have a feature in beta that would allow you to dictate a single Default Warehouse (as long as it's active) in place of the Returns Location via Warehouse Mappings for all of your RMAs created via returns webhooks after enabling this feature.

Did this answer your question?