Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Gift cards are stored-value cards that carry a value determined at the time of the card's purchase. They are often given as gifts or rewards and are redeemable for products up to the value stored on the card.
Retailers set up both physical and digital gift cards in Shopify. Both physical and digital gift cards have a unique serial number or GC number that needs to be entered to redeem the card's value.
Physical gift cards are tangible cards that customers can buy online or in-store. These cards come with a unique serial number that customers can use to redeem the value stored in the card.
Let’s see what happens when customers place online orders for physical gift cards:
Preparation and Processing: These cards are assigned a unique serial number and predefined value loaded onto them when they are processed and prepared for shipping.
Activation: After processing, gift cards are activated in Shopify so that when customers receive their physical gift card, they can use the gift card serial number to redeem their purchase.
Inventory Management: Physical gift cards have actual stock-keeping units and necessitate delivery to customers just like any other physical product. Oftentimes, retailers generate various variants of a gift card with different denominations, providing customers with a range of options to choose from.
Digital gift cards, also known as e-gift cards, are virtual equivalents of physical gift cards. Customers receive them via email or text message along with a unique serial number that they can use to redeem the value stored in the card.
Preparation and Processing: Customers instantly receive digital cards upon purchase via email and therefore they are immediately fulfilled.
Activation: Digital gift cards are auto-activated in Shopify.
Inventory Management: Digital gift cards do not require physical inventory management as they are virtual products. Therefore, inventory tracking for digital gift cards is usually disabled on Shopify. This means they can be sold without limitations on quantity.
HotWax Commerce downloads physical and digital gift cards from Shopify in the same manner as other products with the Import Products
job.
Learn more about product synchronization from Shopify to HotWax Commerce
The Product SKU serves as the primary identifier, which is mapped with the Product ID in HotWax Commerce. Consequently, if multiple gift cards in Shopify share the same SKU, they are associated with a common product ID in HotWax Commerce.
For example, consider a product named "Gift Card" in Shopify with three variants:
Upon downloading this product "Gift Card" from Shopify, it will be mapped in HotWax Commerce as follows:
Discover seamless integration between HotWax Commerce and Shopify to streamline your e-commerce operations efficiently.
The integration between HotWax Commerce and Shopify simplifies the process for retailers to synchronize their "available to promise" inventory from HotWax Commerce to Shopify. It also allows Shopify orders to be routed to either the warehouse or store for fast fulfillment. Finally, the integration can update Shopify with tracking details for orders.
Once the product and order data are synchronized from Shopify to HotWax Commerce, and the "available to promise" inventory data is synchronized from HotWax Commerce to Shopify, you can begin using HotWax Commerce.
Products: To ensure that orders for all products in Shopify can be fulfilled, HotWax Commerce initially synchronizes all the products. Afterward, any newly added products by a merchandiser in Shopify are synced with HotWax Commerce at regular intervals. During this synchronization process, important product information including Shopify ID, SKU, UPC, product images, and additional details such as product names and features are also synced. Any updates made to product details are also synchronized in HotWax Commerce to provide merchants with the latest product information. Read here to learn how products are synced from Shopify to HotWax Commerce.
Inventory: When integrating HotWax Commerce and Shopify, HotWax Commerce acts as the master of inventory availability. HotWax Commerce has the capability to integrate with various systems within the Shopify retailer’s tech stack, allowing for the calculation of "sellable inventory". This information is then synchronized to Shopify at regular intervals. For additional information on how HotWax Commerce manages and synchronizes sellable inventory to Shopify, check out here
Orders: Initially, all open sales orders are synchronized in HotWax Commerce. Subsequently, any upcoming orders and updates, such as order cancellations, quantity changes, item deletions, shipping address modifications, and returns, are also regularly synchronized from Shopify to HotWax Commerce.
When an order is fulfilled, HotWax Commerce updates the fulfillment status in Shopify. Read further for more information on the synchronization process of orders from Shopify to HotWax Commerce and the updating of fulfillment status from HotWax Commerce to Shopify.
Explore how accurate product data drives real-time inventory updates on Shopify.
HotWax Commerce requires accurate product data to track inventory changes and ensure near real-time inventory counts on Shopify. It also facilitates order downloads and expedites the fulfillment process. For precise synchronization of products from Shopify to HotWax Commerce, we tackle four key scenarios:
Initial Product Download: Downloading existing products from the merchant's Shopify store keeps the product catalog in HotWax Commerce up-to-date.
Importing Newly Added Products: Reflecting new products or variants added by merchants on Shopify in HotWax Commerce's product catalog.
Updating Product Details: Synchronizing HotWax Commerce with the Shopify store as product information changes.
Deleting Existing Products: Ensuring data integrity by removing products from HotWax Commerce when they're deleted from the Shopify store.
HotWax Commerce streamlines product synchronization from Shopify by selecting one Shopify store as the primary data source. If a client utilizes a multi-store configuration within Shopify for a single brand, the process involves designating one Shopify store for product data sourcing while the other child stores are restricted to product linking. Product linking occurs through the utilization of the primary product identifier established in the Product Store settings, such as SKU
or UPCA
. This synchronization process is facilitated by customizable job workflows, which can be configured using the Job Manager App
.
Initially, products are synced into the primary catalog through the following job workflows:
(For initial Import) (For regular import)
Subsequently, the primary catalog is linked to the child stores using the following job workflow:
Create Product in Shopify Store:
Go to your store on `Shopify``
Create new products on Shopify.
Automatic Sync with HotWax Commerce:
Wait for at least 15 minutes for the automatic sync with HotWax Commerce, if the Import new products
job is scheduled.
Manual Sync (if needed):
If immediate sync is required, go to the Job Manager App
.
Switch to the desired Shopify shop in the quick switcher from the left bottom.
Navigate to the Products
page > Sync section and run the Import New Products
job by clicking the Run Now
button.
Verify Product Import:
Navigate to the PIM
> Products
page from the Hamburger Menu.
Search for the product by its SKU.
Open the details page by clicking on the product.
Verify product details are the same as the details added on Shopify.
Products are successfully imported in OMS from the Shopify store.
Create Products in Other Shopify Stores:
After the product sync in HotWax Commerce for the primary store, create products in other Shopify stores and they will be automatically associated in OMS with other Shopify stores with the Associate Products with Sub-catalogs
job.
Verify Association:
Navigate to the PIM
> Products
page from the Hamburger Menu.
Search for the product by its SKU.
Open the details page by clicking on the product.
Verify Shopify Shop associations from the Shopify Shop Product
section.
Manual Association (if needed):
In case, there is any failed association or incorrect association created you can manually manage the Shopify shop association through the following steps:
Open the Product Detail
page by searching for the product SKU.
Navigate to the Shopify Shop Product
section.
Click on Add
to associate the product with another Shopify Shop by choosing the Shopify Shop
where you want to associate the product and enter the Product ID
from the specific Shopify shop.
You can also delete associations by clicking on the delete
icon in the last column of the association table.
Do not schedule or run Import products
and Import Product updates
jobs for child catalogs. Scheduling these jobs for child catalogs can lead to catalog management issues.
Easily configure locations in HotWax Commerce and Shopify with our step-by-step guide to streamline inventory management.
HotWax Commerce sets up all retail stores and warehouses as Locations. For retailers using Shopify eCommerce and third-party Point of Sale systems, only one Location is created on Shopify. This Location aggregates the inventory counts of all products available for sale on Shopify.
For retailers using Shopify POS in both retail stores and eCommerce, multiple Locations are created on Shopify. One Location is created for the eCommerce store, while each physical store also has its own Location on Shopify. The Location for the eCommerce store aggregates inventory counts for all products from all Locations. Each retail store Location on Shopify has inventory counts specific to that location.
Set up with Non-Shopify POS
When syncing inventory data between HotWax Commerce and Shopify, HotWax Commerce combines inventory counts from all storage locations (such as stores and warehouses) and sends the total inventory count of products to the default location in Shopify.
Set up with Shopify POS
Shopify's locations are mapped one-to-one with HotWax Commerce's locations. HotWax Commerce sends the sellable inventory to Shopify, captures orders from Shopify, routes them to fulfillment location, and updates order statuses to Shopify once they are fulfilled. When HotWax Commerce is used, its recommended to disable “online order fulfillment from store locations” on Shopify.
Periodic synchronization of inventory counts for all products at both the default location and store locations occurs from HotWax Commerce to Shopify.
SKU | Product ID | Price |
---|---|---|
SKU | Shopify Product ID | Shop ID | HC Product ID |
---|---|---|---|
55000-000
1001
$100
55000-000
1002
$250
55000-000
1003
$500
55000-000
1001
NOTNAKED
HC2001
55000-000
1002
NOTNAKED
HC2001
55000-000
1003
NOTNAKED
HC2001
Physical gift cards have actual stock-keeping units and necessitate delivery to customers just like any other physical product. Oftentimes, retailers generate various variants of a gift card with different denominations, providing customers with a range of options to choose from.
It's crucial to understand that the gift cards with differing values, in fact, constitute a single physical product with inventory and therefore have a common SKU.
For example, a retailer offers a gift card product called "Gift Card" with a physical inventory of 100 units. This single product is listed online with different variants representing different denominations, such as $100, $150, $200, and so on.
When a customer purchases a $100 gift card variant, it's like they're selecting a portion of the available inventory, let's say 1 unit from the total 100 units. Similarly, if another customer chooses a $150 gift card variant, they're also selecting from the same pool of inventory, subtracting 1 unit from the total available.
So, regardless of the denomination chosen by the customer, the inventory is consumed from the same physical product - the "Gift Card" with 100 units. The retailer then credits the value of the chosen denomination to the gift card based on the customer's selection and activates the gift card in Shopify.
Digital gift cards do not require physical inventory management as they are virtual products. Therefore, inventory tracking for digital gift cards is usually disabled on Shopify. This means they can be sold without limitations on quantity.
HotWax Commerce synchronizes the inventory of physical as well as digital gift cards just like regular products using both webhooks and the Upload recent inventory change
job. This process remains straightforward for gift cards, just as it does for other products.
Learn more about inventory synchronization
Learn how to delete products from both Shopify and HotWax Commerce for streamlined inventory management.
Shopify merchants may need to delete products for various reasons, including creating a product with incorrect information. However, if a merchant deletes a product in Shopify and then recreates it with the same UPC, it can result in data discrepancies and affect inventory synchronization in HotWax Commerce. Therefore, it is important to also delete the corresponding products in HotWax Commerce when they are deleted in Shopify.
In HotWax Commerce, products are soft deleted, meaning they are marked as deleted but not permanently removed to manage returns. HotWax Commerce detects deleted products using APIs to obtain a list of deleted products from Shopify. When a product variant is deleted in Shopify, the 'updated_at' field of the parent product is updated, and the 'Sync Products' job takes care of product deletion in HotWax Commerce by identifying updated or deleted product variants. The 'Sync Products' job compares downloaded product variants with existing variants of the same product in the system. If any variants from Shopify are missing from those in HotWax Commerce, the job delinks the additional product variants from their parent product.
HotWax Commerce ensures that order information is always updated to streamline the process of fulfilling orders. When syncing orders from Shopify, HotWax Commerce tackles four essential scenarios
Initial Order Download: To integrate HotWax Commerce with Shopify, merchants are required to import all open sales orders from a particular time frame that HotWax Commerce must fulfill.
Importing Newly Created Orders: All the orders that have been placed since the initial download must be imported into HotWax Commerce.
Approve Orders for Fulfillment: Before approving orders for fulfillment, HotWax Commerce must ensure that payment has been authorized and verified by Shopify.
Synchronizing Order Updates: When making changes to orders, like updating shipping addresses, item quantities, or item details, it is important to inform HotWax Commerce to ensure proper synchronization of order updates.
FAQ
Find answers to commonly asked questions
Contact us
Looking for more answers? Connect with our experts to achieve true omnichannel integration
Learn how to synchronize inventory effortlessly from HotWax Commerce to Shopify
Syncing Inventory From HotWax Commerce To Shopify
There are two ways to update the inventory count on Shopify: through webhooks or batch jobs.
You can keep your inventory data synced in real-time with Shopify's webhooks. By subscribing to the 'inventory level update' webhook, you can trigger synchronization whenever there's an inventory update in HotWax Commerce. Keep in mind that Shopify can't guarantee webhook delivery, so it's important to periodically reconcile your data with Shopify to ensure everything stays up-to-date.\
HotWax Commerce suggests using batch jobs at regular intervals to sync inventory in bulk, ensuring no product updates are missed. To accomplish this, HotWax Commerce provides the option to schedule the 3 different jobs to offer retailers the flexibility to schedule as per their business requirements.
The Upload Recent Inventory Changes
job updates the inventory on Shopify through the following steps:
Identifying Products with Inventory Changes: The 'Upload recent inventory change' job examines the inventory records of HotWax Commerce's products. It identifies products that have undergone inventory changes since the last synchronization. In the following example, there are five products with inventory records in HotWax Commerce:
Product List | Inventory Count at 1:00 PM | Inventory Count at 1:15 PM |
---|---|---|
At 1:15 PM, the job that runs every 15 minutes detects that there are inventory changes for Product A and Product C that require syncing with Shopify after the 'Upload recent inventory change' task is executed.
Comparing Inventory counts between HotWax Commerce and Shopify: To update its inventory records, HotWax Commerce initiates an API call to retrieve information from Shopify about products that have undergone changes in HotWax Commerce. The inventory counts for these products in Shopify are then compared with the inventory counts that HotWax Commerce has on file.
Product List | Inventory Count in Shopify | Inventory Count in HotWax Commerce | Inventory Difference |
---|---|---|---|
Uploading accurate inventory on Shopify: After comparing inventory changes, the 'Upload recent inventory change' job records the difference and generates a GraphQL file for the affected products. This file is then uploaded to Shopify, which reads it and updates the 'available adjustments' field to either add or deduct inventory based on the changes.
When updating inventory on Shopify, HotWax Commerce ensures that the location in Shopify matches the location in HotWax Commerce for merchants. If users utilize a non-Shopify POS, all physical locations in HotWax Commerce will be mapped to one virtual location in Shopify. However, if merchants use Shopify POS and have multiple store locations and an eCom location for online orders, all Shopify locations will be mapped one-to-one with HotWax locations. This means that any inventory updates made to the retail stores and warehouses in HotWax will be reflected in the specific store locations and eCom locations in Shopify for merchants.
Sometimes, there may be a slight delay of a few milliseconds between two inventory update jobs from other systems. For instance, if job-1 runs at 1:00:00 PM and job-2 runs at 1:15:00 PM, job-2 checks the inventory changes that happened between 1:00:00 PM and 1:15:00 PM.
However, if a sale occurs in-store at 12:59:59 PM and HotWax Commerce receives an inventory update from the POS at 1:00:01 PM, both jobs won't detect the changes in inventory.
To prevent this issue, merchants can use Hard Sync
job once a day to synchronize the inventory counts of all products from HotWax Commerce to Shopify. The synchronization is achieved through the GraphQL file, similar to how inventory synchronization is performed for products with recent updates.
The Push Updated Inventory Deltas to Shopify
job syncs only recent inventory deltas to Shopify. If a product is sold too fast on Shopify and orders are not yet downloaded in HotWax Commerce, then inventory of this product gets out of stock on Shopify, however, inventory in HotWax Commerce is still available. In such cases, the inventory of these products also gets reset with the current ATP in HotWax Commerce with the previous jobs. And due to this Shopify was overselling the inventory.
To improve inventory accuracy, this job only syncs the inventory variances recorded in HotWax commerce rather than resetting the inventory. This means any variance—whether negative (Such as damaged, lost, POS Sales) or positive (TO receiving, Returns restock) are updated to the respective Shopify locations.
For example, Product A has 5 units listed in both Shopify and HotWax Commerce. Shopify then receives 4 orders for this product, which have not yet been downloaded into HotWax Commerce. Meanwhile, one unit of Product A is reported in HotWax Commerce as damaged or missing, reducing the online ATP in HotWax Commerce to 4. In this scenario, HotWax Commerce will now push a -1 inventory variance to Shopify instead of resetting the inventory to 4. The ATP on Shopify will be adjusted to 0, ensuring the product is marked as Out of Stock
in Shopify, as Shopify has already received orders for 4 units.
In another example, if a store receives a transfer order for Product B with 2 units, which originally had 10 units, then a variance of 2 will be pushed on Shopify to update the Shopify ATP to 12.
Discover streamlined processes for product creation and deletion using Shopify Webhooks.
Creating/Deleting Products With The Help Of Shopify Webhooks
Shopify offers webhooks for real-time communication between apps. HotWax Commerce utilizes Shopify's new product and product delete webhooks to promptly create or delete products in HotWax Commerce. The Job Manager app enables this webhook. However, there are two limitations when using Shopify's webhook:
It only tracks the creation or deletion of parent products and not product variants.
Shopify states that webhook delivery isn't always guaranteed, and suggests implementing reconciliation jobs to periodically fetch data from Shopify.
Discover the process of downloading initial orders from Shopify to HotWax Commerce, streamlining order management.
To download all open sales orders from a specific time period in HotWax Commerce, users can schedule the 'Import Orders in Bulk' job by adding the last Shopify Order ID. This job imports all orders since the last Shopify Order ID, along with details such as order number, customer information, shipping address, billing details, and payment information.
The process of importing orders from Shopify to HotWax Commerce consists of two steps.
Downloading from Shopify- HotWax Commerce uses an API request to Shopify to retrieve sales orders. The orders are returned in JSON format by Shopify, based on the API request. To avoid errors with large data files, HotWax Commerce downloads only 100 orders in one API call, even though Shopify allows downloading up to 250 orders. This helps optimize platform utilization and enables higher throughput, as each order can have multiple items, potentially leading to larger file sizes. The downloaded JSON file is then stored in the file system.
Order Creation in HotWax Commerce- HotWax Commerce proceeds to the second step by accessing the JSON files that have been downloaded from the file system and then generating orders. Once all the orders have been downloaded, HotWax Commerce will automatically begin processing them. Once the orders are imported into HotWax Commerce, they will be assigned a 'created' status.
Order fields in Shopify are mapped in HotWax Commerce as follows:
In HotWax Commerce, there's a job called 'New Orders' that downloads new orders in bulk from Shopify. The job checks the 'created_at' field in Shopify to see if any orders were created after the last time the job ran. All orders with a 'created_at' time between the last download and the current time are downloaded, regardless of their fulfillment status. Once all orders are downloaded to the file system in the order JSON file, the order creation process begins in HotWax Commerce.
Recommended frequency of the job is 15 minutes i.e. it will run every 15 minutes. Frequency is configurable as per the merchant's requirements.
thruDateBuffer: The thruDateBuffer ensures that only orders are synced into HotWax after a certain amount of time.
at least 5 minutes old in Shopify are synced. This delay allows time for Shopify to process and potentially cancel invalid orders before they are imported into HotWax Commerce.
bufferTime: It is possible for orders to be missed if they are placed during the microsecond time gap between two consecutive jobs.
Let’s take a look at an example:
A job downloads orders between 01:00:00 PM to 01:15:00 PM and a second job downloads orders between 01:15:00 PM to 01:30:00 PM.
If an order is created on Shopify at 01:14:14 PM, but it's not added to Shopify's database until 01:15:01 PM, the order won't be downloaded by either job.
To avoid missing any orders, we add a buffer time. For example, if the last job downloaded orders from 01:00:00 PM to 01:15:00, the next job will download orders from 01:14:00 to 01:30:00 PM.
Learn about the order approval process for fulfillment in HotWax Commerce, that streamlines operations with efficient order management.
In HotWax Commerce, all orders are initially marked as ‘Created’ after being downloaded. Orders can be auto-approved with a scheduled job called 'Approve Orders.' This job checks the approval status of Shopify orders based on parameters set by Shopify merchants.
Orders need to be verified and approved before they can be fulfilled. Without a systematic approval process, invalid or fraudulent orders could proceed to fulfillment, leading to potential issues. The 'Approved Orders' job runs at a default frequency of 30 minutes and checks the ‘approved’ tag of the orders.
For example, the Riskified app, used by clients like Steve Madden, adds an ‘approved’ tag once all security checks are done. After this processing is over, HotWax will sync these orders initially labeling them as 'Created'. The checkRiskifiedTagAndApproveOrders
job then changes the status of orders with the ‘approved’ tag to 'Approved'. Only these orders are eligible for fulfillment.
Any digital items are marked as 'Fulfilled' in Shopify. On import into HotWax Commerce, these items are automatically marked as completed.
Explore how HotWax Commerce synchronizes order updates for seamless order management.
Sometimes customers or customer service representatives make changes to Shopify orders that need to be accurately reflected in Hotwax Commerce to ensure the fulfillment process meets the customer's requirements. HotWax Commerce can update the following details from Shopify:
Adding items to an order
Removing items from an order
Changing item quantities
To ensure all order modifications are synced accurately, HotWax Commerce has an 'Import order updates from Shopify' job. This job checks the 'updated_at' field of orders in Shopify and compares it to the last run time of the job. If the 'updated_at' time is after the last run time, the job downloads all order details from Shopify, compares it to HotWax Commerce data, and updates any changed fields. The default frequency for the job is every hour, but merchants can change it through the Job Manager App to meet their requirements.
Product List | Inventory Count in Shopify | Available Adjustments | Updated Inventory Count in Shopify |
---|---|---|---|
Order in Shopify | Order in HotWax Commerce |
---|---|
To know more about how HotWax Commerce synchronizes Order fulfillment updates with Shopify, . Read further to know how HotWax Commerce Manages and .
Product A
100
95
Product B
50
50
Product C
25
30
Product D
100
100
Product E
80
80
Product A
100
95
-5
Product C
25
30
5
Product A
100
-5
95
Product C
25
5
30
Order ID
Order ID
Shopify Shop
Product store
Sales order
Sales order
Order Status
Status
Order date
Order date
Location
Sales Channel
Image
Image
Product name
Product Name
Variant
Variant
SKU
SKU
Subtotal
Subtotal
Shipping
Shipping Method
Total
Shipment Total
Shipping Address
Ship To
Billing Address
Bill To
Tags
Tags
Retailers we work with offer both physical and digital gift cards which have product type as “GIFT CARD” in Shopify.
In HotWax Commerce gift cards have their product type set up as “GIFT_CARD”. In this set up, digital gift cards are configured for auto fulfillment directly in Shopify, while physical gift cards require the traditional fulfillment process. Here's how it works:
When customers order a digital gift card on Shopify, after the order is created, Shopify immediately auto fulfills the order, assigns a serial number to digital gift card, loads the value to activate the gift card and consequently, when HotWax Commerce downloads that order from Shopify, it is automatically marked as “Completed”.
Customers receive the gift card in their registered email along with the serial number that can be used to redeem the gift card.
Orders with physical gift cards are not auto-fulfilled in Shopify. Therefore, HotWax Commerce routes them through the traditional fulfillment process.
After physical gift cards are allocated, HotWax Commerce begins syncing them to systems that are responsible for fulfillment of those items. In the event where gift cards are allocated to a store for fulfillment, they show up in the HotWax Fulfillment App.
As part of the fulfillment process, store associates assign a unique serial number to each gift card and load the corresponding value onto it. This ensures that when customers receive their orders, they can easily redeem the value by using the serial number provided on the gift card.
Once the gift card order is fulfilled in the Fulfillment App, it is automatically marked as "Completed" in HotWax Commerce.
The fulfillment update for gift card orders, along with tracking details, is synchronized to Shopify using the Completed Orders
job.
Learn more about order fulfillment updates from HotWax Commerce to Shopify
It’s crucial to note that the gift cards are not functional until they are activated on Shopify. The activation process in Shopify is a necessary step to ensure that the gift cards are redeemable and fully functional upon receipt by customers.
When walk-in customers purchase a gift card from the store, it is treated as a regular POS order in HotWax Commerce. Stores maintain blank gift cards and assign the value to them at the time of purchase. As a result, the SKU for in-store gift cards is consistent with those sold online.
Store associates initiate the gift card activation directly from the HotWax Fulfillment App. A scheduled job in HotWax Commerce automatically syncs these activation details to Shopify, so that these gift cards can be activated and redeemed right after customers receive their orders.
Digital gift cards are auto-activated and customers can directly redeem them by entering a unique serial number provided with the card.
When the fulfillment location where a gift card item is allocated leverages NetSuite for fulfillment, usually a warehouse, then the HotWax Commerce syncs those items' allocation with NetSuite.
Learn more about fulfillment in NetSuite
Similar to how store associates assign serial numbers and load values onto gift cards in-store, warehouse fulfillment teams also undertake these tasks to prepare gift card orders for shipment.
HotWax Commerce Integration Platform retrieves gift card items, their assigned serial numbers, and corresponding values from NetSuite and generates a JSON file. Subsequently, it calls the Shopify API to request activation for the gift card.
HotWax Commerce Integration Platform communicates directly with Shopify for gift card activation, without any intermediary involvement from the HotWax Commerce OMS.
Job in HotWax Commerce
Gift card activation:
Shopify API
Bulk data import GraphlQL API used along with gift card create mutation
Once the gift card is activated in Shopify, customers can conveniently redeem it.
The fulfillment update for gift card orders, along with tracking details, is synchronized to Shopify using the Completed Orders
job.
Learn how HotWax Commerce seamlessly updates bundle order fulfillment status to Shopify.
HotWax Commerce helps in the fulfillment of the bundle and sending updates of the fulfillment of the bundle on Shopify using the following steps:
The picklist has details of the components of the bundle so that the picker can pick the components of the bundle and create the bundle at the time of packing. Each component of the bundle is picked by the picker.
Once the bundle is assembled, packed, and shipped in HotWax Commerce the bundle in the order of HotWax Commerce is marked as completed.
The fulfillment update for the bundle, along with tracking details, is synchronized to Shopify using the ‘Completed Orders’ job.
Ensure seamless coordination between online orders and store operations for a smooth BOPIS fulfillment.
To effectively manage the "Buy Online, Pick Up In Store" (BOPIS) inventory, it is essential to closely monitor product availability at each store location and accurately update this information on Shopify. Coordination between online orders and store operations is crucial for a smooth process.
Optimize workflow by fulfilling orders in HotWax Commerce with the Fulfillment app or external systems like Warehouse Management Systems.
Once the order is routed to the fulfillment center in HotWax Commerce, it can be fulfilled using either the HotWax Commerce Fulfillment app or an external system such as a Warehouse Management System (WMS).
Fulfillment by HotWax Commerce Fulfillment App
HotWax Commerce provides a Fulfillment app that enables the picking, packing, and shipping of orders from stores. After shipping, the orders are marked as 'Completed' within HotWax Commerce. To update tracking details and mark orders as 'Fulfilled' or 'Partially Fulfilled' in Shopify, the "Completed Orders" job can be scheduled in HotWax Commerce, which calls a Shopify API.
Fulfillment By An External System
For orders fulfilled by an external system, HotWax Commerce only receives the fulfillment status from the external system and marks the order as 'Completed'. Once the order is marked as completed in HotWax Commerce, it sends the tracking details (if they are provided by the external system) to Shopify and marks the orders 'Fulfilled' in Shopify.
In HotWax Commerce, users can schedule the 'Completed Orders' job to generate a file containing all orders that have been completed since the last upload. This file is then uploaded to an SFTP location. HotWax Commerce subsequently uses the API to send the fulfillment status of each completed order to Shopify. Shopify processes these requests and updates the order status to 'fulfilled'.
It is recommended that this task be done every 30 minutes. During each run, it will collect all completed orders within the past 30 minutes. The time interval can be adjusted to meet the specific needs of the merchant.
Learn the process of complete order cancellation in Shopify and its update in HotWax Commerce.
Order Cancellation In Shopify And Updated In HotWax Commerce
To sync cancellation updates from Shopify to HotWax Commerce, there are two options available: webhooks and batch jobs. By subscribing to the 'Canceled Order' webhook, customers can cancel orders in real-time. However, it should be noted that Shopify webhooks may not always be reliable. Therefore, it is recommended to schedule the 'Canceled Order' Job which imports all updates through a series of steps.
Import Canceled Orders- When HotWax Commerce wants to check for canceled orders on Shopify, it uses an API request through the 'Canceled Order' job. This job looks at the 'cancelled_at' field for orders on Shopify and compares it to the job's last run time. If the 'cancelled_at' time is later than the job's last run time, the job downloads all canceled orders from Shopify in batches of 100 to avoid exceeding Shopify's API limit.
Processing in HotWax Commerce- Once all canceled orders are downloaded, HotWax Commerce processes the file to check the order IDs of the canceled orders and marks them as canceled in the system.
The recommended frequency for this job is every 30 minutes, however, it can be adjusted to a different time interval using the Job Manager App.
Point of Sale (POS) sales are purchases made by customers directly at physical retail locations. These involve immediate payment and fulfillment, occurring in real-time.
The scheduled 'New Orders' job in HotWax Commerce that downloads new orders in bulk from Shopify also includes POS sales. Because POS sales in Shopify have already been fulfilled to customers at the point of sale in-store, they are automatically marked as "Completed" in HotWax Commerce upon import.
Differentiating POS Sales from Regular Orders:
During import, HotWax Commerce differentiates between POS sales and regular orders by checking if the following conditions are met:
POS sales are already fulfilled in Shopify.
They are originated from the POS channel.
They have their shipping method set to POS_Completed.
If these conditions are satisfied, HotWax Commerce automatically marks the POS sales as "Completed".
HotWax Commerce automatically deducts inventory against the POS sale upon import. This ensures that the actual physical inventory available at the retail store is accurately reflected in HotWax Commerce.
POS sale fields in Shopify are mapped in HotWax Commerce just like any regular order. Certain fields such as Sales Channel, Status, and Shipping Method have different values for POS sales, reflecting how POS sales differ from regular orders.
Easily manage order cancellations when using both Shopify and HotWax Commerce. Streamline your operations effortlessly.
Customers and retailers may need to cancel orders made online for various reasons. If a merchant uses both Shopify and HotWax Commerce, cancellations can occur in two ways:
Cancellations made in Shopify and updated in HotWax Commerce.
Cancellations made in HotWax Commerce and updated in Shopify.
However, HotWax Commerce suggests canceling orders on Shopify and then updating them on HotWax Commerce, following the same process as used for order creation. This approach ensures that cancellations are handled consistently by both customers and the customer service team. In special cases, such as auto cancellations and mass pre-order cancellations, Shopify retailers can use HotWax Commerce to cancel orders and update them on Shopify.
HotWax Commerce import cancellation updates in two cases:
Full Order Cancellations- Customers have requested order cancellations from Shopify or CSR teams have canceled orders due to suspected fraudulent orders.
Partial Order Cancellations- Customers have requested to remove any item from the order or the CSR team canceled the order item due to inventory variance.
Discover how HotWax Commerce efficiently manages pre-order and backorder catalogs.
In HotWax Commerce, merchandisers have the option to schedule the 'Auto Refresh Pre-sell Catalog' job, which will automatically add or remove pre-sell products from the HotWax Pre-order/Backorder category. Any items that are part of the Pre-order/Backorder category will be listed on Shopify as pre-order or backorder items.
The job titled 'Auto refresh Pre-sell catalog' adds pre-sell items to the HotWax Commerce Pre-order/Backorder category, using the following criteria.
The status of Purchase Order items is created or approved.
The Purchase Order is scheduled for a future date.
The current inventory of the product is 0.
Once these conditions are fulfilled, products become eligible for pre-sell on HotWax Commerce. In addition, HotWax Commerce examines the "isNewStyle" attribute of the products included in the purchase orders. If the "isNewStyle" attribute is set to "Yes," the product is included in the pre-order category. Conversely, if the merchant has indicated "No" for the "isNewStyle" attribute, the product is placed in the backorder category.
In the following example, let’s assume a merchant has 4 purchase orders aligned:
Purchase Orders | Product Name | Arrival Date | PO Status | IsNewStyle | Current Inventory | Presell Category |
---|---|---|---|---|---|---|
Purchase orders are carefully analyzed to determine which products are available for preselling. In the example provided, the Yellow jacket and Red skirt do not meet the pre-sell criteria and therefore cannot be added in the pre-sell catalog. However, all other products are categorized for pre-selling based on whether they are a new style or not.
The job called "Auto Refresh Pre-Sell Catalog" also eliminates pre-sell items from the pre-order/backorder category in HotWax Commerce, using the following criteria:
When pre-orders on the entire future inventory are received and no additional pre-orders can be taken.
When the Purchase Order status is changed to “Canceled” or ’”Completed” by the merchandiser.
When inventory is physically received at the fulfillment center.
When the Purchase Order arrival date that is the promised fulfillment date has been passed.
Explore how HotWax Commerce displays immediate product availability for store pickup on Shopify's Product Detail Pages (PDP).
Shopify's built-in feature does not include the option to show in-store inventory availability on the Product Detail Page (PDP). This means that customers must check the availability of products in stores during the checkout process. HotWax Commerce provides a solution to this problem by allowing merchants to display inventory availability at nearby pickup locations. By installing the HotWax Commerce BOPIS PDP app on Shopify, merchants can show in-store inventory availability on their PDP and increase their conversion rates. This is achieved through the following steps:
To display nearby pickup locations for customers, latitude and longitude coordinates are required. The HotWax Commerce BOPIS PDP app for Shopify obtains these coordinates in two ways:
When customers enter their postal code, the HotWax Commerce BOPIS PDP app utilizes the "postcodeLookup" API of HotWax Commerce to convert the postal code into accurate latitude and longitude coordinates.
If permission to access the device location is granted by the customer, HotWax Commerce directly retrieves the latitude and longitude coordinates from the customer's device.
HotWax Commerce possesses the latitude and longitude coordinates for all the retailers' locations within the system. When the customer's latitude and longitude coordinates have been acquired, the HotWax Commerce BOPIS PDP app utilizes the "storeLookup" API to obtain all the available pickup locations within a designated radius from the customer's location.
The HotWax Commerce BOPIS PDP app shows all the locations that offer BOPIS, sorted based on how close they are to the customer. The app also displays the store's operating hours to make the BOPIS experience smoother for the customer.
Customers can choose a specific location to be saved as their preferred pickup spot, known as "My Store." This saves them the hassle of having to search for their preferred pickup location every time they make an order.
HotWax Commerce BOPIS PDP App on Shopify uses the 'checkInventory' API to confirm product availability and displays suitable pickup locations for that product.
When a customer adds a qualifying item for in-store pickup to their cart, the HotWax Commerce BOPIS PDP App on Shopify displays the reservation expiration date and time to encourage prompt purchase and reduce abandoned carts. Retailers can customize the reservation duration. If a customer's reservation expires, they can refresh their cart to view real-time in-store availability for pickup items.
Discover how HotWax Commerce seamlessly imports returns from Shopify for online returns.
The process of importing returns from Shopify to HotWax Commerce typically involves the following steps:
Retailers can schedule the "Import Order Returns" job in HotWax Commerce to efficiently manage the import of order returns. HotWax Commerce initiates this process by sending an API request to Shopify, specifically targeting orders with a "Refund" status in Shopify, provided they were created after the last job run. In response, Shopify returns detailed return data in JSON format, facilitating the integration of return information. The frequency at which the "Import Order Returns" job is executed can be configured, but a recommended time interval for this job is 6 hours.
Shopify allows the download of up to 250 returns per API call. To ensure data accuracy and prevent potential issues arising from multiple orders within a single return, HotWax Commerce restricts each API call to download a maximum of 100 returns.
Retailers can subscribe to Shopify's real-time return updates webhooks from HotWax Commerce's Job Manager app. However, Shopify warns that these webhooks might not consistently deliver real-time data. For a more reliable method, Shopify advises setting up reconciliation jobs to periodically retrieve return data directly from the platform.
Once the return information is downloaded, HotWax Commerce processes the JSON files by reading them from the file system. Through the 'Process Bulk Imported Files' job, refund records are meticulously created within HotWax Commerce's database. This process ensures that return data is accurately integrated into the system. In cases where data discrepancies or issues may arise, error logs are generated, allowing for subsequent analysis and corrections to be made.
The refund total may differ from the actual sales total of the order. This variance can be attributed to scenarios where customers have paid shipping and handling charges on the order, which are sometimes excluded from the refund amount.
HotWax Commerce operates with a specific inventory management approach for restocking online returns. When inventory is returned on Shopify, it provides an option to enable the restock returned inventory flag. However, HotWax Commerce does not automatically increase the inventory count in its system even if the restocked return flag is enabled on Shopify. This is because HotWax Commerce lacks visibility into the specific location where the inventory is received. Instead, inventory is updated only when the updated inventory count is received from Warehouse Management Systems (WMS) or Enterprise Resource Planning (ERP) systems.
PO 1234
Black Jacket
10-10-23
Created
Y
0
Pre-order
PO 1234
Green Jacket
10-10-23
Created
N
0
Backorder
PO 1234
Yellow Jacket
10-10-23
Created
N
20
NA
PO 2345
Red Shirt
08-08-23
Approved
Y
0
Pre-order
PO 2345
Green Shirt
08-08-23
Approved
Y
0
Pre-order
PO 2345
Purple Shirt
08-08-23
Approved
N
0
Backorder
PO 1AB2
Yellow Shirt
07-31-23
Created
Y
0
Pre-order
PO 12AB
Red Skirt
07-31-23
Canceled
Y
0
NA
Learn how retailers can process in-store returns for online orders seamlessly with HotWax Commerce.
Shopify retailers can efficiently manage in-store returns for online orders in two scenarios:
When Using Shopify POS: In this case, Shopify POS is already linked with Shopify e-commerce, providing access to online order IDs within the POS system. When in-store returns are created in Shopify POS for online orders, these return details are stored in Shopify. HotWax Commerce utilizes the 'Import Order Return' job, which works seamlessly for both Shopify e-commerce and Shopify POS, to download refund information and transfer transaction details to the ERP.
The key difference is that when in-store returns occur in Shopify POS, HotWax Commerce captures the facility ID where the returned inventory is received, alongside the refund information. Subsequently, HotWax Commerce manages the inventory restocking based on the facility ID.
When Using Non-Shopify POS: For retailers using non-Shopify POS systems, there is no inherent information about online orders, including online order IDs in the POS system. Consequently, creating returns against these online orders becomes a challenge. HotWax Commerce, as an Omnichannel Order Management system, retains records of online orders on Shopify. Therefore, in-store returns against online Shopify orders can be easily generated in HotWax Commerce.
Store associates can create In-store returns through HotWax Commerce by following the steps:
Store associates can quickly find the relevant sales order by entering essential details such as the Shopify order ID, order name, or external ID on the Create Returns page.
Store associates select the appropriate return facility where the returned items will be processed. They specify the reason for the return and the type of return for each item, such as refund, exchange, or store credit.
After verifying the returned items and ensuring they meet return policy requirements, store associates create the return by entering their unique Employee ID.
Once store associates create a return, the status of the ordered item is changed to “return requested” in HotWax Commerce. Subsequently, store managers have the authority to accept or reject these returns.
Once returns are accepted, all the returned order details are seamlessly pushed to Shopify from HotWax Commerce through the ‘Refund’ Job. The 'Refund' job initiates an API request to Shopify to change the order status to “Returned” in real time. The recommended frequency for this job is 15 minutes to ensure prompt processing of customer refunds.
Store associates can configure whether to accept the return of the product with or without restocking it, depending on the specific requirements set by the retailer. If the decision is to restock in-store order items immediately upon receipt, the inventory changes are updated in HotWax Commerce instantly. These inventory updates are then synced with Shopify through the 'Upload recent inventory changes' job.
Explore how HotWax Commerce syncs pre-order and backorder catalogs to Shopify seamlessly.
The items that are available for pre-order or backorder are transferred from HotWax Commerce to Shopify through the "presell catalog sync" job. This job is set to run every 15 minutes by default and updates the product listings on Shopify based on any changes made to the pre-order/backorder category in HotWax Commerce within the last 15 minutes.
The products are listed/delisted from Shopify through the following steps:
The “presell catalog sync” job generates a GraphQL file that contains information about products that have been added or removed from the pre-order/backorder category. This file is then uploaded to Shopify. The details included in the GraphQL file are the promised delivery date, product category, and product status.
The GraphQL File also indicates whether the "continue selling when out of stock" flag should be turned ON or OFF.
When a GraphQL file is processed by Shopify, the meta field on the product variants is populated with the promise date, product category, and product status. HotWax Commerce checks the inventory policy for each product variant to ensure that "Continue selling when out of stock" is automatically turned on or off
To further illustrate this example, let’s take a look at a GraphQL file for the given purchase order items:
Once all the products are listed on Shopify, it's important to add the HC:Pre-order or HC:Backorder tag accordingly. These tags can easily be added using the 'Add pre-order tags' and 'Add backorder tags' jobs, which run every 15 minutes. By checking the pre-order category in the meta fields, the jobs add the appropriate tag to the parent product on Shopify.
The HotWax Commerce Pre-order PDP app utilizes tags and meta fields to modify the 'Add to Cart' button and show the expected delivery date on Shopify PDP. Products labeled with 'HC:Pre-order' tags will have the 'Add to Cart' button changed to 'Pre-Order', while products with 'HC:Backorder' tags will display 'Backorder' instead.
When a product is delisted from presell, its status changes to inactive and the option to 'continue selling out of stock' is set to false. There are three conditions that may require inventory to be delisted from Shopify.
After the merchant has received all the orders for the available ATP on the black jacket:
When the merchant receives red shirts inventory at their fulfillment center:
When the arrival date of a purchase order is passed:
After delisting pre-orderable products from Shopify, merchants can use the 'Remove pre-order tags' and 'Remove backorder tags' jobs to get rid of the HC:Pre-order and HC:Backorder tags. This will happen automatically every 15 minutes.
If a pre-orderable product is delisted from Shopify, the buttons for 'Pre-order' and 'Backorder' will switch to 'Add to Cart' on the Shopify PDP page as long as there is inventory for any upcoming orders. If the available to promise (ATP) quantity runs out and becomes zero, the "Pre-order" and "Backorder" buttons will switch to "Out of Stock".
Purchase Orders | Product Name | Arrival Date | Product category | Status | Continue Selling Out of Stock |
---|
Purchase Orders | Product Name | Arrival Date | Product category | Presell Status | Continue Selling Out of Stock |
---|
Purchase Orders | Product Name | Arrival Date | Product category | Presell Status | Continue Selling Out of Stock |
---|
Purchase Orders | Product Name | Arrival Date | Product category | Presell Status | Continue Selling Out of Stock |
---|
PO 1234 | Black Jacket | 10-10-23 | Pre-order | Active | True |
PO 1234 | Green Jacket | 10-10-23 | Backorder | Active | True |
PO 2345 | Red Shirt | 08-08-23 | Pre-order | Active | True |
PO 2345 | Green Shirt | 08-08-23 | Pre-order | Active | True |
PO 2345 | Purple Shirt | 08-08-23 | Backorder | Active | True |
PO 1AB2 | Yellow Shirt | 07-31-23 | Pre-order | Active | True |
PO 1234 | Black Jacket | 10-10-23 | Pre-order | Inactive | False |
PO 2345 | Red Shirt | 08-08-23 | Pre-order | Inactive | False |
PO 1AB2 | Yellow Shirt | 07-31-23 | Pre-order | Inactive | False |
Learn how HotWax Commerce reads Purchase Orders from the ERP to manage pre-sales efficiently.
HotWax Commerce can read Purchase Orders from the ERP to identify which products are available for pre-sell, the quantity available, and their expected delivery dates. Merchants can also manually upload POs using the HotWax Commerce PO Import App. HotWax Commerce automates the listing and delisting of pre-order and backorder items on Shopify by analyzing purchase orders. This includes displaying estimated delivery dates on the PDP, efficiently processing pre-orders/backorders, and ensuring accurate fulfillment. HotWax Commerce also provides a Pre-order PDP App that replaces the default 'Add to Cart' button and displays estimated delivery dates on the Shopify PDP.
Learn how to seamlessly launch the initial product download from Shopify.
Merchants can schedule an Import Products in Bulk
job in HotWax Commerce to download existing product details from Shopify, including Stock Keeping Unit (SKU) code, Universal Product Code (UPC), Shopify ID, Price, Tags, and Weight. This should be done before to ensure that products are available for incoming sales orders. The import process consists of two steps:
Downloading from Shopify- HotWax Commerce sends an to Shopify to download products. In response, Shopify returns product data in JSON format. Shopify permits downloading 250 products per API call. To prevent large data file errors, HotWax Commerce downloads only 100 products per call.
Product Creation in HotWax Commerce- After downloading, the JSON files are read from the file system, and product records are created in HotWax Commerce's database through the Process bulk imported files
job. If any data issues arise, error logs are recorded for later correction.
Parent Product
A virtual product, also known as a parent product, does not have a set size or color. When using HotWax Commerce, all fields in the product JSON are imported, but only relevant fields are processed to improve system efficiency. Here's how parent product fields are mapped in Shopify and HotWax Commerce:
Variant Product
The parent product comes in various sizes and colors, resulting in multiple variants. With HotWax Commerce, all of these variants can be downloaded. Here's how product variant fields are mapped in Shopify and HotWax Commerce:
Shopify merchants create new products for two reasons::
When a new product is added to the catalog.
When users prefer to delete the existing product and create a new one with updated fields
To make it easier to keep both Shopify and HotWax Commerce's product catalogs up to date, Shopify merchants can schedule an Import Products
job that runs every 15 minutes. This job checks the created_at
field of products in Shopify and identifies any products that were created after the last run of the job. Any newly created products are then imported into HotWax Commerce's product catalog through the Process bulk imported files
job. By doing this, HotWax Commerce's catalog stays synchronized with Shopify's catalog, ensuring that merchants have access to the most up-to-date product information.
It is recommended to run this job every 15 minutes. However, the frequency of the job can be set as per a merchant’s business needs.
Managing Sales Orders For Products That Are Not In HotWax Commerce
When orders are placed on Shopify, they are also transferred to HotWax Commerce. However, sometimes an order might include a newly launched product in Shopify that has not yet been synced with HotWax Commerce. This can cause the order download to fail if the product import job has not yet run. To prevent this, HotWax Commerce creates a temporary placeholder product for the new item. Once the product import job is run, all the necessary information such as the product name, brand, price, weight, and so on are added to the placeholder product. This ensures that the order download is successful and the customer receives their product.
S.No. | Fields in Shopify | Fields in HotWax Commerce |
---|
S.No. | Fields in Shopify | Fields in HotWax Commerce |
---|
Shopify has multiple product identifiers, such as Shopify Product ID, Product SKU, Product Name, and UPCA. Therefore before importing products, it is important to set up the primary product identifier that will be mapped with the product ID in HotWax Commerce. The primary product identifier can be set up in HotWax Commerce when as per retailers' requirements.
1 | ID | Shopify Product ID |
2 | Title | Product Name |
3 | Body HTML | Product Content |
4 | Vendor | Brand |
5 | Product_type | Categories |
6 | Tags | Tags |
7 | Variant | Variant |
8 | Media | Overview |
1 | Product Variant ID | Shopify Product ID |
2 | Title | Product Name |
3 | Options | Feature |
4 | Image | Image |
5 | Parent Product | Parent Product |
6 | Price | Price |
7 | SKU | SKU |
8 | Quantity | View inventory |
9 | Shipping | Shippable |
10 | Product Type | Product Type |
11 | Weight | Weight |
12 | Metafields | Product Tag |
Discover how HotWax Commerce efficiently handles exchanges. Simplify your exchange processes seamlessly.
Retailers have the flexibility to create exchanges both in-store and on Shopify. In HotWax Commerce, exchanges are recognized during the process of importing refunds from Shopify when the order information includes the user ID and order line item details but lacks the transaction amount.
Customers we have worked with, use Shopify as their eCommerce platform, NetSuite as their ERP system, Loop as their RMS, and HotWax Commerce as their OMS.
Exchange orders that are created in Shopify are imported into HotWax Commerce just like regular sales orders. Given that exchanges are created by Loop in Shopify, they are assigned the sales channel Loop Exchange
within Shopify. Additionally, these exchange orders have a discount code labeled loop-discount
applied to them.
Consequently, all exchange orders imported from Shopify into HotWax Commerce have a Loop Exchange
sales channel as well as the discount code labeled loop-discount
applied to them.
When a customer exchanges an item for another, it's crucial to link it to the original order against which the new item is purchased. References to the original order stored in Shopify notes are saved in HotWax Commerce as a communication event
. This helps ensure that the continuity of the transaction is maintained and accurately tracked.
The downloaded exchange orders are then brokered to the optimal fulfillment locations by HotWax Commerce.
These exchange orders are also synchronized to NetSuite for further processing. Learn more about synchronization of exchange orders from HotWax Commerce to NetSuite ERP.
Restocking Item from the Original Order
An exchange refers to a transaction in which a customer returns a purchased item and, instead of receiving a refund or store credit, opts to swap the returned item for a different product.
When an item from the original order is returned on Shopify, it provides an option to enable the restock returned inventory flag. However, HotWax Commerce does not automatically increase the inventory count even if the restocked return flag is enabled on 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 ERP systems like NetSuite.
POS exchange sales are similar to other POS sales as both the transactions recorded in Shopify POS. POS exchange sales created in Shopify POS are imported into HotWax Commerce just like regular POS sales.
Given that POS exchanges are created in Loop POS and synced by Loop to Shopify, they are assigned the sales channel Loop Exchange
within Shopify. Consequently, all POS exchanges imported into HotWax Commerce have a Loop Exchange
sales channel as well.
When POS sales are downloaded in HotWax Commerce, POS sales have a Completed
status, the sales channel is set to POS_Channel
, and shipping method is set to POS_COMPLETED
. While, in the case of POS exchange sales, although they also have a Completed
status, their sales channel is Loop Exchange.
Due to this distinction, HotWax Commerce is unable to assign their shipping method as POS_COMPLETED. Instead, it is designated as Two-Day Shipping
as default.
Similar to web exchanges, in case POS exchanges references to the original order stored in Shopify notes are also saved in HotWax Commerce as a communication event
.
These POS exchange sales are also synchronized to NetSuite for further processing. Learn more about synchronization of POS exchange sales from HotWax Commerce to NetSuite ERP.
Restocking Item from the Original Order
When an item from the original order is returned on Shopify POS, HotWax Commerce downloads the return data, including the facility ID where the returned items are received. If the restocking flag is enabled, HotWax Commerce also restocks the inventory based on the captured facility ID.
Explore how HotWax Commerce efficiently manages appeasements to streamline customer service processes effortlessly.
Retailers often provide appeasements in various scenarios, such as:
Appeasement for orders lost in shipment.
Appeasement for a poor fulfilment experience.
Appeasement due to customer dissatisfaction with the product
HotWax Commerce does not have a direct feature for retailers to create appeasements. Instead, Customer Service Representative (CSR) teams can create appeasements to address customer concerns in Shopify. When an appeasement is generated, HotWax Commerce downloads this information along with refund details. In appeasements, the order information contains a User ID and a transaction amount, but it does not contain any data on the order line item. HotWax Commerce syncs the appeasement information for reporting purposes. Retailers can offer appeasement through two methods: A. Offering Another Product: In this scenario, the original product remains marked as ‘completed’ in HotWax Commerce and ‘fulfilled’ in Shopify. However, a new order is generated with a 0 sales total in Shopify, which is downloaded in HotWax Commerce for fulfilment. B. Offering Refunds Without Creating a Return: Some retailers opt to provide a full or partial refund as compensation for post-sale satisfaction. In this case, the customer retains the product, and the order remains “fulfilled” in Shopify and ‘Completed’ in HotWax Commerce. When HotWax Commerce imports refunds, it imports the refunded amount to the customer and includes it in the order details for reporting to the ERP system.
Discover the process of downloading bundle orders from Shopify to HotWax Commerce.
HotWax Commerce manages order downloads for bundles through two distinct jobs:
Job-1: Import Orders:
This job downloads orders for product bundles alongside other open sales orders.
Job-2: Internal Bundle Product Job:
This job is specifically designed for orders with bundles. Once it finds that an order has a bundle i.e. modeled as a marketing package in HotWax Commerce, it takes the following steps to ensure fulfillment of the bundle
HotWax Commerce creates a ship group for the bundle, and its components are also added as new order items in that ship group of the order.
Creating a new ship group helps in disabling Split Shipment configuration for specifically this new ship group, so Split Shipment is disabled to ensure that all items of that bundle are routed to a single fulfillment location.
When the brokering engine runs, it skips the brokering of the bundle as it does not possess any inventory, and inventory is only allocated for components.
Explore how Shopify retailers provide diverse options for online product returns with omnichannel retail.
In the world of omnichannel retail, Shopify retailers offer their customers two distinct options for returning online products: Mail Returns and In-Store Returns. HotWax Commerce plays distinct roles in handling these two types of returns:
Mail Returns: Mail returns could be initiated by customers, or by the customer service representative (CSR) team in response to customer requests, which can be received through email or phone calls. Returns are created in Shopify and retailers often utilise third-party return management apps like Happy Returns, Loop Returns, or Returnly to facilitate the management of returns..
Here, HotWax Commerce does not serve as a Return Management System. HotWax Commerce downloads the return data once the return process is successfully completed in Shopify. This downloaded information is seamlessly sent to the ERP systems for financial and accounting purposes without the need for direct integration between ERP and Return Management Systems. This streamlined integration is made possible by HotWax Commerce's built-in capabilities for seamless data transfer between Shopify and ERP systems. In-store returns: For in-store returns of online orders, retailers using Shopify POS can create and manage returns efficiently through the POS system. Shopify POS is well-equipped to handle in-store return requests for online orders, simplifying the process. For retailers using non-Shopify POS systems, HotWax Commerce provides the necessary tools and functionality to create and manage returns effectively through HotWax Commerce.
Learn how bundles are efficiently downloaded from Shopify to HotWax Commerce for enhanced product management.
Shopify retailers often use third-party apps like Bundles that help in selling kits and bundles in Shopify. Retailers can use these apps to merge components (The products that are included in a kit are referred to as components) that pre-exist in the product catalog of Shopify to create a kit or bundle. The Bundles App helps in creating Bundle and this app automatically adds the SKU of components in the metafield of the Bundle.
HotWax Commerce downloads the bundle like regular products with the ‘Import Products’ job. However, during the synchronization process, HotWax Commerce also inspects the metafields associated with the products downloaded from Shopify. This inspection involves identifying bundles and their respective components.
When HotWax Commerce identifies bundled products, it creates a virtual product called a ‘marketing package’ that maps to the bundle in Shopify. This marketing package creation involves associating individual components that pre-exist as separate SKUs in HotWax Commerce to ensure that the components are reserved and fulfilled when customers order a bundle product.
HotWax Commerce Integration App aids merchants in managing sales orders and store inventory efficiently. It simplifies the process by strategically allocating inventory to fulfill orders promptly, whether for same-day or next-day delivery, using options like Buy Online Pick Up In Store (BOPIS) and Ship from Store. It consolidates orders from online and physical stores, optimizing inventory management to ensure timely delivery to customers. Additionally, HotWax Commerce provides reporting capabilities, giving retailers insights into their business performance for informed decision-making.
As with any Shopify-integrated application, HotWax Commerce requires specific permissions to access and utilize essential store data effectively. This guide outlines the comprehensive list of access scopes required by HotWax Commerce to operates seamlessly within the Shopify ecosystem to deliver optimal performance and value to merchants.
1. read_assigned_fulfillment_orders Access Scope: FulfillmentOrder resources assigned to a location managed by your fulfillment service. Reason: These permissions allow HotWax Commerce to update the fulfillment orders assigned to locations under its control, ensuring accurate fulfillment management within the Shopify ecosystem.
2. read_channels Access Scope: Reason: This permission allows HotWax Commerce to access channel-related data such as whether an order is from Shopify web channel or social media channel for comprehensive order management and analysis.
3. read_draft_orders Access Scope: Draft Order Reason: HotWax Commerce imports draft orders, including those created by merchants, to ensure comprehensive order fulfillment coverage, particularly for orders originating from customer service representatives (CSRs).
4. read_files Access Scope: GraphQL Admin API GenericFile object and fileCreate, fileUpdate, and fileDelete mutations. Reason: This permission enables HotWax Commerce to monitor and synchronize file-related changes, ensuring real-time updates and accurate reflection of changes made within Shopify.
5. read_fulfillments Access Scope: Fulfillment Service Reason: By accessing fulfillment details within Shopify, HotWax Commerce ensures synchronization and accurate updates of fulfillment processes within its system.
6. read_gift_cards Access Scope: Gift Card Reason: HotWax Commerce identifies and updates payment methods, including gift cards, in the ERP system based on order information retrieved from Shopify.
7. read_inventory Access Scope: Inventory Level and Inventory Item Reason: This permission allows HotWax Commerce to monitor inventory levels by regularly checking inventory data from Shopify.
8. read_locations Access Scope: Location Reason: By accessing location data, HotWax Commerce ensures alignment between Shopify locations and fulfillment centers within its system, facilitating efficient order processing.
9. read_merchant_managed_fulfillment_orders Access Scope: FulfillmentOrder resources assigned to merchant-managed locations Reason: HotWax Commerce requires access to fulfillment orders managed by merchants to streamline order fulfillment operations effectively.
10. read_orders Access Scope: Abandoned checkouts, Customer, Fulfillment, Order, and Transaction resources. Reason: HotWax Commerce imports all orders and updates to ensure comprehensive order management and accurate fulfillment processes.
11. read_products Access Scope: Product, Product Variant, Product Image, Collect, Custom Collection, and Smart Collection Reason: HotWax Commerce imports detailed product information, including variants and collections, to ensure accurate product representation and order processing.
12. read_returns Access Scope: Return object Reason: To maintain order and inventory synchronization, HotWax Commerce syncs returns created within Shopify to ensure accurate order processing and inventory management.
13. read_third_party_fulfillment_orders Access Scope: FulfillmentOrder resources assigned to a location managed by any fulfillment service Reason: HotWax Commerce requires access to third-party fulfillment orders to ensure comprehensive order management and synchronization with its system.
1. write_assigned_fulfillment_orders Access Scope: FulfillmentOrder resources assigned to a location managed by your fulfillment service. Reason: These permissions allow HotWax Commerce to update the fulfillment orders assigned to locations under its control, ensuring accurate fulfillment management within the Shopify ecosystem.
2. write_files Access Scope: GraphQL Admin API GenericFile object and fileCreate, fileUpdate, and fileDelete mutations. Reason: This permission enables HotWax Commerce to create, update, and delete files within Shopify, facilitating seamless synchronization and management of file-related changes.
3. write_fulfillments Access Scope: Fulfillment Service Reason: By managing fulfillment details within Shopify, HotWax Commerce ensures accurate updates and synchronization of fulfillment processes is updated to Shopify and subsequently to the customers.
4. write_gift_cards Access Scope: Gift Card Reason: HotWax Commerce requires write access to gift cards on Shopify for gift card activation, enabling customers to use them for future purchases.
5. write_inventory Access Scope: Inventory Level and Inventory Item Reason: As the master of available inventory, HotWax Commerce updates inventory changes on Shopify to maintain accurate stock levels.
6. write_merchant_managed_fulfillment_orders Access Scope: FulfillmentOrder resources assigned to merchant-managed locations Reason: HotWax Commerce manages fulfillment orders assigned to merchant-managed locations, ensuring efficient order processing and fulfillment.
7. write_orders Access Scope: Abandoned checkouts, Customer, Fulfillment, Order, and Transaction resources. Reason: HotWax Commerce adds tags to Shopify orders for various purposes such as identifying pre-orders or pickup orders, necessitating write access to orders.
8. write_products Access Scope: Product, Product Variant, Product Image, Collect, Custom Collection, and Smart Collection Reason: HotWax Commerce adds tags to products, such as pre-order tags, facilitating effective management and identification of product status.
9. write_third_party_fulfillment_orders Access Scope: FulfillmentOrder resources assigned to a location managed by any fulfillment service Reason: These permissions allow HotWax Commerce to manage third-party fulfillment orders, ensuring comprehensive order management and synchronization with its system.
Retailers seeking to offer Buy Online, Pick Up In Store (BOPIS), or pre-order solutions on their Shopify store need to enable bopis/Pre-order scripts to implement changes on Shopify PDP and to show Pre-Order
or Pick Up Today
Button. Integrating these features seamlessly into their online store not only enhances the shopping experience for customers but also streamlines the operational process for retailers. With the HotWax Commerce Integration App
, retailers can customize directly on the Shopify interface.
Here's how you can enable BOPIS/Pre-order on Your Shopify PDP
Login to HotWax Commerce: Access your HotWax Commerce instance using your credentials.
Navigate to Shopify Shop Menu: Open the Hamburger menu and select the Shopify Shop
menu.
Open Shopify Shop View: Click on the Shop ID
to open the Shopify shop view
page.
Access Shopify Script Section: Scroll down to the Shopify Script
section on the Shopify shop view
page.
Add BOPIS or Pre-order JS: Click the Add
button and select either BOPIS JS
or Pre-order JS
from the dropdown menu. Press Add
to confirm the selection.
Verify JS Addition: Ensure that the JS file is added successfully and reflects its version.
Add BOPIS CSS or Pre-order CSS: Click the Add
button again and select either BOPIS CSS
or Pre-order CSS
from the dropdown menu. Confirm the addition.
Verify CSS Addition: Ensure that the CSS file is also successfully added below.
Customize PDP (Optional): If desired, customize the PDP for BOPIS or Pre-order by clicking on the file icon for JS and CSS, apply changes, and upload it back into HotWax Commerce using the upload
button.
Add Shopify Tag ID: In the Shopify Tag ID
column against the JS, click the Add
function. Verify that the Shopify Tag ID
is added and reflected. Since the CSS is already associated with the JS file, adding a Shopify Tag for the CSS file is not required.
This ensures seamless integration and reflects the modifications on the Shopify storefront instantly. Users can verify the pickup button at Shopify PDP and confirm that both scripts are added successfully.
Learn how to efficiently set up facilities in HotWax Commerce for seamless integration with Shopify locations.
When mapping locations, map the default Shopify location with the Brokering queue (NA in Hotwax). This ensures that unified inventory across facilities is updated to a single location in Shopify. When an order is placed on Shopify, inventory is reduced from the default location, and the order is sent to the HotWax Commerce Brokering queue
for brokering to the optimized location for fulfillment.
On the Shopify Config Detail page for your store, follow these steps:
Scroll down to the Shopify Location ID
section.
Click on Add
to include new facilities.
Select the Brokering queue from the facility dropdown and add the default Shopify location ID in the Shopify Location ID input.
If you are using Shopify POS, you need to map the Shopify location ID with all the POS locations.
Click on Add
to include new facilities, search for the facility from the dropdown, and add the Shopify location ID of the location from Shopify.
Follow this process for all facilities.
Follow these steps to seamlessly integrate Shopify POS locations with their corresponding store facilities in HotWax Commerce:
Navigate to the Administration side of your Shopify account.
In the settings menu, go to Locations and utilize the search function to locate the desired location. Select the location and open its detail page.
In the URL of the location detail page, find the location ID and copy it.
Paste the copied location ID in the OMS.
Repeat these steps for each Shopify POS location, ensuring accurate mapping between Shopify and HotWax Commerce facilities.
Ensure you have mapped default location in Shopify with Brokering queue i.e NA in Hotwax
Discover how HotWax Commerce efficiently downloads BOPIS orders from Shopify.
Learn how to configure integrations between HotWax Commerce and Shopify Shops with ease.
The HotWax Commerce integration layer maintains a structured repository of integration mappings between Shopify and HotWax Commerce, covering locations, payment methods, shipping methods, product types, and price levels.
Retailers can have multiple Shopify Shops based on their business scope. Therefore, it is imperative to map the integrations available in HotWax Commerce with different Shopify shops according to business requirements. Users need to periodically amend mappings to ensure alignment with the current operational landscape. Due to these semi-frequent adjustments, users require access to update these mappings themselves.
The dedicated Shopify Shop page within the OMS allows you to manage integration mappings between HotWax Commerce and Shopify Shop directly from the UI without relying on external support.
Here’s how you can configure these mappings between HotWax Commerce and Shopify Shops. Before creating the integration mapping, create the corresponding Shopify shop. Read our extensive user manual to learn how to create a Shopify shop in HotWax Commerce.
Navigate to the Shopify Shop Page
from the menu.
Locate the specific mapping you want to configure.
Click on the Add
button and fill in the mandatory details mentioned in the input fields.
Field | Description |
---|
Confirm establishing the new mapping by clicking on the Add
button.
The integration layer maps entities in Shopify to their corresponding representations in HotWax Commerce. This mapping is established through a key-value pair, where the key denotes the original entity, and the value signifies its counterpart in HotWax Commerce.
If you want to set up a custom integration mapping, navigate to the section Shopify Shop Type Mapping
and click on Add Type
. Add the following details to create the corresponding Integration type mapping.
Field | Description |
---|
Confirm establishing the new custom mapping by clicking on the Add
button. Now, you're ready to utilize out-of-the-box mappings and also create custom integration mappings.
Some default mapping data needs to be added when connecting a Shopify store to ensure that data flows smoothly between both systems with correct mappings.
If you're only using the default SHOP Shopify Shop ID, this data needs to be created only once. However, for multiple Shopify stores, input the data individually for each store. The Shopify Shop ID will change and be obtainable from the header of the View Shopify Shop page in OMS.
After incorporating the default mapping, please add any custom mappings as needed. You can find steps to map the integration for each Shopify Shop type on their respective page
HotWax Commerce downloads both physical and digital gift cards orders from Shopify with the Import Orders
job. This process remains straightforward for gift cards orders, just as it does for other orders.
Learn more about
When customers place a BOPIS order on Shopify, it is downloaded in HotWax Commerce alongside through the 'New Import' job. HotWax Commerce then checks the line item property and sends the order to the customer's preferred pickup location without brokering. Store associates can view BOPIS orders in their BOPIS fulfillment app and begin preparing the order for customer pick-up.
Integration Mapping Key | The mapping ID present in Shopify. |
Integration Mapping Value | Corresponding value present in HotWax Commerce. |
Description | Briefly describe the method. |
Integration Type Enum ID | Provide the unique identifier for the integration type. |
Integration Type Enum Code | Provide the shorthand code representing the integration type. |
Integration Type Enum Name | Provide the human-readable label for the integration type. |
Description | Write brief information about the integration type. |
Discover how HotWax Commerce ensures precise inventory synchronization of bundles to Shopify.
In HotWax Commerce, components of bundles are associated with a parent product defined as a marketing package. This package, being a virtual product, doesn't have its own inventory. As a result, HotWax Commerce doesn't synchronize inventory data for this product.
Inventory Calculation with Bundles App
The Bundles app computes inventory based on the lowest available quantity among all individual components. For instance, if a bundle consists of a Belt and a Wallet:
Belt's inventory: 7
Wallet's inventory: 10
The bundled product's inventory becomes 7, as it matches the lowest quantity available.
Inventory Updates and Frequency
HotWax Commerce synchronizes the inventory of components as regular products using the 'Upload recent inventory changes job'. The Bundles app checks for inventory changes every 10 minutes and computes the bundle's inventory.
For instance, if a customer buys a belt and its inventory reduces to 6, the Bundles app also decreases the inventory of the bundled product.
Inventory Calculation without Bundles App
In the absence of the Bundles app, HotWax Commerce can also calculate inventory for bundles by considering the lowest available quantity among all components.
For multi-location inventory, availability and levels of each component at every location are considered. Only when all products are available at a specific facility, the bundle’s inventory for that facility is counted.
Example of Multi-Location Inventory:
Let's consider a bundle with Belts and Wallets as its components across different locations:
Times Square Store: 5 Belts
Brooklyn Store: 10 Wallets
Broadway Store: 3 Belts and 7 Wallets
HotWax Commerce ensures precise inventory management by calculating the inventory based on the lowest available quantity at a single facility. In this example, it would push an inventory of 3 to Shopify for this bundle, representing the available quantity of the scarcest component among all locations in the bundle.
Learn how to troubleshoot facility mapping discrepancies.
When a facility in HotWax Commerce isn't properly linked with external systems, like Shopify, it can cause problems with managing inventory. If the mapping isn't accurate, inventory synchronization between systems might not work well, leading to differences in inventory levels. Accurate mapping of the facility in HotWax Commerce to external systems is crucial for smooth inventory synchronization and operational efficiency. Follow these steps to link the facility correctly with external systems:
Before configuring any settings, it's crucial to establish a connection between the facilities within HotWax Commerce and external systems like e-commerce platforms, ERP systems, and third-party logistics systems. Each facility in HotWax Commerce manages inventory; and the Available To Promise (ATP) is also controlled by retailers through ERP integration, ensuring accurate fulfillment and inventory management across the system. Users can map the HotWax Commerce facilities with external systems using the following steps:
Access Facility Details: Users can click on the desired facility's name which will redirect them to the facility details page
, providing a comprehensive overview of the chosen facility.
External Mapping: Scroll down to the External Mappings tab
located at the bottom of the facility details page
.
Map Facility to an External System: Click on the Map Facility to an External System
button to initiate the mapping process.
Choose External System: In the menu that appears, choose the external system for which a mapping has to be created.
Fill in Required details:
For Shopify: Choose the appropriate Shopify store from the dropdown menu and add the location ID
of the facility that can be obtained from the URL of that specific location in the Shopify admin panel.
For Custom Mapping: Users can create custom mapping by selecting the Custom option
from the menu, adding the Mapping ID, Mapping Name (external system for which mapping needs to be done), and the Mapping Value
Save Mapping: Once the required information is filled in, click on the save
icon to save the configuration. This integration lays the groundwork for a cohesive connection between the facility in HotWax Commerce and the facility in the external system, facilitating streamlined configuration and operational processes.
Edit and Remove: Users can further edit the external ID in case of any modification of the facility on the external system using the Edit
button or remove any mapping by clicking on the Remove
button.
Discover how to initiate the initial product sync process between HotWax Commerce and Shopify for efficient data integration.
Before importing data from Shopify, it is crucial to have all default and custom mapping data in place for a smooth transition. Failure to do so may result in data discrepancies or errors during the import process.
To initiate the import of products from Shopify, a crucial step before importing other data, follow these steps using the Initial Load page in the Job Manager app:
Visit job-manager.hotwax.io.
Navigate to the Initial Load section.
Click on "Import products in bulk."
Choose the desired run time and initiate the import by clicking the "Run Import" button.
Access the Pipeline, specifically the Pending jobs section, to confirm that the job is scheduled as per the selected time. Wait until the job is completed.
Once the job finishes, proceed to the Find Product page and verify that all products have been successfully imported into the system. This step ensures a foundational dataset for inventory and order imports.
Shopify
Access the Shopify admin screen.
Append the following to the URL for product count:
For virtual products: products/count.json
For variants: variants/count.json
Example:
https://admin.shopify.com/admin/{shop-name}/products/count.json https://admin.shopify.com/admin/{shop-name}/variants/count.json
HotWax
To retrieve counts in HotWax, follow these structured steps in the webtools:
Navigate to the web tools and access the Entity list.
Search for the Product
entity.
Locate the isVirtual
field in the form and set its value to true
. This action gets the count of virtual products, visible in the results.
For variant product counts, use the filter isVirtual
set to false
.
Only necessary for Multi-Shopify store configurations where a common product catalog is shared. Skip if not applicable.
In a multi-Shopify store setup, a streamlined process needs to be implemented for product synchronization. In OMS, products are imported from a designated Master Shopify store, serving as the primary catalog. Subsequently, these products can be linked with products from other Shopify stores, functioning as child catalogs that share and sell the same products. Synchronization is achieved through the use of SKU or UPC, ensuring a cohesive and unified product management experience across the entire network of associated stores.
Once the product from the master catalog is in HotWax Commerce, retailers need to associate it with child catalogs using the Associate products with sub-catalog
job. This is a one-time action needed when initially importing all products to establish their associations, ensuring a comprehensive association between the master catalog and child catalogs. Thereafter, regular job needs to be schedule to create association whenever a new product is created in Shopify and downloaded in HotWax Commerce.
Follow these steps to schedule the job:
Log in to the Job Manager
App
Click on the quick switcher menu positioned at the bottom left corner of the Job Manager app
interface and select the child store for which the association needs to be created.
Navigate to the Product
page and go to the job title Associate products with sub-catalog
.
Click on the job title to open the job card and then select the custom parameters icon to configure the job settings.
Within the custom parameters modal, locate includeAll
field and input true
to include the products for the association.
In the scheduleNow
field, insert N
to ensure that the job runs instantaneously.
Save the changes to schedule and execute the job.
Click here to read about regular product association jobs.
Associations may take some time, depending on the number of products being linked. To confirm product associations, follow these steps:
Log in to your HotWax Commerce user instance.
Go to Import Create Shopify shop product data
page by clicking here. Change demo-oms
with your user instance and log in to the HotWax Commerce to access the page.
Check that the import status reads as finished
.
Further, you can go to the Products
page and click on the preferred product to navigate to Product Detail
page and see the associated shopify shop under Shopify Shop Product
section.
Troubleshoot order synchronization between HotWax Commerce and Shopify for seamless order management.
Verification on Shopify:
Check Shopify to verify if the order is successfully placed by searching for the order ID. If not found, create the missing orders.
Run Order Import Job:
In the HotWax Commerce Job Manager
app, navigate to the orders
page and execute the New Orders
job. This action ensures all recently created orders are imported into HotWax Commerce.
Check Shopify Jobs Section:
Go to the HotWax Commerce platform.
Access the EXIM
section in the hamburger menu.
Navigate to the Shopify Jobs
subsection.
Review MDM Jobs:
Under MDM
(Master Data Management), locate the Shopify Order MDM
job.
Inspect Failed Record:
Check the logs for this job to identify any failed records. You can also filter the failed records.
If failed records are found after the order has been placed till the Import Order
job runs, open the associated file containing the JSON data. Match the Shopify order ID in the JSON data to verify it's the same order.
Identify Errors in the Failed Records:
Check for the event message in the failed logs. Orders may fail due to missing customer address or phone number.
Rectify any such issues on Shopify and download the orders again by navigating to EXIM
> Shopify Jobs
> Order management
> Import Shopify Orders
.
Enter the order ID
and run the job to download the order again.
If the job fails due to technical errors, use logs to find out the reason for failure, non-technical users can use AI tools to decipher error messages.
If the problem still persists, connect with the HotWax Commerce support team for further assistance.
If you observe an order stuck in the created
status for an extended period, it's advisable to examine the sales channel associated with the order. If the order originates from the web sales channel, consulting the Order Approval
troubleshooting document can provide valuable insights into resolving the issue.
However, if the order originates from the POS channel, it's crucial to verify its status directly on Shopify. Occasionally, orders are marked fulfilled in Shopify after some time, but if the HotWax Commerce import job runs in the meantime, the order might be marked as fulfilled on Shopify but remain stuck in the created
status within HotWax Commerce.
Log in to the Shopify admin portal and locate the specific order that requires updates.
Click on the Shopify Order ID to view orders on the Shopify Admin panel.
Review the order details to check the status of the order.
If the order is fulfilled in Shopify, follow these steps to mark the order completed
in HotWax Commerce.
Access the View Sales Order page in HotWax for the identified order. Click on the "refresh order" button to initiate the order refresh process.
When the refresh button is clicked, HotWax generates a new version of the order and cancels the current one.
Go back to the View Sales Order Page and select "Completed" and "Canceled" statuses from the order status filter dropdown.
Verify that the new version of the order is created in HotWax and that it reflects the correct status from Shopify. The old version of the order will be marked canceled
with the tag old version
.
Discover how to synchronize shipping methods between Shopify and HotWax Commerce seamlessly.
Shipping methods in Shopify must be mapped in HotWax Commerce for efficient order fulfillment. When orders are synced from Shopify to HotWax Commerce, it's crucial to synchronize the shipping method information. However, HotWax Commerce may have a single method servicing multiple Shopify shipping methods.
To address this, the HotWax integration layer maps the original carrier and shipment method from Shopify to the corresponding method in HotWax Commerce. During order syncing from Shopify, the integration layer checks saved mappings, ensuring accurate correspondence. This shipping method mapping guarantees alignment between the selected shipping method in Shopify and its counterpart in HotWax Commerce, facilitating seamless order processing.
Retailers create shipping methods on Shopify to choose where they ship and how much they charge for shipping to the customer's location. Here's how you can locate existing shipping methods on Shopify:
Log in to your Shopify storefront's admin panel with your user credentials.
Navigate to Settings
> Shipping and Delivery
Shipping methods available to customers on the checkout page are created as per the shipping zones. To view the shipping methods, click on the general shipping rates
available in the Shipping
section.
All the shipping rates will be visible in the shipping origins sections.
Shipping methods supported by the retailer need to be created in HotWax Commerce to ensure the accurate transmission of shipping information to the carrier. Follow these steps:
Log in to your user instance and navigate to Settings > General Settings.
Locate the shipment method section and click on Add
, which will open up a form.
Fill in the required fields:
Shipment Method Type ID: The name used to identify the shipping method within HotWax Commerce. You can give any name which is easy to identify when mapping with Shopify.
Description: A brief explanation of the shipping method's intended purpose.
After entering the necessary details, click on Add
to save the shipping method in HotWax Commerce.
Once shipping methods are created, they need to be mapped with the Shopify Shop to receive accurate information for order processing and fulfillment.
Navigate to the Shopify Shop Carrier Shipment
section on the Shopify Shop Page.
Click on the Add
button, which will open up a new pop-up box.
Choose the carrier and the carrier shipping method existing in HotWax Commerce from the dropdown menu.
Enter the Shopify Shipping Method present in Shopify, and click on the Add
button to save the mapping.
Discover how to configure payment methods in HotWax Commerce for a seamless integration with Shopify.
Before initiating order synchronization from Shopify to HotWax Commerce, it is essential to configure payment methods in HotWax Commerce. This step is crucial for seamless integration with Shopify. The HotWax integration layer facilitates the mapping of payment methods in Shopify to their corresponding counterparts in HotWax Commerce. This mapping is vital for creating customer payments and optimizing order fulfillment. Retailers can find the existing Shopify Payment methods from their Shopify Admin Panel. Follow these steps to identify which payment methods exist for your Shopify Shop and need to be mapped
Log in to your Shopify
storefront
Navigate to Settings
> Payments
Here, you can view all the existing payment methods, and click on manage
to add or remove any payment method.
Mapping payment methods becomes particularly important for Cash-On-Delivery (COD) orders. Aligning payment methods allows fulfillment teams to identify orders with pending payments, enabling swift payment collection during order fulfillment. HotWax is relied upon for reporting, and accurate data aggregation of orders and payment methods provides insights into payment trends and customer behavior.
As orders move from Shopify to HotWax Commerce, the integration layer checks saved mappings. The defined payment method is applied in the order feed, ensuring consistency and accuracy. This systematic approach expedites order fulfillment and minimizes errors in payment processing.
Retailers can follow these steps:
Go to the Shopify Shop
Page and locate the Shopify Payment Method Type
section. If the section is not present, navigate to the Shopify Shop Type
section and click the Add
button to create any new Shopify Shop Type, including the Payment Method Type.
In the Shopify Shop Payment Method Type
section, click on Add payment method type
to create new payment methods in HotWax Commerce.
A pop-up box will appear. Here, add the Payment Method Type as per your naming preferences, starting with EXT_SHOP, and provide a brief description of the payment method type.
After creating the payment method, click on the Add
button in the Shopify Payment Method Type
section to map the payment method with the Shopify Shop.
In the pop-up box, input the key
, which is the mapping ID present in Shopify, and add the corresponding value
available in HotWax Commerce.
Click on the Add
button to save the Payment Method Type mapping.
To remove existing payment methods, click on the delete
icon in the respective payment method row.
After incorporating these mandatory mappings, please add any custom mappings as needed.
In HotWax Commerce, retailers can map both payment gateways and payment methods. However, due to the hierarchical structure of mapping, if payment gateways are mapped, payment methods won't be stored within HotWax Commerce. Instead, users will only see the gateway name alongside order details, regardless of the payment method used. If the intention is to retain payment method data, it's necessary to remove the mapping of the payment gateway from HotWax Commerce.
Many times customers visit their preferred store location to return or exchange their online order. Perhaps they received the wrong size, the item is defective, or they simply changed their mind. Shopify provides a streamlined process for returns and exchanges. Store associates can directly process returns using Shopify POS, specify the items customers wish to return and the reason for the return. If they'd like to exchange the item for a different product, Shopify allows them to select the new item directly within the return process.
Shopify has streamlined the returns and exchange process for both customers and retailers. When there is an exchange order in Shopify POS, it creates a return for the items the customer doesn’t want and adds the new items the customer purchased in exchange to the order
This seems straightforward for the initial exchange process, as the transaction details and order information are consolidated within the original order. However, this approach creates complexities for ERP systems like NetSuite or other accounting systems that hold a repository of all the financial records.
Here's where the challenges arise:
Multiple Return Scenarios: Customers may want to return items from their order, the exchanged item, or even a combination of both. Shopify will continue to update the same order with this new return information.
Missing Transaction Details: While Shopify reflects the exchange within the order itself, it doesn't inherently link all transaction details (refunds and additional captures) to specific return/exchange items. This makes it difficult for ERP systems to accurately attribute these financial transactions to the correct returned or exchanged items.
Accounting Discrepancies: ERP systems rely on clear and accurate financial data for GL accounting and posting. The consolidated order structure in Shopify, while user-friendly for returns processing, can lead to discrepancies for downstream systems trying to record the financial trail for each returned or exchanged item.
HotWax relies on unique payment methods like Exchange Credit
and Exchange Payment
to distinguish between the original item value and any additional charges associated with an exchange. This ensures accurate financial records in HotWax and eliminates confusion for integrated ERP systems. These attribution payment methods are internal to HotWax Commerce and are used to handle the attribution logic.
Exchange Credit: This is the amount the customer has already paid for the original item being returned. It's used towards purchasing another item in the exchange order.
Exchange Payment: If the customer exchanges for an item of higher value, they pay the difference. This additional payment is known as exchange payment.
Exchange Refund: After deducting any exchange payment, any remaining amount from the original payment is refunded to the customer for returned items.
HotWax Commerce connects the attribution payment method with the Parent Payment Reference
, linking the exchange order to the Shopify transaction on the original order. This helps track Shopify transactions under one main order and manage financial credits or additional payments related to exchange orders, facilitating the movement of credits and capturing extra payments during exchanges.
HotWax keeps a unified transaction history to keep track of all Shopify transactions in the original order while managing financial attribution to exchange orders. This approach helps avoid cross-order transactions and ensures that all financial activities are accurately recorded and easily traceable. To balance out the payment transactions on the original order, HotWax negates the amount of the exchange order from the original order.
HotWax doesn't simply accept the consolidated order structure from Shopify. Instead, it separates returns and exchange items, creating distinct order records for each action. This provides a clear historical record for each return or exchange, simplifying financial tracking in HotWax and for any downstream ERP integrations.
HotWax Commerce uses a multi-step data fetching strategy to import refunds and exchange data from Shopify. A scheduled job in the HotWax Commerce integration platform fetches all returns and exchanges from Shopify and generates a returns and exchanges feed.
Another job in the HotWax Commerce integration platform reads and transforms this feed. The platform sorts the return and exchange orders, and then HotWax Commerce imports the returns and exchanges into the system.
The two independent jobs in HotWax Commerce then process these orders: the Create Return Order
job imports the returns from the SFTP path, and the Create Exchange Order
job imports the exchanges.
To illustrate how returns and exchanges are managed, let's explore two common scenarios:
When the exchanged item is of greater value than the returned item.
When the exchanged item is of lesser value than the returned item.
Let's consider an example where a customer places an online order on Shopify for three items: Item A, Item B, and Item C, each priced at $10. This order, when imported into HotWax Commerce, will have a corresponding payment transaction of $30 (Shop Pay 1).
Now, suppose the customer returns Item A and opts for an exchange with Item D, valued at $20. In this scenario, the item A was worth $10, while the exchanged item is worth $20. Therefore, the customer will need to pay an additional $10 for the exchange.
This additional payment will be recorded in Shopify under the same order to ensure proper transaction reconciliation. Now there are two transactions recorded on this order in Shopify: the initial transaction of $30 and a second transaction of $10 for the newly exchanged item.
The newly exchanged item in Shopify will be imported into HotWax Commerce as a new exchange order. The $10 (Shop Pay 2) payment for this exchanged item will be recorded on the original order, which includes Item A (returned), Item B, and Item C. Keeping transactions linked as they are in Shopify allows finance teams to easily reconcile their payouts from Shopify with payments on individual orders, as the transactions are logged directly without additional calculations.
Adding all Shopify transactions to the main order, however, inflates the payment captured on the original order. To handle this, HotWax Commerce creates balancing attribution transactions that serve as counterparts to the payments associated with exchange orders.
The two exchange credit transactions show that $10 from Shop Pay 1 and $10 from Shop Pay 2 were taken from the original order and applied to the exchange order. The purpose of the exchange credit transactions is to ensure the payments for the original order are balanced.
Here, a challenge is that Shopify doesn't specify how much credit is applied to new items. To address this, HotWax Commerce calculates this attribution. To determine the value of the payment carried over, we calculate it as follows:
(Exchange Order Total) - (Sum of Exchange Payments Captured) = Credit from Original Order
$20 - $10 = $10
With this handling, HotWax ensures accurate financial records in HotWax and eliminates confusion for integrated ERP systems.
In the event that the customer decides to return item D, an exchange item, they’d be receiving a refund of $20. When this return happens, Shopify will use a refund attribution algorithm that will find the largest payment transaction and attempt to refund the entire amount against it. This ensures that no unnecessary transactions are created and offers easy traceability within Shopify.
In this scenario, when a customer returns an exchanged item, according to the Shopify algorithm, the refund will be issued using the initial $30 transaction (Shop Pay 1), while the payment for the exchanged item is processed separately through a different transaction (Shop Pay 2).
In the event that the customer returns item D along with items B and C, Shopify links refund transactions to the original payment being refunded using a “parent ID”. Since HotWax Commerce has two different orders, it uses the Shopify transaction ID to identify which order the payment was captured on. This ensures that the refund is posted on the same order, maintaining traceability.
In Shopify, all payment captures are against the same order, whether it be for originally purchased items or exchange items. Due to this mixing of transactions in Shopify, refunds are also processed fluidly, where an exchange item may be refunded against a payment captured when making an initial purchase. The end result is that Shopify links the refund transaction to the capture transaction it is refunding, but the payment being refunded is not always the actual payment the customer made for the item being returned.
Original Order : Has a total payment of $40 in Shopify ($30 + $10).
Exchanged Order : Requires allocating $20 from the original order to ensure consistency in HotWax as in Shopify.
In Shopify :The order is refunded through two payments: $30 and $10, totaling $40. When refunds are processed, Shopify allocates them across these payments.
In HotWax Commerce: HotWax needs to split these transactions to match Shopify’s transaction records. For the $40 refund, HotWax splits it into: $20, $10, $10.
There are two valid ways to allocate these amounts
Attribute the two $10 amounts to the exchanged order and attribute the $20 amount to the original order
Attribute the $20 amount to the exchanged order and attribute the two $10 amounts to the original order.
Both methods are valid but create ambiguity in automatically deciding how to allocate these values in HotWax. This ambiguity makes it challenging for HotWax to match refunds accurately with Shopify’s payment transactions. Therefore, HotWax Commerce creates a record of the exchange refund attribution when the exchanged item is returned to balance the payments on both the original order and the exchange order. Importantly, the attribution refund transaction is not linked to a Shopify refund transaction since there are multiple correct ways of attributing refunds. The amount of the exchange refund will always be equal to the amount of the returned items in the exchange order.
When a customer returns item A, valued at $10, and opts for an exchange with another item D priced at $5, they will receive a refund of $5 to compensate for the price difference between the two items. In the event that the customer subsequently decides to return both the exchanged item and all the items from their original order, they will receive a total refund of $25, encompassing the combined value of all the returned items (Item B, Item C and Item D).
In this case, there will be an attribution of $5 to the exchange order with the payment method as Exchange Credit
and as there is no payment captured from the customer thus there will be no Exchange Payment
on the exchange order. By managing all these scenarios, HotWax Commerce ensures that all financial transactions are accurately recorded, facilitating seamless integration with ERP systems and providing a clear audit trail for returns and exchanges.
How does HotWax Commerce ensure accurate inventory updates from Returns and Exchanges?
When a customer returns an item in Shopify POS and exchanges it for another item, the inventory of the exchanged item is decreased in Shopify POS. Once this order syncs to HotWax Commerce in the completed status, HotWax automatically reduces the inventory for the exchanged item. For items returned from the original order, Shopify POS sends the return data to HotWax Commerce, including the facility ID where the returned items are received. If the restocking flag is enabled, HotWax Commerce will restock the inventory at the specified facility based on the captured facility ID.
Retailers receive orders through diverse channels, including eCommerce websites, social media platforms, online marketplaces, and point-of-sale (POS) systems. To enhance operational efficiency and evaluate performance across these channels, retailers must accurately identify the sales channel associated with each order.
Shopify is seamlessly integrated with various social media sales channels such as Facebook and Instagram, as well as online marketplaces like Amazon. All orders, regardless of the channel, are consolidated within Shopify. For orders originating from alternative channels, Shopify assigns a key to uniquely identify the source of each order. It is crucial for retailers to map these keys with corresponding values in HotWax Commerce to effectively identify the order sources.
Navigate to the Shopify Shop
Page and locate the Shopify Order Sales Channel
section. If the section is not present, proceed to the Shopify Shop Type
section and click the Add
button to create a new Shopify Shop Type, which includes the Shopify Order Sales Channel.
In the Shopify Order Sales Channel
section, click on Add Sales Channel Enum
to create a new sales channel within HotWax Commerce.
A pop-up box will appear. In this box, add the Enum ID
to provide a unique identifier for the integration type. Additionally, provide a brief description of the sales channel. Click on the Add
button to save the sales channel.
After creating the sales channel, click on the Add
button in the Shopify Orders Sales Channel
section to map the sales channel in HotWax Commerce to the order source in Shopify.
In the pop-up box, input the key
, which represents the mapping ID present in Shopify. From the dropdown menu, select the corresponding value
available in HotWax Commerce.
Click on the Add
button to save the Shopify Sales Channel
mapping.
To remove existing sales channels, click on the delete
icon in the respective sales channel row.
Mapped Key | Mapped Value |
---|---|
After incorporating these mandatory mappings, please add any custom mappings as needed.
Effortlessly update product details from Shopify to HotWax Commerce for seamless synchronization.
Merchants use Shopify to update their product information, such as the name, image, tags, and weight. HotWax Commerce regularly downloads these updates through the 'Sync Products' job, which can be set up in the Job Manager App. If a merchant needs to make changes to a product's details in Shopify, they can achieve this in the following two ways:
Deleting the existing product and creating a new one with updated details.
In the event that merchants opt to remove their current products and generate new ones with revised information, HotWax Commerce will proceed to erase the old items and introduce fresh products through an "Import Products" task.
Editing products’ fields in Shopify.
To keep their product details up-to-date, merchants can easily schedule the "Sync Products" job from the Product page in the Job Manager App. This job checks the "updated_at" field of the product in Shopify and compares it to the job's last run time. If the time in the "updated_at" field is later than the job's last run time, it will download all the product details from Shopify, compare them with the data in HotWax Commerce, and update any changed fields. By default, the "Sync Products" job runs every 6 hours, but merchants can adjust this frequency as needed from the Job Manager app.
Managing Sales Orders For Products That Are Not In HotWax Commerce
When orders are placed on Shopify, they are also transferred to HotWax Commerce. However, sometimes an order might include a newly launched product in Shopify that has not yet been synced with HotWax Commerce. This can cause the order download to fail if the product import job has not yet run. To prevent this, HotWax Commerce creates a temporary placeholder product for the new item. Once the product import job is run, all the necessary information such as the product name, brand, price, weight, and so on are added to the placeholder product. This ensures that the order download is successful and the customer receives their product.
Learn how to manage kit products seamlessly in HotWax Commerce.
To seamlessly import Kit products into OMS, ensure that the Shopify Config Access Scope is set to grant both read and write access to the Shopify shop.
The Bundles app checks inventory levels at 10-minute intervals, reducing inventory for kit products if individual item inventory decreases. Kit products have no physical inventory of their own, like NetSuite, the inventory calculations are based on the lowest common denominator between all individual components.
For multi-location inventory calculations, a kit products avaialbity is determined by the lowest common denominator of the kit comopnent inventory avaiable by facility. The computed inventory of a kit product at each facility is then summed to produce the final sellable inventory number.
During allocation, brokering is run on the kit components directly which actually have physical inventory at facilities. By default splitting is disabled for kit products in an order.
HotWax does not push kit product inventory to Shopify. Kit product inventory on Shopify is computed entirely by the Bundles app.
Out of the box HotWax Commerce does not come with a pre-loaded kit product integration with the Bundles app on Shopify. Before configuring Kit product data in OMS, it's crucial to install the Bundles app reader in OMS. Failure to do so may lead to missing jobs for the Bundles app. Follow the steps below for a seamless installation:
The Kit Component Metafields feature in the Bundles app on Shopify must be enabled for this functionality to work.
Go to the WebTools for your OMS instance using the provided sample link:
In the Enter readers
section, add the Bundles reader extension by typing ext-bundles
.
Click on the "Import" button to initiate the installation process.
By following these steps, you ensure that the Bundles Reader is properly integrated into OMS, allowing for accurate and efficient data communication during import configurations.
For HotWax to recognize your products as true kit products, their product type in Shopify must be mapped to 'Marketing Package' in HotWax. usually this is some variation of the word "Kit": KIT
,kit
,Kit
.
The Shopify product type value is case sensitive
Import kit components from Shopify
Enable this job for kit product associations
Discover how completed orders from Shopify POS are seamlessly integrated into HotWax Commerce.
Orders created and fulfilled in Shopify POS as normal cash sales are imported into HotWax as completed orders. A scheduled process identifies all these orders and issues inventory against them to maintain an accurate inventory level for all retail locations. To identify these orders, these orders are imported with a special shipping method, “POS Completed”.
To enable inventory issuance for these orders, please contact the integration team.
When these orders are posted to NetSuite they are posted as Cash Sales. They follow all the same order mapping rules as other orders, such as order type, channel, etc.
When setting up HotWax OMS with multiple Shopify stores, make sure to complete product sync configurations before enabling order sync. Without correct product sycning configuration, the orders from the additional product stores will not import correctly.
Discover how to handle partial order cancellations in Shopify and their updates in HotWax Commerce.
Partial Cancellations in Shopify and updated in HotWax Commerce\
When some items from an order are fulfilled and the rest are canceled, it is called partial cancellation. For partial cancellation, the order status in Shopify does not change, only the last updated date for the order changes. HotWax Commerce Cancels the order through the following steps:
Import Canceled Order Items- Merchandisers can schedule 'Canceled Items' jobs which send an to retrieve order information. The job checks the 'updated at' field in Order JSON and compares the time with the job’s last run time. All the orders which are updated after the job’s last run are imported in HotWax Commerce in files of 100 to ensure Shopify’s API limit is not exceeded.
Processing in HotWax Commerce- When all these orders are imported, HotWax filters out the ones wherein an order item is canceled and marks the items as canceled. The order status is not canceled in HotWax Commerce, only the particular item’s status is canceled from the full order.
Recommended time frequency is once an hour but the time interval is configurable through the Job Manager App.
Discover how HotWax Commerce calculates ATP inventory.
HotWax Commerce provides a unified view of inventory by integrating with various systems present in a retailer's teck stack, including Enterprise Resource Planning (ERP), Point of Sale (POS), and Warehouse Management Systems (WMS). HotWax Commerce ensures that inventory updates from all these systems are synchronized to support various business scenarios.
In-store sales: During in-store sales, inventory counts of products is automatically reduced in HotWax Commerce.
In-store receiving: When stores receive new inventory through Purchase Orders, Transfer Orders, or Returns, HotWax Commerce increases the inventory counts accordingly, maintaining an accurate stock record.
Inventory variances: Missing or defective items can lead to inventory discrepancies. Any adjustments, such as reporting lost or defective inventory or reclaiming found items, should be updated in HotWax Commerce. Cycle Counts also help identify variances, which are also automatically synchronized to HotWax Commerce, ensuring accurate inventory levels.
Warehouse receiving: As warehouses or fulfillment centers receive new inventory from Purchase Orders, Transfer Orders, or Returns, timely updates are made in HotWax Commerce to reflect these additions in the overall inventory.
After consolidating all relevant inventory data, HotWax Commerce calculates the Online Available to Promise (ATP), which reflects the quantity available for online sales. This ATP value is then synced to Shopify as the definitive inventory level. Let’s examine how this calculation works.
How Does Hotwax Commerce Calculate The “Online ATP” Before Pushing It To Shopify?
To determine the "Online Available to Promise" (ATP) for Shopify, HotWax Commerce calculates the available inventory by accounting for several key factors beyond just the total stock. These include, Safety Stock, Threshold, Reserved Quantity (inventory allocated to sales orders but not fulfilled), orders in the Brokering Queue (orders that are captured but inventory is not allocated), and Excluded Facilities when calculating online ATP
.
Once all these factors are considered, HotWax Commerce calculates the accurate Online ATP
and syncs it to Shopify. The product ID from Shopify is stored in HotWax Commerce and serves as a unique identifier to match the products in both systems.
Let’s take a look at an example:
The product "blue shirt" from Brand NotNaked has been assigned plate number 100 QOH, and it has already received orders for 10 of them, and inventory is allocated for 5 sales orders. The ATP can be calculated using the following formula.
Online ATP = QOH - (Reserved quantities + Safety stock + Threshold + Orders in brokering queue + Excluded facilities’ ATP)
Given:
Hence,
HotWax Commerce will push 75 units as the sellable Online ATP
to Shopify, ensuring accurate inventory representation for online sales.
The precise Online ATP
calculation prevents both overselling and underselling, making HotWax Commerce the single source of truth for inventory availability across all channels.
Learn how to install HotWax Commerce App to integrate your Shopify store with HotWax Commerce's Order Management System
The HotWax Commerce Order Management app on Shopify creates the connection between Shopify stores and HotWax Commerce's Omnichannel Order Management System (OMS). This integration ensures reliable transfer of critical data between the eCommerce platform and OMS, adhering to Shopify's guidelines.
Step-by-Step Installation Guide:
Access Shopify App Store:
HotWax Commerce app must be installed on all Shopify stores to establish their connection with the OMS.
Access your Shopify store by logging in to your Shopify account where you want to install the HotWax Order Management App.
Go to Settings > Apps and sales channel > Shopify App store.
Install HotWax Order Management System App:
Search for HotWax Order Management System
in the Shopify App Store or directly access it via this link: .
Click on the Install
button to initiate the installation process.
Grant the necessary permissions to ensure optimal app functionality.
Now you will be navigated to a screen which will ask the following detials:
HotWax Commerce Instance Name
JWT token
The following steps are optional and can be handled by the HotWax Commerce team. Please contact us if you need assistance.
HotWax Commerce relies on JWT (JSON Web Token) for secure API communication, ensuring a safe environment for data exchange between the Shopify store and the HotWax Commerce platform.
Create JWT Token:
Navigate to the provided documentation link: .
Follow the instructions to create a JWT token using an integration user on your HotWax Commerce system.
Securely store this token for future use.
Provide Instance Name and JWT Token:
Enter the instance name (e.g., https://{instance-name}.hotwax.io/)
in the designated field. This is basically your OMS instance URL. Incase you do not have it, ask HotWax team to provide you with one.
Paste the JWT token created previously into the appropriate field.
Proceed with the installation.
Upon successful inputting credential, a connection between the OMS and Shopify should be established.
Verify Installation:
Confirm successful integration by verifying Shopify shop appearance within the HotWax Commerce Order Management System.
Log in to your HotWax Commerce instance.
Navigate to the Shopify
> Shopify Shop
section from the hamburger menu.
Confirm that your Shopify Shop is listed on the Shopify Shop page and that all the basic details are added.
On the Shopify Shop page, ensure that the following details are filled:
Step 1: Establish Connection
Follow steps 1-3 of the standard migration process to connect the existing Shopify shop to the HotWax Commerce Public app. This will update the existing Shopify shop within the OMS without creating a new one.
Step 2: Verify Functionality
Conduct a thorough sanity check to ensure all processes are functioning correctly post-connection.
Step 3: Uninstall Custom App
Uninstall the HotWax Commerce Custom app (also known as HotWax Commerce Integration) from the Shopify shop by navigating to Settings > Apps and sales channels > Develop Apps.
The subsequent steps involve internal configurations to be executed by the HotWax Commerce team.
Step 4: Update Maarg Instance Credentials (if applicable)
If the Maarg instance is configured for data sharing with Shopify, update the credentials:
Login to the dedicated Maarg instance.
Navigate to System > Sys-sys messages > Remotes > Message remote list.
Click on the dedicated Shopify Config to edit the configuration.
Input the Shopify shop's access token to the Shared Secret field and input the Shopify shop's shared secret into the Send Shared Secret field.
Click on the update button to save the changes.
Step 5: Final Verification
Perform a final sanity check to confirm that all information is being shared correctly between the Shopify shop, OMS, and Maarg instance.
Note: These steps assume basic familiarity with the HotWax Commerce platform, Shopify, and Maarg.
Carrier | Shipment Method | Shopify Shipping Method |
---|---|---|
Mapped Key | Mapped Value |
---|---|
Order Items | Exchange Item |
---|---|
Order Items | Exchange Item |
---|---|
Order Type | Refund amount | Attribution |
---|---|---|
Order Type | Refund amount | Attribution |
---|---|---|
Order Items | Exchange Item |
---|---|
Field | Description |
---|
After the Shopify Shop is verified, further editing can be performed on the page
android
PHONE_SALES_CHANNEL
exchange
EXCHG_SALES_CHANNEL
iphone
PHONE_SALES_CHANNEL
pos
POS_SALES_CHANNEL
shopify_draft_order
CSR_SALES_CHANNEL
Blue Dart Express
Ground
Ground Shipping
Blue Dart Express
Two Day
Two Day Shipping
afterpay
EXT_SHOP_AFTRPAY
afterpay_north_america
EXT_SHOP_AFTRPAY_NA
American Express
EXT_SHOP_AMEX
Cash on Delivery (COD)
EXT_SHOP_CASH_ON_DEL
Discover
EXT_SHOP_DISCOVER
Klarna
EXT_SHOP_KLARNA
Mastercard
EXT_SHOP_MASTERCARD
OFFLINE
EXT_OFFLINE
paypal
EXT_SHOP_PAYPAL
shopify_installments
EXT_SHOP_PAY_INSTALL
VISA
EXT_SHOP_VISA
Order Items
A: $10
B: $10
C: $10
Transactions
ShopPay1: $30
Order Items
Exchange Item
A: $10
D: $20
B: $10
C: $10
Transactions
ShopPay1: $30
ShopPay2: $10
A: $10
D: $20
B: $10
C: $10
Transactions
ShopPay1: $30
ExchangeCredit: $10 parentPaymentRef: ShopPay1
ShopPay2: $10
ExchangeCapture: $10 parentPaymentRef: ShopPay2
ExchangeCredit: $10 Status: Refund parentPaymentRef: ShopPay1
ExchangeCredit: $10 Status: Refund parentPaymentRef: ShopPay2
A: $10
D: $20
B: $10
C: $10
Transactions
ShopPay1: $30
ExchangeCredit: $10 parentPaymentRef: ShopPay1
ShopPay2: $10
ExchangeCapture: $10 parentPaymentRef: ShopPay2
ShopPayRefund1: $30 Status: Refund parentPaymentRef: ShopPay1
ExchangeRefund: $20
ShopPayRefund2: $10 Status: Refund parentPaymentRef: ShopPay2
Original Order
$20
Shop Pay 1
Exchange Order
$10
Shop Pay 1
Exchange Order
$10
Shop Pay 2
Original Order
$10
Shop Pay 1
Original Order
$10
Shop Pay 2
Exchange Order
$20
Shop Pay 1
A: $10
D: $5
B: $10
C: $10
Transactions
ShopPay1: $30
ExchangeCredit: $5 parentPaymentRef: ShopPay1
ShopPay1 Refund1: $5
ShopPay1Refund2: $25 Status: Refund parentPaymentRef: ShopPay1
ExchangeRefund: $5
How to set up jobs in Job Manager App
Learn how to set up jobs in HotWax Commerce to Synchronize Product Data from Shopify
Quantity on hand | 100 Units |
Reserved quantities | 5 Units |
Safety stock | 5 Units |
Threshold | 5 Units |
Orders in brokering queue | 5 Units |
Excluded facilities' ATP | 5 Units |
Shop ID | The internal name of your Shopify Store. A default ID is created for your Shopify shop when you install the App. but change it to a unique value for multiple stores (e.g., US_SHOP, CA_SHOP). |
Shopify Config Name | Project-specific; use the instance name along with Shopify Config (e.g. NotNaked Shopify Config). |
Connect URL | The default URL is fetched from the Shopify URL (e.g., hc-demo for hc-demo.myshopify.com). |
Access Token | The JWT token to access Shopify |
Access Scope | The default scope is read-only, make sure you have given read and write access to make changes for the Shopify shop |
Shared Secret | Provided by the retailer or obtained during custom app setup. |
Product Store | When a Shopify shop is linked to HotWax Commerce, it is initially linked to the default product store, make sure to edit the product store to ensure accurate integration |
Process Refund | Select whether you want to process refunds through this Shopify Shop. |
WebSite | If the website name is changed to the Product Store name, use the same name here. |
Discover how to initiate the initial order sync process between HotWax Commerce and Shopify to seamlessly import open and unfulfilled orders.
To download all open sales orders from a specific period in HotWax Commerce, users can schedule the 'Import Orders in Bulk' job by adding the last Shopify Order ID. This job imports all orders since the last Shopify Order ID, along with details such as order number, customer information, shipping address, billing details, and payment information.
To import orders in HotWax Commerce, follow these steps:
Visit job-manager.hotwax.io.
Navigate to the Initial Load section.
Click on "Import Orders in bulk."
Choose the desired run time.
Specify the following criteria:
Order status: Open
Fulfillment status: Unfulfilled
Add the Last Shopify Order ID from where you want to import Shopify orders.
Initiate the import by clicking the "Run Import" button.
Access the Pipeline, specifically the Pending jobs section, to confirm that the job is scheduled as per the selected time.
Wait until the job is completed.
Once the job finishes, proceed to the Find Order page and verify that all orders have been successfully imported into the system.
Access the Shopify admin screen
Go to the Orders page: https://admin.shopify.com/store/{shopName}/orders
Use filters Open
and unfulfilled
and you will be presented with the Order Count
To retrieve counts in HotWax, follow these structured steps in the webtools:
Go to the web tools and select the Entity list.
Locate the orderHeader
entity.
Perform a search by clicking on the Search
option without applying any filters.
The total order count can be found in the search results
For a smooth order download process HotWax has two buffer times.
Shopify processes an order after it has been placed to check for invalid or fraudulent activity, a process that typically takes 5 minutes. If the order is synced into HotWax before being processed, the order will need to be searched in Shopify again to update its tags.
The thruDateBuffer
ensures that orders are only synced from Shopify after a certain amount of time. This delay allows time for Shopify to process and analyze the orders before they are imported into HotWax Commerce, reducing the need for rechecking the order tags. By default this value is 5 minutes.
It is possible for orders to be missed if they are placed during the microsecond time gap between two consecutive jobs.
To address this issue, a buffer time padding is added to the start time of each job. This ensures an overlap between jobs, preventing orders from being lost during these microsecond gaps. The BufferTime is calculated based on the previous job's runTime and includes both the thruDateBuffer
and the overlap time. By default, the BufferTime is 6 minutes (5 minutes for thruDateBuffer
+ 1 minute overlap).
Sync job interval: Every 15 minutes
Default values: thruDateBuffer = 5 minutes, BufferTime = 6 minutes
The job running at 1:15 will sync orders from 12:54 - 1:10.
The job running at 1:30 will sync orders from 1:09 - 1:25.
This ensures that orders are accurately processed and reduces the risk of discrepancies.
Learn how to troubleshoot product synchronization issues between HotWax Commerce and Shopify for seamless inventory management.
Verification on Shopify:
Go to Shopify and verify if the products are available. If not, create the missing products.
Run Product Import Job:
In the Job Manager app, execute the Product Import
job. This action ensures the products are imported into HotWax Commerce.
Check Shopify Jobs Section:
Navigate to the HotWax Commerce platform.
Access the EXIM
section in the hamburger menu.
Go to the Shopify Jobs
subsection.
Review MDM Jobs:
Under MDM
(Master Data Management), look for the Create Update Shopify Products
job.
Inspect Logs:
Check the logs for this job to identify any failed errors.
If errors are found, open the associated file containing the JSON data.
Identify Error Messages:
Examine the event message in the JSON file for specific error details.
If the error is related to Shopify, address it accordingly.
Import Orders:
Orders can be manually imported by selecting the Shopify config and adding the order ID in the
For technical errors, contact HotWax support for assistance. These steps ensure a systematic approach to addressing product availability issues, whether it's a Shopify or technical-related concern.
This issue typically happens when a product and its variants are not created simultaneously in Shopify. Here’s a detailed explanation:
Initial Product Creation: When the merchandising team creates a new product in Shopify without adding any variants, Shopify automatically generates a default variant.
Syncing with HotWax Commerce: HotWax Commerce has a scheduled job that syncs this new product from Shopify, including the default variant, into the HotWax Commerce system.
Adding Variants Later: If the merchandising team later updates the product in Shopify to add variants (e.g., sizes XS, S, M, L), new variants are created for sizes S, M, and L. However, the XS variant is updated rather than created as a new variant because Shopify considers it the original, default variant.
Syncing Variants with HotWax Commerce: Another scheduled job in HotWax Commerce handles syncing these product updates, including the newly added variants. The job successfully syncs new variants like S, M, and L.
The Issue with the Default Variant: The issue arises with the XS variant. Since Shopify treats it as the original default variant (and only updates it instead of creating a new one), HotWax Commerce does not recognize it as a new variant. As a result, the default variant (XS) is not properly updated in HotWax Commerce.
Current Limitation: The existing job in HotWax Commerce that syncs product updates does not handle this specific case, where a previously default variant has been updated instead of created as a new variant.
To prevent this scenario from happening in the future, the merchandising team can follow these steps:
Create All Product Variants at Once: The simplest way to avoid this issue is to ensure that all product variants are created in Shopify at the same time as the main product. This prevents the system from creating a default variant and ensures all variants sync correctly with HotWax Commerce.
Disable Product Sync Job Temporarily: If creating all variants in one go is not possible, the merchandising team can temporarily disable the job that synchronizes products from Shopify to HotWax Commerce while they are creating products. This will prevent incomplete or default variants from syncing prematurely.
Navigate to the Job Manager App
in HotWax Commerce.
Locate the product sync job and temporarily disable it.
Re-enable the Sync Job After Product Creation: Once all product variants have been created and finalized in Shopify, the team should re-enable the product sync job. This ensures that all products, including their variants, are correctly synchronized into HotWax Commerce without any issues.
Return to the Job Manager App
and re-enable the product sync
job.
By following these steps, the team can avoid encountering this synchronization issue.
If certain products have not been synced from Shopify to HotWax Commerce, you can manually sync them using the HotWax Commerce admin panel. Follow these steps:
Access the EXIM Menu:
In HotWax Commerce, go to the EXIM (Export/Import)
menu and select the option labeled Create Update Shopify Products`.
Choose Shopify Config and Enter Product IDs:
On the next screen, you will see an option to choose a Shopify Config
. Select the appropriate config for your Shopify store.
Below this, you’ll find a text box where you can enter a single Shopify Product ID or a list of Shopify Product IDs, separated by commas.
Run the Sync:
After selecting the config and entering the product IDs, click the Run
button. This will immediately start the synchronization process, pulling the selected products from Shopify into HotWax Commerce.
This issue arises when a new product is created in Shopify by cloning an existing product. Here’s a detailed explanation of how this can lead to synchronization problems:
Cloning Details: When a product is cloned in Shopify, it copies all details of the original product, including metafields. This process results in a new metafield ID for the cloned product.
Product Sync: When HotWax Commerce syncs the new product, it does not recognize or sync the metafields or the new metafield IDs created for the cloned product.
Product Update Issue:
A problem occurs when HotWax Commerce attempts to create a metafield for the cloned product in Shopify, but the metafield already exists. HotWax Commerce sends a request to CREATE
a metafield in Shopify, as it does not detect any existing metafields for that product. This leads to an error, as the metafield already exists.
To ensure that the metafields of a cloned product are correctly synchronized in HotWax Commerce, the merchandising team can follow these steps:
Access the Job Manager App:
Navigate to the Job Manager App
in HotWax Commerce.
Find the Import Metafields Job:
In the More Jobs
section, locate the job labeled Import Variant Metafields from Shopify
.
Run the Job:
Click the Run Now
button to import the metafields from Shopify. This action will ensure that any metafields associated with the newly cloned product are properly synchronized.
By following these steps, you can manually sync metafields for cloned products that were not synced during the initial product import.
Discover how to manage Shopify product types in HotWax Commerce for streamlined inventory and order processing.
Shopify Product Type Mapping within HotWax Commerce addresses the needs of retailers selling non-physical products like gift cards, loyalty cards, or digital goods. These products lack a physical presence, requiring a distinctive approach to inventory management and order fulfillment. HotWax Commerce automates this by marking digital products as completed upon download, eliminating the need for a traditional fulfillment process.
The significance of Shopify Product Type Mapping lies in its ability to integrate product categorization between Shopify and HotWax Commerce. By mapping product types, retailers can ensure accurate tracking, reporting, and efficient handling of various product categories, particularly digital items.
Navigate to the Shopify Product Type
section on the Shopify Shop
page.
Within the Shopify Product Type
section, locate and click on the Add
button. This action opens a new pop-up box.
In the pop-up box, insert the mapped key
. This key corresponds to the product type in Shopify.
Add the corresponding value
for the product type available in HotWax Commerce.
After entering the required information, save the changes by clicking on the Add
button. This ensures that the product types are successfully mapped between Shopify and HotWax Commerce.
Existing product type mappings can be deleted by clicking on the delete
icon in the specific product type mapping row.
Mapped Key | Mapped Value |
---|---|
After incorporating these mandatory mappings, please add any custom mappings as needed.
Troubleshoot inventory sync issues between HotWax Commerce and Shopify to ensure accurate inventory management and availability.
Scenario: Inventory Not Synced from HotWax Commerce to Shopify
Sometimes retailers may encounter inventory disparities between HotWax Commerce and Shopify Inventory. For instance, inventory may appear out of stock in Shopify despite being available in HotWax Commerce.
Check Job Status:
Navigate to the HotWax Commerce Job Manager App
.
Locate the job named Upload recent inventory change
. This job is responsible for updating all inventory changes in Shopify that have occurred in HotWax Commerce since the last time the job ran. If any inventory changes have been made after the last job execution, it is essential to run this job to ensure synchronization.
Ensure that the job is running. If not scheduled, schedule the job according to your preferred frequency.
You can also execute the Hard Sync
job in HotWax Commerce. This job updates inventory for all the products irrespective of the inventory changes, eliminating any discrepancy between HotWax Commerce and Shopify. If inventory changes occurred before the completion of the last Upload recent inventory change
job, execute the Hard Sync
job.
Inspect Inventory Configurations:
Retailers can set rules such as safety stocks, thresholds, and exclude facilities to prevent overselling on Shopify. Follow these steps to verify the online ATP of the inventory that is being synchronized between HotWax Commerce and Shopify:
In HotWax Commerce, Go to Products
> Find Products
> Product Detail page
> Product Inventory View
page.
Check inventory configurations, including safety stocks, thresholds, reserved inventory, and excluded facilities.
Verify the online ATP
of products on the inventory dashboard and make sure that the online ATP
inventory count matches with the inventory in Shopify.
Check Online ATP in Inventory Dashboard:
Navigate to Shopify Admin Panel.
Go to Products
> Product detail
page.
Click on the variant of the product that requires inventory verification.
Verify Inventory Adjustment History:
Within the variant's inventory
section, click on the adjustment history
button.
Examine historical inventory adjustments. Ensure they reflect recent changes.
If historical changes display outdated records or no inventory records, proceed to the HotWax Commerce Job Manager App. If inventory changes occurred after the last execution of the Upload recent inventory change job, run the Upload recent inventory change job. Alternatively, if the changes happened before the completion of the last Upload recent inventory change job, execute the Hard Sync job.
Wait for a few minutes and revisit the inventory history on Shopify.
If the inventory is still not updated, and discrepancies persist, contact the HotWax Commerce support team for assistance.
HotWax Commerce serves as the master of inventory availability. It seamlessly connects with various technology systems used by retailers, including Enterprise Resource Planning (ERP), Point of Sale (POS), and Warehouse Management Systems (WMS). HotWax Commerce ensures that inventory updates from all these systems are well synchronized.
HotWax commerce gets inventory feed from , or to update the inventory in its system. The external system places the order on the SFTP location, HotWax commerce processes these files and updates the inventory in its system. For retailers who lack API-based integrations, HotWax Commerce also allows manual inventory upload through the .
Retailers can to choose which facility will participate in selling their inventory online. If a facility is capable of fulfilling online orders and wants its inventory to be sold online, it can be added to a facility group with the CHANNEL FAC GROUP
subtype. Conversely, if the retailer decides not to sell a facility’s inventory online, it can be excluded from the group. The facility group created with the CHANNEL FAC GROUP
subtype will also be available as options in toggles in the sell online card
on the facility details
page which can be turned on to add the facility to the respective facility group.
HotWax Commerce considers various factors, such as safety stock
, threshold
, reserved quantity
(inventory allocated to sales orders but not fulfilled), orders in the brokering queue
(orders that are captured but inventory is not allocated), and excluded facilities
, before pushing online ATP
on Shopify.
Let’s take a look at an example:
The product "blue shirt" from Brand ABC has been assigned plate number 100 QOH, and it has already received orders for 10 of them, and inventory is allocated for 5 sales orders. The Online ATP can be calculated using the following formula. Online ATP = QOH - (Reserved quantities + Safety stock + Threshold + Orders in brokering queue + Excluded facilities’ ATP)
Given:
Quantity on hand: 100 Units
Reserved quantities: 5 Units
Safety stock: 5 Units
Threshold: 5 Units
Orders in brokering queue: 5 Units
Excluded facilities' ATP: 5 Units
Hence,
Online ATP = 100 - (5 + 5 + 5 + 5 + 5) = 100 - 25 = 75 HotWax Commerce will now push 75 units to Shopify as sellable inventory for online orders.
HotWax Commerce has two inventory synchronization jobs, Hard Sync
and Upload Recent Inventory Changes
to sync inventory changes on Shopify
For initial sync, a Hard Sync
job needs to be scheduled to update all the product’s inventory on Shopify with a complete reset. Retailers can use Hard Sync
jobs once a day to synchronize the inventory counts of all products from HotWax Commerce to Shopify.
The existing inventory of a product in HotWax Commerce is affected by sales, returns, transfers, inventory variances, and any changes or updates in safety stock or threshold values. Upload recent inventory changes
in HotWax Commerce check the inventory records of products in HotWax Commerce and identify products that have undergone inventory changes since the last inventory synchronization to Shopify. Upload recent inventory changes
job is scheduled to push the delta changes to Shopify.
All files transferred from HotWax Commerce to Shopify undergo processing via a job named Process uploads to eCommerce
. Files transmitted from HotWax Commerce through the Hard Sync
and Upload recent inventory changes
jobs are directed to SFTP locations. Shopify sequentially retrieves these files from the SFTP location and executes the alterations via an API call. The Process uploads to eCommerce
job is tasked with initiating API calls whenever a new file is prepared for processing by Shopify. Consequently, it is crucial to coordinate the scheduling of the Process uploads to the eCommerce
job with that of the Hard Sync
and Upload recent inventory changes
jobs to ensure inventory changes on Shopify.
For Initial inventory transfer and updating inventory for all the products from HotWax Commerce to Shopify
Visit job-manager.hotwax.io and log in with your user credentials.
Navigate to the Inventory page
from the left menu.
Click on the Hard Sync
job to open the job card.
Choose the desired run time from the dropdown or customize when the job will start running. You can also click on Run Now
to instantly run the job one time.
For scheduling, select the desired frequency from the dropdown or customize. The recommended frequency for the Hard sync
job is once a day.
Add custom parameters specifying the Facility's internal ID in the facilityGroupId
parameter for example FAC_GRP
is the internal ID for all facility groups with CHANNEL_FAC_GRP
subtype.
Click on save changes
to schedule the job.
Schedule this job to upload the inventory changes for the products that have recently gone inventory changes to ensure that inventory changes happen in near real-time on Shopify.
Visit the Job Manage
r App from the launchpad and log in with your user credentials.
Navigate to the Inventory section
> More Jobs
.
Click on the Upload recent inventory changes
job to open the job card.
Choose the desired run time from the dropdown or customize when the job will start running. You can also click on Run Now
to instantly run the job one time.
Schedule the job as per your desired frequency by selecting the time from the dropdown menu. The recommended frequency for the job is every 15 minutes.
Make sure to add the group ID FAC_GRP
in the custom parameters.
Click on Save Changes
to schedule the job.
Navigate to the Pipeline page in the Job Manager
app, specifically the Pending Jobs
section, to confirm that the job is scheduled as per the selected time.
Wait until the job is completed and reflects on the completed
page.
Once the job finishes, log in to the HotWax Commerce Inventory page and look through some products and their variants inventory as a sample.
Afterward, login to the admin portal of Shopify and navigate to the product
page.
Look for the same products and verify the inventory changes for all selected variants have been successfully imported into the system.
donation
DONATION
Gift Cards
GIFT_CARD
Loyalty Card
DIGITAL_GOOD