HotWax Commerce, being an Order Management System, forwards the responsibility of managing returns to specialized Return Management Systems. This means that most of the process in the return lifecycle will be handled by a third-party Return Management System (RMS).
Many of our customers use Loop as their RMS to process web returns. When it comes to in-store returns, some of our customers use Shopify POS, while others opt for the Loop POS App.
When Loop processes web returns and the Loop POS App handles in-store returns, HotWax Commerce simply downloads returns for reconciliation purposes. While, when Shopify POS is used to process in-store returns, HotWax Commerce is responsible for syncing returns to ERP systems like NetSuite to ensure accurate ledger posting.
Now, let's delve into how the lifecycle of web and in-store returns is managed with these systems in play:
The In-Store Returns Lifecycle BPM illustrates how in-store returns are managed between POS as RMS, ERP, and HotWax Commerce.
Some of our Shopify customers use the Shopify POS App to accept in-store returns. The app lets them check all of their store's orders in a single view, whether they were placed online or in person, review its details, and perform a refund or exchange.
Customers visit their preferred store to return their purchases. Upon arrival, they provide order details to the store associate.
Store associates search the customer's order ID and once identified, they start processing the in-store return.
Store associates choose the item being returned, designate the restock location to facilitate inventory replenishment, and also specify the reason for the return. Finally, store associates complete the return process by processing the refunds to customers.
Once the refund process is completed in the Shopify POS, multiple actions take place:
Returned inventory is restocked at the designated store location.
A return under the order is created in Shopify POS with the returned item marked as “Returned”, and the payment status is updated as “Refunded”.
It's crucial to understand that in-store returns are instantaneous because the return request and receipt happen simultaneously, unlike web returns. Once these in-store returns are completed in Shopify POS, they are synchronized to HotWax Commerce and subsequently to NetSuite.
A scheduled job in HotWax Commerce downloads the return data from Shopify POS. These returns are downloaded in “Completed” status and the payment in “Refunded” status in HotWax Commerce.
HotWax Commerce also restocks the returned inventory because of the visibility into the specific location where the inventory is received.
A scheduled job in HotWax Commerce synchronizes POS returns to NetSuite. This triggers multiple actions:
A cash refund record is generated against the original cash sale.
The returned inventory is automatically restocked.
The link to the cash refund record is added to the original cash sale.
The In-Store Returns Lifecycle BPM illustrates how in-store returns are managed between RMS, POS, ERP, and HotWax Commerce.
Customers who live near a brick-and-mortar store or those who prefer to get instant refunds opt for returning their purchases directly in-store.
To explain the POS Returns lifecycle, we've taken Loop POS App as the RMS, Shopify POS as POS, and NetSuite as the ERP system, while HotWax Commerce serves as the OMS.
Customers visit their preferred store to return their purchases. Upon arrival, they provide order details to the store associate, who then looks up the order using either the order number or the customer's name.
Store associates use the Loop POS App to search the customer's order. Once identified, they start processing the order return.
Store associates choose the item being returned, designate the restock location to facilitate inventory replenishment, and also specify the reason for the return. Upon completion of these steps, the order is ready to be returned.
Store associates complete the return process by initiating the refunds to customers. Once refunds are processed from the Loop POS App, the return status is marked as "Processed".
Once the return process is completed in the Loop POS Returns App, multiple actions take place in Shopify and NetSuite, let’s understand them in detail:
Loop creates a return under the order in Shopify POS.
For a return under order, Loop marks the returned item as “Returned”, updates the payment status as “Refunded” and restocks the returned inventory in Shopify POS.
Loop creates a cash refund record in NetSuite and also adds the associated cash sale ID in the memo so that the original order can be easily looked up. When cash refund records are created, inventory is automatically restocked in NetSuite.
It's crucial to understand that in-store returns are instantaneous because the return request and receipt happen simultaneously. This is the reason why these in-store returns are initially processed and completed in Loop and subsequently sent to other systems like Shopify POS, NetSuite, and HotWax Commerce, unlike web returns.
A scheduled job in HotWax Commerce downloads the return data from Shopify POS. These returns are downloaded in “Completed” status and the payment in “Refunded” status in HotWax Commerce.
HotWax Commerce also restocks the returned inventory because of the visibility into the specific location where the inventory is received.
These POS returns are not synchronized to NetSuite again because this part has already been handled by Loop.
To ensure data integrity, HotWax Commerce provides an auditing tool OReSA that automatically compares in-store return totals of the POS system with the ERP.
In case any inconsistencies are found, the returns audit dashboard provides a gap analysis report that highlights the monetary gaps in both systems.
The Web Return Lifecycle BPM illustrates how returns are managed between RMS, eCommerce, ERP, and HotWax Commerce.
HotWax Commerce simply downloads completed returns for auditing purposes, ensuring reconciliation of returns in both Shopify and NetSuite. To explain the return lifecycle, we've taken Loop as the RMS, Shopify as eCommerce platform, and NetSuite as the ERP system, while HotWax Commerce serves as the OMS.
Loop lets customers directly initiate returns against their web orders. When customers complete initiating the return process, a Return Merchandise Authorization (RMA) is created in Loop in the "Open" status.
Loop updates the order details in Shopify by creating a return under order, reflecting that a return has been requested by the customer.
Many retailers use third-party integration apps like Novamodule to synchronize returns from Loop to NetSuite.
Loop generates the RMA in the "Pending Receipt" status in NetSuite using a third-party integration app. This gives the warehouse teams a heads-up that an order item will be coming back.
Customers print the shipping label provided by loop and prepare the return package to ship their return items back to the retailer so that they can receive a refund.
When the return package reaches the warehouse, the warehouse teams initiate receiving of the return item against the RMA and the following actions take place:
Item receipt records are created in NetSuite against the RMA, and the returned inventory is restocked.
The status of RMA is updated from "Pending Receipt" to "Pending Refund".
Now that the customer has shipped the return item back, its item receipt has been processed against the RMA in NetSuite, refunds should be processed to the customer.
Item receipt records created in NetSuite are synchronized to Loop using a third-party integration app. Consequently, return receipt records are generated in Loop. This means that refunds can now be initiated to customers.
Processing refunds to the customers marks the completion of returns. During this process, multiple actions take place in Loop, NetSuite, and Shopify. Let’s understand them:
Return receipt records trigger the creation of refund records in Loop. Once refund records are created, Loop creates a credit memo in “Open” status using a third party integration app. Creating credit memo marks the completion of RMA in NetSuite, with its status updating from “Pending Refund” to “Refunded”.
Loop also creates a customer refund record to reflect that the customer has received the refund against the credit memo and then the status of the credit memo is updated from “Open” to “Fully Applied”.
The creation of refund records in Loop also marks the completion of RMA in Loop, with its status updating from "Open" to "Closed".
Return receipt records in Loop triggers the refund process on Shopify and refunds are then issued to the customer. This marks the completion of return in Shopify, with the creation of payment records in "Refunded" status and the return under order marked as “Returned”.
Refunds issued from Shopify are received by the customer. This concludes the refund process.
When the return process is completed on Shopify, a scheduled job in HotWax Commerce downloads the return data. These returns are downloaded in "Completed" status and the payment in "Refunded" status in HotWax Commerce.
HotWax Commerce does not automatically increase the inventory count of the returned item after downloading the return order from Shopify. This is because HotWax Commerce lacks visibility into the specific location where the inventory is received. Instead, inventory is updated only when new item receipt records are synchronized to HotWax Commerce from NetSuite.
A scheduled job in HotWax Commerce performs a daily sync of inventory data from NetSuite, this ensures that inventory updates from any new receipts that are received in warehouses from returns or purchase orders are accurately synchronized in HotWax Commerce.
HotWax Commerce also performs regular inventory synchronization to Shopify by comparing the inventory totals between HotWax Commerce and Shopify. Following the comparison, HotWax Commerce updates Shopify with any differences in inventory numbers, ensuring that any changes in inventory in HotWax Commerce, such as increases resulting from returns, are accurately reflected on Shopify.
To ensure data integrity, HotWax Commerce provides an auditing tool OReSA that automatically compares returns totals of the eCommerce platform with the ERP.
In case any inconsistencies are found, the returns audit dashboard provides a gap analysis report that highlights the monetary gaps in both systems.