As a Shopify merchant, if your Customer Service Representatives (CSRs) work out of Shopify or NetSuite, your CSRs can sync refund orders from Shopify to NetSuite and vice-versa with the refund flows available in the Shopify-NetSuite Integration App. This will help your finance team to be aware of refund orders and will help them in keeping the accounts in balance.
Under the Refund section of the Shopify-NetSuite Integration App, you have the following flows:
- NetSuite Refund to Shopify Refund Add: This flow syncs refund order data from NetSuite to Shopify. In general, you will be using this flow if your CSR team works out of NetSuite for creating refund orders. This flow is discussed in detail in the section below.
- Shopify Refund to NetSuite Refund Add: This flow syncs refund order data from Shopify to NetSuite. In general, you will be using this flow if your CSR team works out of Shopify for creating refund orders.
See Also: To associate refund with a location where inventory should be added back and to know more about the multi-location feature, see Support for Shopify’s Multi-location inventory.
Sync Refund Orders | NetSuite to Shopify | NetSuite Refund to Shopify Refund Add
To sync refund orders from NetSuite to Shopify:
- Navigate to the Sales Order in NetSuite that is already imported from Shopify. Then ensure it has a Cash Sale/Invoice that you will refund against.
- Create a Cash Refund (Transactions > Sales > Enter Cash Sales > List) for Cash Sale or Credit Memo (Transactions > Customers > Issue Credit Memos) for Invoice.
- In the Shopify-NetSuite Integration App, go to Flows > Refund and run the NetSuite Refund to Shopify Refund Add flow.
- The flow runs successfully if there are no errors during data processing. The order status in Shopify is reflected as “Refunded” and the appropriate refund amount is sent to Shopify to be credited to the buyer.
- By default, the Integration App does not check for the credit memo status. The NetSuite Refund to Shopify Refund Add flow picks up the Credit memo regardless of it being applied. However, you can customize the Celigo Shopify Refund Export Saved Search to fit your requirements.
- This flow can be used to sync credit memos and cash refunds.
- Once the refund record is synced to Shopify, in NetSuite, under Cash Refund > eTail and Credit Memo > etail the Etail Refund Exported checkbox gets selected. This prevents the syncing of the same refund record. Note that if the flow errors out, you must resolve all the errors to get the data synced.
Settings | Customize NetSuite Refund to Shopify Refund Add
- NetSuite Saved Search for syncing order refunds: This drop-down list box enables you to customize the NetSuite Refund to Shopify Refund Add flow. You can use your own saved search for fetching refund orders from NetSuite or edit the Celigo Shopify Refund Export Saved Search and save it with a different name.
- Add GST/VAT to refund total: If you are transacting in a country that has GST/VAT tax rules, it’s recommended you should enable this checkbox to add GST/VAT to the refund total before it is added to Shopify.
NetSuite item to track custom refund adjustments: Shopify allows the seller to refund an order fully; partially; as a part of the shipping amount; as a custom amount without refunding any items; or as a manually adjusted amount. This setting NetSuite item to track custom refund adjustments allows you to perform custom refunds without returning the items. In NetSuite, be sure to create the item type as a non-inventory, payment or other change.
This setting supports the following refund scenarios:
- Refund custom amount with or without refunding one or more item(s).
- Refund shipping and gift card amount.
- GST/VAT handling scenarios.
Sync customer refund created against the customer deposit to Shopify using the “NetSuite Refund to Shopify Refund Add” flow
When you sync a paid order as a sales order with a customer deposit, and if there is a refund request even before the order is fulfilled, a refund adjustment is required instead of item restock. In this scenario, the fulfillment and invoice records are not created in NetSuite and a customer refund is created against the open customer deposit. The NetSuite Refund to Shopify Refund Add flow syncs the customer refunds created against the open customer deposit to Shopify along with the cash refund and credit memo.
- Supports syncing both partial and full customer refunds.
- Creates a refund with information such as amount, transaction type, and transaction currency.
- It does not refund any line item. It creates a refund adjustment with the amount mentioned in the customer refund record.
Important: If you are using the NetSuite item to track custom refund adjustments setting, the customer refunds (i.e for refunds without credit memo or cash refund) created against the open customer deposit don’t get synced to Shopify. In this scenario, the application displays an error message “Unable to export refund order id# xxxxxxxx due to the invalid item selection. Choose a valid item from the NetSuite item to track custom refund adjustments setting, to refund any extra adjustments.” To process the refund, remove the setting, save, and re-run the NetSuite Refund to Shopify Refund Add flow.
- Log in to your NetSuite account.
- In the global search, enter Celigo Shopify Refund Export.
- Select the appropriate saved search from the results.
- On the "Celigo Shopify Refund Export" page, click Edit this Search.
- In the Results tab, add/update the following filters:
Filter Description Type is any of Customer Refund, Cash Refund, Credit Memo Applying Transaction : Record Type is not creditmemo
- Click Save.
Note: Be sure to populate the values in the eTail Order ID, eTail Channel, and Shopify store fields in the Order > eTail tab, for the customer refund to get picked by the respective saved search during refund sync to Shopify.
Sync Refund Orders | Shopify to NetSuite | Shopify Refund to NetSuite Refund Add
The Shopify Refund to NetSuite Refund Add flow syncs refund orders from Shopify to NetSuite Refund. The flow helps you to create a Customer Refund from an Invoice, a Cash Refund from a Cash Sale, and a Customer Refund from a Customer Deposit.
Note: If there are four Customer Deposits, four Customer Refund records will also be created.
To sync refund orders from Shopify to NetSuite:
- In the Shopify-NetSuite Integration App, go to Flows > Refund and run the Shopify Refund to NetSuite Refund Add flow.
The flow first fetches all the refund orders from Shopify and syncs them to NetSuite using NetSuite Refund Order Import Adaptor based on the configured mappings. It actually creates Credit Memos from Invoices present in NetSuite or Cash Refunds from Cash Sales present in NetSuite. The refund cycle for Cash Sales gets completed once Cash Refunds are created.
For the created Credit Memos, NetSuite Customer Refund Import Adaptor creates Customer Refunds. Thus completing the refund cycle for Credit Memos.
- This flow is only available to merchants that have a subscription to the premium (previously "enterprise") edition of the Shopify Integration App.
- Shopify POS refunds are also supported.
- For refunds using a Credit Memo, you need to have a Paid Invoice in NetSuite. Therefore, Credit Memo will not be created until you create a paid Invoice.
- You can perform partial or full refunds for an order.
- You cannot refund more than the available refund.
- Once the refund record is synced to NetSuite, in NetSuite, under Cash Refund > eTail > Shopify and Credit Memo > eTail > Shopify the Etail Refund ID gets populated with the refund ID, and the Etail Refund Exported checkbox gets selected. This prevents the syncing of the same refund record.
Settings | Shopify Refund to NetSuite Refund Add
When handling a Customer Refund, the Shopify Refund to NetSuite Refund Add flow also requires the following values:
- NetSuite Refund Account: Select the cash or bank account from which you are refunding the money.
- NetSuite Refund Method: Select the method to refund the payment for this sale.
- NetSuite Refund Location: Choose the location you want to associate with this transaction.
- NetSuite Item to track Refund Adjustments as a line item: If you come across a situation where you are bound to refund more or less amount using Shopify, you can identify it as an adjustment amount against an adjustment SKU (without using line items) using the NetSuite Item to track Refund Adjustments as a line item drop-down list box. It contains the items that can be used in case of a discrepancy while processing refunds.
For example, you may want to refund $5 more than the item value, you can use the item available in NetSuite Item to track Refund Adjustments as a line item to track the discrepancy.
All these values are populated in the drop-down box based on whatever is present in NetSuite.
Use the Order's payment method for the refund
Under Settings > Refund > Shopify to NetSuite tab, ensure that you have not selected anything in NetSuite Refund Method.
Go to Settings > Order > Payment tab > Map Payment Methods. Map the Order payment method. For example, map cash to cash.
Important: Starting March 1, 2024, Shopify will deprecate the “processing_method” field from the Orders API. To overcome this business problem, a checkbox Map Shopify payment gateway to NetSuite payment method is introduced to leverage the “gateway” field in the Transactions API. So, all merchants using the “processing_method” field for payments must now move the payment method mapping from the processing method to the payment gateway.
Before you enable this checkbox, make sure that you follow the instructions in Update payment method mapping.
The feature release will be available by January 24, 2024. Make sure to update the mapping from the processing method to the payment gateway by Feb 15, 2024.
- On the same page, in the Default Lookup Value drop-down box, select the default lookup value. For example, VISA.
- Click Save.
- Go back to Flows > Refund > click the Field Mappings icon of Shopify Refund to NetSuite Refund Add.
- Click the Import Mapping of NetSuite Customer Refund Import Adaptor.
- In the Mappings window, you can see that the "order.processing.method" is already mapped to "Refund Method (InternalId)".
This configuration lets you use the Order's payment method automatically when processing a refund. If you do not want to use the Order's payment method for a refund, you can go to Settings > Refund > Shopify to NetSuite tab > NetSuite Refund Method to select your desired refund method. If the drop-down does not provide any options just hit the refresh option on the side of the field.
Note: If you want the refund flow to sync the order number records from Shopify to NetSuite, make sure that the source field is visible on refunds.json. You need to work with Shopify or your developer team to enable this, and then map to the required field on NetSuite. Once this is done, the refund flow syncs the values to NetSuite.
- Currently, we do not support transaction information.
- You can't create refunds on RMA.
- Reporting variance is not supported.
- Partial refunds from Shopify are supported provided there is a single Invoice/Cash Sale associated with the order.
- Currently, the app doesn't support refunds for orders that have Item Group type items. Therefore, even if the refund is a cash refund or cart-level refund, as long as there's an item group on it, the refund will not push through since it is not yet supported.
- The app doesn't support creating partial refunds from Netsuite and Shopify on the same order post-syncing. Mostly from a business perspective either Shopify or Netusite is used as a refund avenue. Using both for a refund is an edge case that is not encountered frequently, hence the same is not supported.