Only this pageAll pages
Powered by GitBook
1 of 61

Learn Shopify

Shopify Integration

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

Setup Shopify

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Troubleshooting

Loading...

Synchronization Flows

Loading...

Loading...

Loading...

Troubleshooting

Loading...

Loading...

Loading...

Additional resources

Loading...

Loading...

Introduction

This document outlines the integration between HotWax Commerce and Shopify to simplify your eCommerce operations.

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.

What Will Be Synced Between Shopify and HotWax Commerce?

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.

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

When an order is fulfilled, HotWax Commerce updates the fulfillment status in Shopify. Read further for more information on the of orders from Shopify to HotWax Commerce and the updating of from HotWax Commerce to Shopify.

here
here
synchronization process
fulfillment status

Product Download

Learn how launch the initial product download from Shopify.

Initial Product Download from Shopify to HotWax Commerce

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

Product data from Shopify is mapped in HotWax Commerce fields as outlined in the following table:

  1. 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:

S.No.
Fields in Shopify
Fields in HotWax Commerce

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

S.No.
Fields in Shopify
Fields in HotWax Commerce

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

Importing Newly Added Products Regularly

Shopify merchants create new products for two reasons::

  1. When a new product is added to the catalog.

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

Products

Learn 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:

  1. Initial Product Download: Downloading existing products from the merchant's Shopify store keeps the product catalog in HotWax Commerce up-to-date.

  2. Importing Newly Added Products: Reflecting new products or variants added by merchants on Shopify in HotWax Commerce's product catalog.

  3. Updating Product Details: Synchronizing HotWax Commerce with the Shopify store as product information changes.

  4. Deleting Existing Products: Ensuring data integrity by removing products from HotWax Commerce when they're deleted from the Shopify store.

Product Synchronization for Multiple Shopify Stores

Learn how to set up multiple stores in HotWax Commerce.

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:

How to Maintain Accurate Catalog for Multiple Shopify Stores

Initial Product Creation in Shopify Store:

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.

Product Association with Child Catalogs

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.

Inventory

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

Gift Cards Download

Learn how to gift cards are downloaded from Shopify to HotWax Commerce.

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.

Gift Cards in Shopify

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:

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:

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.

Downloading Gift Cards from Shopify to HotWax Commerce

HotWax Commerce downloads physical and digital gift cards from Shopify in the same manner as other products with the Import Products job.

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:

Kit Products Download

Learn how Kit products and their components are efficiently downloaded from Shopify to HotWax Commerce for enhanced product management.

Kit Products Set-up in HotWax Commerce

HotWax Commerce suggests that retailers set up kit products in Shopify as individual products with their SKUs, just like any other item. Even though these kits are made up of several components, Shopify treats them as a single product.

Managing Kit Products with the Bundles App and HotWax Commerce

Shopify retailers often use apps like Bundles to sell kit products by linking their components (products included in a kit) from Shopify’s product catalog. The Bundles App creates kits by adding the component SKUs to the bundle’s metafield.

HotWax Commerce imports these kit products and their components through the Import Products job and reads the metafields to understand the relationship between kits and their components. A job is run to check if a product includes components. If the product is identified as a kit, it is categorized as MARKETING_PKG_PICK in HotWax Commerce. This links the components (as separate SKUs) to make sure they are reserved and fulfilled together when the kit is ordered.

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.

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.

(For initial Import) (For regular import)

Subsequently, the primary catalog is linked to the child stores using the following job workflow:

Learn more about

SKU
Product ID
Price
SKU
Shopify Product ID
Shop ID
HC Product ID

HotWax Commerce downloads kit products and their components like regular products through the Import Products and uses its to identify the components that make up each kit.

Bundles App has its when it comes to determining inventory for multi-location fulfillment.

importing orders
API request
setting up a new product store

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

OnlineATP=100−(5+5+5+5+5)=100−(25)=75Online ATP = 100 - (5+5+5+5+5) = 100 - (25) = 75OnlineATP=100−(5+5+5+5+5)=100−(25)=75

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

Import Products in Bulk
Import New Products
Associate Products with Sub-catalogs
product synchronization from Shopify to HotWax Commerce
job
integration with NetSuite
drawbacks

thruDateBuffer and bufferTime

For a smooth order download process HotWax has two buffer times.

thruDateBuffer

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.

bufferTime

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

Example Scenario

  • Sync job interval: Every 15 minutes

  • Default values: thruDateBuffer = 5 minutes, BufferTime = 6 minutes

  1. The job running at 1:15 will sync orders from 12:54 - 1:10.

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

Inventory Synchronization of Gift Cards

Learn how HotWax Commerce ensures accurate inventory synchronization of gift cards to Shopify.

Physical Gift Cards

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

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.

Syncing Inventory from HotWax Commerce To Shopify

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.

Order Download

Learn the process of downloading initial orders from Shopify to HotWax Commerce for order management.

Initial Order Download From Shopify To Hotwax Commerce

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.

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

Order in Shopify
Order in HotWax Commerce

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

Importing Newly Created Orders from Shopify to HotWax Commerce

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 and bufferTime

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.

Order Approval for Fulfillment

Learn how the order approval process in HotWax Commerce improves fulfillment.

Order Approval for Fulfillment in HotWax Commerce

Overview

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.

Approve Orders Job

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.

Example Scenario: Fraud Detection with Riskified

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.

Updating Product Details

Easily update product details from Shopify to HotWax Commerce for smooth synchronization.

Updating Product Details from Shopify to HotWax Commerce

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.

FAQ

Find answers to commonly asked questions

Contact us

Looking for more answers? Connect with our experts to achieve true omnichannel integration

Learn more about

Downloading from Shopify- HotWax Commerce uses an 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.

inventory synchronization
API request

Orders

Learn how HotWax Commerce syncronizes order information from shopify.

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

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

  2. Importing Newly Created Orders: All the orders that have been placed since the initial download must be imported into HotWax Commerce.

  3. Approve Orders for Fulfillment: Before approving orders for fulfillment, HotWax Commerce must ensure that payment has been authorized and verified by Shopify.

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

POS Sales Download

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:

  1. POS sales are already fulfilled in Shopify.

  2. They are originated from the POS channel.

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

Kit Order Fulfillment

How is the Order Fulfillment Status of Kit Products and their Components Updated to Shopify from HotWax Commerce?

HotWax Commerce facilitates the fulfillment of kit products and their components, and provides real-time updates on Shopify with the following steps:

  • The picklist includes details of all kit components, enabling pickers to gather and assemble the kit during the packing process.

  • After the kit order is picked, packed, and shipped in HotWax Commerce, the kit is marked as completed within the system.

The fulfillment status, including tracking details, is then synchronized to Shopify through the job.

‘Completed Orders’

Deleting Products

Learn how to delete products from both Shopify and HotWax Commerce.

Deleting Products from Shopify and HotWax Commerce

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

APIs

Location Mapping

Easily configure locations in HotWax Commerce and Shopify with our step-by-step guide to manage inventory.

How To Set Up Locations In HotWax Commerce And Shopify

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.

Order Fulfillment

Optimize workflow by fulfilling orders in HotWax Commerce with the Fulfillment App or external 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).

  1. Fulfillment by HotWax Commerce Fulfillment App

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

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

Creating/Deleting Products with Shopify Webhooks

Learn processes for product creation and deletion using Shopify Webhooks.

Creating/Deleting Products With The Help Of Shopify Webhooks

  • It only tracks the creation or deletion of parent products and not product variants.

Gift Cards Order Fulfillment

Learn how the gift cards are fulfilled in HotWax Commerce.

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:

Digital gift cards:

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.

Physical gift cards:

Orders with physical gift cards are not auto-fulfilled in Shopify. Therefore, HotWax Commerce routes them through the traditional fulfillment process.

Fulfillment of Gift Cards in Store

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.

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.

Activation of Gift Cards

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.

Fulfillment of Gift Cards in Warehouse

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.

Activation of Gift Cards

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:

poll_SystemMessageFileSftp_GiftCardActivationFeed

Shopify API

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.

Gift Cards Order Download

Learn how HotWax Commerce downloads gift cards from Shopify.

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.

Shopify offers webhooks for real-time communication between apps. HotWax Commerce utilizes Shopify's 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:

Shopify states that , and suggests implementing reconciliation jobs to periodically fetch data from Shopify.

Learn more about

Learn more about

used along with

Learn more about

new product and product delete webhooks
webhook delivery isn't always guaranteed
order fulfillment updates from HotWax Commerce to Shopify
fulfillment in NetSuite
Bulk data import GraphlQL API
gift card create mutation
order download from Shopify to HotWax Commerce

Complete Order Cancellation

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.

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

Import Canceled Orders- When HotWax Commerce wants to check for canceled orders on Shopify, it uses an 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.

API request

Order Updates

Learn how HotWax Commerce synchronizes order updates from Shopify.

Synchronizing Order Updates

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.

To know more about how HotWax Commerce synchronizes Order fulfillment updates with Shopify, . Read further to know how HotWax Commerce Manages and .

click here
Presell orders
BOPIS Orders

BOPIS Orders

Keep online orders and store operations in sync for easy 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.

Inventory Synchronization of Kit Products

Learn how HotWax Commerce ensures accurate inventory synchronization of Kit Products to Shopify.

Inventory of Kit Products and their Components in HotWax Commerce

The Bulk Recent Kit Product Inventory Setup job calculates the inventory of the kit products by considering the lowest common denominator among its components at a given location.

Example 1:

A kit product consisting of a belt and wallet distributed across multiple locations:

Store Location

Belts

Wallets

Times Square Store

5

0

Brooklyn Store

0

10

Broadway Store

3

7

It will record an inventory of 3 in HotWax Commerce for this kit product because only the Broadway store has both belts and wallets. So, a kit product can only be fulfilled from the Broadway store. The inventory reflects the available quantity of the most limited component at a location where both components are available.

Example 2:

Another example of a belt and wallet distributed across multiple locations:

Store Location

Belts

Wallets

Times Square Store

5

0

Brooklyn Store

3

2

Broadway Store

1

5

Here, Brooklyn has enough stock to make 2 kits (2 belts and 2 wallets), and Broadway can fulfill 1 kit (1 belt and 1 wallet).

While the total available belts and wallets across all locations might be summed up as 9 belts (5 + 3 + 1) and 7 wallets (2 + 5), this does not represent the actual number of kits that can be fulfilled. The correct calculation is based on the available components at each location, resulting in 3 kits: 2 from Brooklyn and 1 from Broadway.

Limitations of Using Bundles App

If any retailer is using the Bundles App to sell kit products and their components on Shopify, the Bundles App takes care of inventory computation. Bundles simplify kit products and their component management, but it has drawbacks when it comes to determining inventory for multi-location fulfillment.

The Bundles App aggregates the lowest inventory of each component accessible across every location to determine kit inventory. Because it ignores the need for every element of a kit to be accessible at the same place to fulfill the order, this method may lead to inaccurate inventory counts.

Example:

Suppose a kit product consists of a belt and a wallet, with the inventory distributed between two stores:

Store Location

Belts

Wallets

Brooklyn Store

3

2

Broadway Store

1

5

In this case, the Bundles App calculates the total kit inventory as 4 by adding the total number of belts and wallets across both locations (belts: 3 + 1 = 4, wallets: 2 + 5 = 7).

However, this calculation is incorrect because the actual number of kits that can be fulfilled is only 3:

  • Brooklyn can fulfill 2 kits (with 3 belts and 2 wallets).

  • Broadway can fulfill 1 kit (with 1 belt and 1 wallet).

The remaining items are insufficient to complete any additional kits.

How does HotWax Commerce Synchronize the Inventory of Kit Products with Shopify?

HotWax Commerce syncs the inventory of kit products and their components just like regular products, using webhooks and the Upload Recent Inventory Change . This process is the same for kit products and their components as other products.

job
Learn more about inventory synchronization.

Shopify PDP Experience

Learn how HotWax Commerce displays immediate product availability for store pickup on Shopify's Product Detail Pages (PDP).

How Does HotWax Commerce show immediate product availability for store pickup on the Shopify 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:

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

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

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

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

  4. HotWax Commerce BOPIS PDP App on Shopify uses the 'checkInventory' API to confirm product availability and displays suitable pickup locations for that product.

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

Kit Order Download

Learn the process of downloading kit orders from Shopify to HotWax Commerce.

How are Orders for Kit Products Downloaded from Shopify to HotWax Commerce?

HotWax Commerce imports orders for kit products from Shopify through the Import Orders job.

When HotWax imports an order, the first step is to check how many items are included in the order. For each item, HotWax retrieves its associated product ID.

These product IDs are predefined in HotWax Commerce and mapped to specific product types. For example:

Product ID

Product Type

1001

FINISHED GOOD

2010

MARKETING_PKG_PICK

Once the product ID is identified, HotWax associates it with the right product in its system. If the product type is identified as MARKETING_PKG_PICK, the order is recognized as a Kit Order.

Kit Order Brokering

Inventory Synchronization

Learn how to synchronize inventory from HotWax Commerce to Shopify.

Syncing Inventory From HotWax Commerce To Shopify

HotWax Commerce provides the option to schedule the 3 different jobs to offer retailers the flexibility to schedule as per their business requirements.

Upload Recent Inventory Change

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:

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.

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.

Hard Sync

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.

Push Updated Inventory Deltas to Shopify

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.

After identifying the product type as MARKETING_PKG_PICK, HotWax Commerce directly the entire kit order to the facility where the inventory is available rather than brokering each component separately.

Product List
Inventory Count at 1:00 PM
Inventory Count at 1:15 PM

Comparing Inventory counts between HotWax Commerce and Shopify: To update its inventory records, HotWax Commerce initiates an 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 '' field to either add or deduct inventory based on the changes.

Product List
Inventory Count in Shopify
Available Adjustments
Updated Inventory Count in Shopify
brokers

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 Cancellations

Easily manage order cancellations when using both Shopify and HotWax Commerce.

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:

  1. Cancellations made in Shopify and updated in HotWax Commerce.

  2. 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:

  1. Full Order Cancellations- Customers have requested order cancellations from Shopify or CSR teams have canceled orders due to suspected fraudulent orders.

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

API call
available adjustments
Delta sync job

Partial Order Cancellation

Learn 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:

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

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.

API request

BOPIS Order Download

Learn how HotWax Commerce downloads BOPIS orders from Shopify easily.

How HotWax Commerce downloads BOPIS orders from Shopify?

When a customer selects a store for pick up, the HotWax Commerce BOPIS PDP application on Shopify includes a line item property that includes the customer's preferred pick up location.

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.

regular orders

Pre-orders and Backorders

Learn how HotWax Commerce reads Purchase Orders from the ERP to manage pre-sales.

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.

Presell Catalog Management

Learn how HotWax Commerce manages pre-order and backorder catalogs.

How are Pre-order and Backorder Catalogs Managed in HotWax Commerce?

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

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

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.

Shopify POS Exchanges

Learn how HotWax Commerce manages returns and exchange from Shopify POS.

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.

With Exchanges V2, 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.

  • Accounting Discrepancies: ERP systems rely on standardized 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.

How HotWax Commerce Helps Address These Challenges and Ensure Accurate Accounting for Your Business

Before delving into the details of how returns and exchanges are imported and stored in HotWax, these are the terms and concepts that are prerequisites.

  1. Exchange Credit - Shopify exchange V2 no longer explicitly calculates exchange credit when customers purchase replacment items. Because exchange orders are still new orders in HotWax and other systems, an exchange credit is still caluclated by HotWax during import of returns to balance accounting.

  2. Exchange Payment - To make payments easy to reconcile, HotWax links all transactions to the original order in its system even for greater exchanges. These additional payments are then attributed to exchange orders internally using the Exchange Payment method to repesent the additional captured payment.

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

Importing Returns and Exchanges

A scheduled job in the HotWax Commerce integration platform fetches all returns and exchanges from Shopify and biforcates the data into two feeds, one for returns and another exchanges additions.

Exchange additions are imported into HotWax as new sales orders that are linked to the original sale as an exchange while returns are imported independently and linked to their corresponding HotWax order.

Mapping Returns and Exchanges

To illustrate how returns and exchanges in the same order in Shopify are imported as seperate exchange orders in HotWax while ensuring all orders and transactions are balanced, this document will cover the following scenarios

  1. When the exchanged item is of greater value than the returned item.

  2. 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).

Order Items

A: $10

B: $10

C: $10

Transactions

ShopPay1: $30

Scenario 1: Exchanged Item of Greater Value

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

Order Items

Exchange Item

A: $10

D: $20

B: $10

C: $10

Transactions

ShopPay1: $30

ShopPay2: $10

Note: add image of Shopify order view screen at this state

Importing exchange items into HotWax

The item purchased in exchange of a return on Shopify will be imported into HotWax Commerce as a new sales order. The new order will be linked to the original order as an exchange. HotWax will automatically calculate how much credit is being carried over from the return and apply it to the new exchange order to balance order totals and transactions of the new order.

Importing transactions To manage easy reconciliation with Shopify, HotWax first records the addtional payment for the exchange order, $10 (Shop Pay 2), on the original order.

Adding exchange 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.

Order Items
Exchange Item

A: $10

D: $20

B: $10

C: $10

Transactions

ShopPay1: $30

ExchangeCredit: $10 Status: Refund

ExchangeCredit: $10 Status: Settled

ShopPay2: $10

ExchangePayment: $10 Status: Refund parentPaymentRef: ShopPay2

ExchangePayment: $10 parentPaymentRef: ShopPay2

The two exchange attribution transactions show that $10 the return and $10 from Shop Pay 2 were applied to the exchange order. Creating refunds on the original order and additions on the exchange order manages easy tracability of all events on a single order as well as attributions to exchange orders.

Note: add image of HotWax OPP section at this state

Shopify doesn't expicitly specify how much credit is applied to new items from returned items. To determine the value of the payment carried over, HotWax Commerce does the following calculation:

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

Additional Scenarios Handled by HotWax Commerce

Returning the Exchanged Item

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 approach splits the refund transactions as little as possible for the best customer experience.

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), even though the payment for the exchanged item was processed through a different transaction (Shop Pay 2).

Order Items
Exchange Item

A: $10

D: $20

B: $10

C: $10

Transactions

ShopPay1: $30

ExchangeCredit: $10 Status: Refund

ExchangeCredit: $10 Status: Settled

ShopPay2: $10

ExchangePayment: $10 Status: Refund parentPaymentRef: ShopPay2

ExchangePayment: $10 parentPaymentRef: ShopPay2

ExchangeCredit: -$20 Status: Refund

ExchangeCredit: $20 Status: Refund

ShopPay1: $20 Status: Refund

Note: add image of what the OPP panel looks like at this point in HotWax

Returning the Entire Order Including Exchanged Items:

In the event that the customer returns item D along with items B and C, Shopify will create two refund transactions, one to refund ShopPay1 and another to refund ShopPay2.

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.

Order Items
Exchange Item

A: $10

D: $20

B: $10

C: $10

Transactions

ShopPay1: $30

ExchangeCredit: $10 Status: Refund

ExchangeCredit: $10 Status: Settled

ShopPay2: $10

ExchangePayment: $10 Status: Refund parentPaymentRef: ShopPay2

ExchangePayment: $10 parentPaymentRef: ShopPay2

ExchangeCredit: -$20 Status: Refund

ExchangeCredit: $20 Status: Refund

ShopPayRefund1: $30 Status: Refund parentPaymentRef: ShopPay1

ShopPayRefund2: $10 Status: Refund parentPaymentRef: ShopPay2

Note: Is there an exchange credit added to the original order for the amount refunded on another order?

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.

Refund Processing in Shopify and HotWax Commerce

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:

Original Order : Has a total transaction record of $40 ($30 + $10) with $10 refunded to exchange credit.

Exchanged Order : Customer was issued a $20 refund from a combination of the two refund transactions.

HotWax Commerce now needs to split these transactions across two sales orders in HotWax to match Shopify’s transaction records.

There are two valid ways to allocate these amounts

Method 1

Attribute the two $10 amounts to the exchanged order and attribute the $20 amount to the original order

Order Type
Refund amount
Attribution

Original Order

$20

Shop Pay 1

Exchange Order

$10

Shop Pay 1

Exchange Order

$10

Shop Pay 2

Method 2

Attribute the $20 amount to the exchanged order and attribute the two $10 amounts to the original order.

Order Type
Refund amount
Attribution

Original Order

$10

Shop Pay 1

Original Order

$10

Shop Pay 2

Exchange Order

$20

Shop Pay 1

Both methods are valid but one or the other attribution model is not actually specified by Shopify. Therefore, instead of picking an attribution itself, HotWax Commerce simply marks the exchange order as fully refunded using an 'Exchange Credit: Refunded' payment line and does not try to link specific Shopify refunds to particular return items.

Scenario 2: Exchanged Item of Lesser Value

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

Order Items
Exchange Item

A: $10

D: $5

B: $10

C: $10

Transactions

ShopPay1: $30

ShopPay1: $5 Status: Refund

ExchangeCredit: $5 Status: Refund

ExchangeCredit: $5 Status: Settled

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

Order Items
Exchange Item

A: $10

D: $5

B: $10

C: $10

Transactions

ShopPay1: $30

ShopPay1: $5 Status: Refund

ExchangeCredit: $5 Status: Refund

ExchangeCredit: $5 Status: Settled

ExchangeCredit: -$5 Status: Refund

ExchangeCredit: $5 Status: Refund

ShopPay1: $25 Status: Refund parentPaymentRef: ShopPay1

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.

Enable BOPIS/Pre-order on Shopify


description: >- Learn how to enable BOPIS/Pre-order on the Shopify PDP page through HotWax Commerce.

Enable BOPIS/Pre-Order Scripts for Shopify

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

Step-by-Step Usage Instructions:

  1. Login to HotWax Commerce: Access your HotWax Commerce instance using your credentials.

  2. Navigate to Shopify Shop Menu: Open the Hamburger menu and select the Shopify Shop menu.

  3. Open Shopify Shop View: Click on the Shop ID to open the Shopify shop view page.

  4. Access Shopify Script Section: Scroll down to the Shopify Script section on the Shopify shop view page.

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

  6. Verify JS Addition: Ensure that the JS file is added successfully and reflects its version.

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

  8. Verify CSS Addition: Ensure that the CSS file is also successfully added below.

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

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

Import Returns from Shopify

Learn how HotWax Commerce imports returns from Shopify.

The "Import Order Returns" job in the Job Manager app initiates the return sync by sending an API request to Shopify for orders with returns created after the last sync. The frequency at which the "Import Order Returns" job is executed can be configured, but a recommended time interval for this job is every 15 minutes.

Once the return information is downloaded, HotWax Commerce processes the JSON through the 'Process Bulk Imported Files' job. In cases where data discrepancies or issues may arise, error logs are generated, allowing for subsequent analysis and corrections to be made.

While processing returns from Shopify, if HotWax Commerce doesn't have the order being returned, it will automatically import the order from Shopify, guaranteeing that returns are always linked to a sales order for full tracability.

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.

In-Store Returns

Shopify POS: Shopify POS is already linked with Shopify eCommerce, providing access to online orders 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's 'Import Order Return' job works with both Shopify eCommerce and Shopify POS to download refund information and transfer transaction details to the ERP.

When in-store returns occur in Shopify POS, HotWax Commerce captures the facility ID where the returned inventory is received to ensure inventory is correctly incremented in the OMS.

Non-Shopify POS: For retailers using a POS system other than Shopify POS, 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 from Shopify. Retailers can use HotWax Commerce to create returns in store for online order, or use HotWax's order and return APIs to allow their POS system to accept online returns in store without having to switch systems.

Presell Catalog Synchronization

Learn how HotWax Commerce syncs pre-order and backorder catalogs to Shopify.

How is the Pre-Order and Backorder Catalog Synced from HotWax Commerce to Shopify?

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:

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

  2. The GraphQL File also indicates whether the "continue selling when out of stock" flag should be turned ON or OFF.

  3. 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".

Integration Mappings

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.

Configuring Mappings between HotWax Commerce and Shopify Shop

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.

  1. Navigate to the Shopify Shop Page from the menu.

  2. Locate the specific mapping you want to configure.

  3. Click on the Add button and fill in the mandatory details mentioned in the input fields.

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

Creating Custom Integration Mappings

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.

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.

Creating Default Integration Mapping data for Shopify Shop Types

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

Shipping Method

Learn how to synchronize shipping methods between Shopify and HotWax Commerce.

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.

Locating Shipping Method on Shopify

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:

  1. Log in to your Shopify storefront's admin panel with your user credentials.

  2. Navigate to Settings > Shipping and Delivery

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

  4. All the shipping rates will be visible in the shipping origins sections.

Creating a Shipping Method in HotWax Commerce

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:

  1. Log in to your user instance and navigate to Settings > General Settings.

  2. Locate the shipment method section and click on Add, which will open up a form.

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

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

Steps to Map Shipping Method with Shopify

  1. Navigate to the Shopify Shop Carrier Shipment section on the Shopify Shop Page.

  2. Click on the Add button, which will open up a new pop-up box.

  3. Choose the carrier and the carrier shipping method existing in HotWax Commerce from the dropdown menu.

  4. Enter the Shopify Shipping Method present in Shopify, and click on the Add button to save the mapping.

Example

To learn more about how to use HotWax Commerce for in store returns with POS systems other than Shopify POS, .

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
Field
Description
Field
Description
Carrier
Shipment Method
Shopify Shipping Method

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

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.

Blue Dart Express

Ground

Ground Shipping

Blue Dart Express

Two Day

Two Day Shipping

Order Returns

Order Returns

Omnichannel Shopify retailers offer their customers two different options for returning online products: Mail Returns and In-Store Returns. Let's see how HotWax Commerce helps 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 use 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 (RMS). HotWax Commerce downloads the return data once the return process is successfully completed in Shopify. This downloaded information is automatically sent to the ERP systems like NetSuite for financial and accounting purposes without the need for direct integration between ERP and RMS. 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 directly 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 required functionality to create and manage returns effectively.

Appeasements

Retailers often provide appeasements in various scenarios, such as:

  • Orders lost in shipment.

  • Poor fulfilment experience.

  • Customer dissatisfaction with the product

When an appeasement is generated, HotWax Commerce downloads this information along with refund details. In appeasements, the order information contains the user User ID of the CSR member who issued it and a transaction amount, but it does not contain any returned line items.

Retailers can offer appeasement through two methods:

A. 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 ERP systems.

B. Offering Another Product: In this scenario, the original product is not returned by the customer. However, a new replacement order is generated with a 0 value order total in Shopify, which is downloaded in HotWax Commerce for fulfilment.

Product Type

Learn how to manage Shopify product types in HotWax Commerce for easy 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.

Steps

  1. Navigate to the Shopify Product Type section on the Shopify Shop page.

  2. Within the Shopify Product Type section, locate and click on the Add button. This action opens a new pop-up box.

  3. In the pop-up box, insert the mapped key. This key corresponds to the product type in Shopify.

  4. Add the corresponding value for the product type available in HotWax Commerce.

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

  6. Existing product type mappings can be deleted by clicking on the delete icon in the specific product type mapping row.

Mandatory Mapping for Product Type

Mapped Key
Mapped Value

donation

DONATION

Gift Cards

GIFT_CARD

Loyalty Card

DIGITAL_GOOD

After incorporating these mandatory mappings, please add any custom mappings as needed.

Facility Mapping Discrepancy

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:

Linking Facility 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:

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

  2. External Mapping: Scroll down to the External Mappings tab located at the bottom of the facility details page.

  3. Map Facility to an External System: Click on the Map Facility to an External System button to initiate the mapping process.

  4. Choose External System: In the menu that appears, choose the external system for which a mapping has to be created.

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

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

Locations

Learn how to set up facilities in HotWax Commerce.

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:

  1. Scroll down to the Shopify Location ID section.

  2. Click on Add to include new facilities.

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

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

  2. Follow this process for all facilities.

How to extract Shopify POS Location ID from Shopify?

Follow these steps to seamlessly integrate Shopify POS locations with their corresponding store facilities in HotWax Commerce:

  1. Navigate to the Administration side of your Shopify account.

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

  3. In the URL of the location detail page, find the location ID and copy it.

  4. Paste the copied location ID in the OMS.

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

Install HotWax Commerce App

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:

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

  1. Install HotWax Order Management System App:

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

  1. Create JWT Token:

    • Follow the instructions to create a JWT token using an integration user on your HotWax Commerce system.

    • Securely store this token for future use.

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

  3. 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:

Field
Description

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.

Steps for Migrating Existing Clients to HotWax Commerce Public App

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.

Required Permissions from Shopify

Learn how permissions are managed in HotWax Commerce.

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.

Read Access Permissions

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.

Write Access Permissions

Initial Product Sync

Learn how to initiate the initial product sync process between HotWax Commerce and Shopify for efficient data integration.

Sync with Shopify

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.

Schedule Bulk file processor

Execute the job of processing bulk imported files by accessing the "Process Bulk Imported Files" job, located on the Miscellaneous page within the Job Manager app.

Import products

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:

  1. Navigate to the Initial Load section.

  2. Click on "Import products in bulk."

  3. Choose the desired run time and initiate the import by clicking the "Run Import" button.

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

Reconcile Product Sync

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:

  1. Navigate to the web tools and access the Entity list.

  2. Search for the Product entity.

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

  4. For variant product counts, use the filter isVirtual set to false.

Linking Products with Multiple Shops

Only necessary for Multi-Shopify store configurations where a common product catalog is shared. Skip if not applicable.

Multi-Shopify Store Configuration for Product Management

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:

  1. Log in to the Job Manager App

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

  3. Navigate to the Product page and go to the job title Associate products with sub-catalog.

  4. Click on the job title to open the job card and then select the custom parameters icon to configure the job settings.

  5. Within the custom parameters modal, locate includeAll field and input true to include the products for the association.

  6. In the scheduleNow field, insert N to ensure that the job runs instantaneously.

  7. Save the changes to schedule and execute the job.

Verifying Associations

Associations may take some time, depending on the number of products being linked. To confirm product associations, follow these steps:

  1. Log in to your HotWax Commerce user instance.

  2. Check that the import status reads as finished.

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

Initial Order Sync

Learn how to start the order sync process between HotWax Commerce and Shopify to easily import open and unfulfilled orders.

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:

  1. Navigate to the Initial Load section.

  2. Click on "Import Orders in bulk."

  3. Choose the desired run time.

  4. Specify the following criteria:

    • Order status: Open

    • Fulfillment status: Unfulfilled

    • Add the Last Shopify Order ID from where you want to import Shopify orders.

  5. Initiate the import by clicking the "Run Import" button.

  6. Access the Pipeline, specifically the Pending jobs section, to confirm that the job is scheduled as per the selected time.

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

Reconcile Order Sync

Shopify

  1. Access the Shopify admin screen

  2. Go to the Orders page: https://admin.shopify.com/store/{shopName}/orders

  3. Use filters Open and unfulfilled and you will be presented with the Order Count

HotWax

To retrieve counts in HotWax, follow these structured steps in the webtools:

  1. Go to the web tools and select the Entity list.

  2. Locate the orderHeader entity.

  3. Perform a search by clicking on the Search option without applying any filters.

  4. The total order count can be found in the search results

Initial Inventory Sync

Learn how HotWax Commerce synchronizes inventory from HotWax Commerce to Shopify.

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.

Initial Inventory Sync in HotWax Commerce

Create Facility Groups to Sell Online

Online ATP computation

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.

Sync with Shopify

HotWax Commerce has two inventory synchronization jobs, Hard Sync and Upload Recent Inventory Changes to sync inventory changes on Shopify

Hard Sync job

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.

Upload recent inventory changes

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.

Process uploads to eCommerce

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.

Scheduling Hard Sync Job

For Initial inventory transfer and updating inventory for all the products from HotWax Commerce to Shopify

  1. Visit job-manager.hotwax.io and log in with your user credentials.

  2. Navigate to the Inventory page from the left menu.

  3. Click on the Hard Sync job to open the job card.

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

  5. For scheduling, select the desired frequency from the dropdown or customize. The recommended frequency for the Hard sync job is once a day.

  6. Add custom parameters specifying the Facility's internal ID in the facilityGroupId parameter for example FAC_GRPis the internal ID for all facility groups with CHANNEL_FAC_GRP subtype.

  7. Click on save changes to schedule the job.

Schedule Upload Recent Inventory Changes 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.

  1. Visit the Job Manager App from the launchpad and log in with your user credentials.

  2. Navigate to the Inventory section > More Jobs.

  3. Click on the Upload recent inventory changes job to open the job card.

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

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

  6. Make sure to add the group ID FAC_GRP in the custom parameters.

  7. Click on Save Changes to schedule the job.

Verify Inventory Changes

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

  2. Wait until the job is completed and reflects on the completed page.

  3. Once the job finishes, log in to the HotWax Commerce Inventory page and look through some products and their variants inventory as a sample.

  4. Afterward, login to the admin portal of Shopify and navigate to the product page.

  5. Look for the same products and verify the inventory changes for all selected variants have been successfully imported into the system.

Sales channel

Learn how retailers can map sales channels from Shopify to HotWax Commerce.

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.

Mapping Process:

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

  2. In the Shopify Order Sales Channel section, click on Add Sales Channel Enum to create a new sales channel within HotWax Commerce.

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

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

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

  6. Click on the Add button to save the Shopify Sales Channel mapping.

  7. To remove existing sales channels, click on the delete icon in the respective sales channel row.

Mandatory Mapping for Sales Channel

After incorporating these mandatory mappings, please add any custom mappings as needed.

Payment Method

Learn how to configure payment methods in HotWax Commerce.

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

  1. Log in to your Shopify storefront

  2. Navigate to Settings > Payments

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

Steps to Map Shopify Shop Payment Methods

Retailers can follow these steps:

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

  2. In the Shopify Shop Payment Method Type section, click on Add payment method type to create new payment methods in HotWax Commerce.

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

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

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

  6. Click on the Add button to save the Payment Method Type mapping.

  7. To remove existing payment methods, click on the delete icon in the respective payment method row.

Mandatory Shopify Shop Payment Method Types:

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.

Search for HotWax Order Management System in the Shopify App Store or directly access it via this link: .

Navigate to the provided documentation link: .

After the Shopify Shop is verified, further editing can be performed on the page

1. read_assigned_fulfillment_orders Access Scope: resources assigned to a location managed by your . 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.

3. read_draft_orders Access Scope: 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 object and , , and 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: 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: 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: and Reason: This permission allows HotWax Commerce to monitor inventory levels by regularly checking inventory data from Shopify.

8. read_locations Access Scope: 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: 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: , , , , and resources. Reason: HotWax Commerce imports all orders and updates to ensure comprehensive order management and accurate fulfillment processes.

11. read_products Access Scope: , , , , , and Reason: HotWax Commerce imports detailed product information, including variants and collections, to ensure accurate product representation and order processing.

12. read_returns Access Scope: 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: resources assigned to a location managed by any 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: resources assigned to a location managed by your . 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 object and , , and 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: 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: 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: and 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: 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: , , , , and 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: , , , , , and 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: resources assigned to a location managed by any Reason: These permissions allow HotWax Commerce to manage third-party fulfillment orders, ensuring comprehensive order management and synchronization with its system.

Visit .

to read about regular product association jobs.

Go to Import Create Shopify shop product data page by clicking . Change demo-oms with your user instance and log in to the HotWax Commerce to access the page.

Visit .

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.

Mapped Key
Mapped Value
Mapped Key
Mapped Value
HotWax Order Management System App
JWT Token Creation Guide
Shopify Shop
FulfillmentOrder
fulfillment service
Draft Order
GenericFile
fileCreate
fileUpdate
fileDelete
Fulfillment Service
Gift Card
Inventory Level
Inventory Item
Location
FulfillmentOrder
Abandoned checkouts
Customer
Fulfillment
Order
Transaction
Product
Product Variant
Product Image
Collect
Custom Collection
Smart Collection
Return
FulfillmentOrder
fulfillment service
FulfillmentOrder
fulfillment service
GenericFile
fileCreate
fileUpdate
fileDelete
Fulfillment Service
Gift Card
Inventory Level
Inventory Item
FulfillmentOrder
Abandoned checkouts
Customer
Fulfillment
Order
Transaction
Product
Product Variant
Product Image
Collect
Custom Collection
Smart Collection
FulfillmentOrder
fulfillment service
job-manager.hotwax.io
Click here
here

android

PHONE_SALES_CHANNEL

exchange

EXCHG_SALES_CHANNEL

iphone

PHONE_SALES_CHANNEL

pos

POS_SALES_CHANNEL

shopify_draft_order

CSR_SALES_CHANNEL

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

How to set up jobs in Job Manager App

Learn how to set up jobs in HotWax Commerce to Synchronize Product Data from Shopify

POS Completed Orders

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.

Shipping Method for POS Completed Orders
<ShipmentMethodType shipmentMethodTypeId="POS_COMPLETED" description="POS Completed"/>
<CarrierShipmentMethod partyId="_NA_" roleTypeId="CARRIER" shipmentMethodTypeId="POS_COMPLETED" sequenceNumber="60" />

Multi Shopify Instance

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.

job-manager.hotwax.io
ERP, WMS
POS systems
HotWax Commerce import inventory app
create facility groups

Kit Products

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 availability is determined by the lowest common denominator of the kit component inventory available 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.

Install Bundles app reader in OMS

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.

Step 1: Access WebTools

Go to the WebTools for your OMS instance using the provided sample link:

https://{instanceName}.hotwax.io/webtools/control/EntityImportReaders

Step 2: Add Kit Product Reader

In the Enter readers section, add the Bundles reader extension by typing ext-bundles.

Step 3: Import Configuration

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.

Map Shopify 'Kit' product types

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

<ShopifyShopTypeMapping mappedKey="{Shopify Kit Type}" mappedTypeId="SHOPIFY_PRODUCT_TYPE" mappedValue="MARKETING_PKG_PICK" shopId="SHOP"/>

Jobs to sync Kit Products from Shopify

Import kit components from Shopify

Import kit product components

Enable this job for kit product associations

Add or Update kit product associations

Limitations of using Bundles App

Bundles simplify kit products and their component management, but it has drawbacks when it comes to determining inventory for multi-location fulfillment. The app aggregates the lowest inventory of each component accessible across every location to determine kit inventory. Because it ignores the need for every element of a kit to be accessible at the same place to fulfill the order, this method may lead to inaccurate inventory counts.

Example

For example, suppose a kit product consists of a belt and a wallet, with the inventory distributed between two stores:

  • Brooklyn Store: 3 belts, 2 wallets

  • Broadway Store: 1 belt, 5 wallets

In this case, the Bundles app calculates the total kit inventory as 4 by adding the total number of belts and wallets across both locations (belts: 3 + 1 = 4, wallets: 2 + 5 = 7). However, this calculation is incorrect because the actual number of kits that can be fulfilled is only 3. Brooklyn can fulfill 2 kits (with 3 belts and 2 wallets), and Broadway can fulfill 1 kit (with 1 belt and 1 wallet). The remaining items are insufficient to complete any additional kits.

Order Sync

Troubleshoot order synchronization between HotWax Commerce and Shopify.

Scenario: Orders Not Available in HotWax Commerce

Steps:

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

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

Scenario: Order Available in Shopify and Not Available in HotWax Commerce

Steps:

  1. Check Shopify Jobs Section:

    • Go to the HotWax Commerce platform.

    • Access the EXIM section in the hamburger menu.

    • Navigate to the Shopify Jobs subsection.

  2. Review MDM Jobs:

    • Under MDM (Master Data Management), locate the Shopify Order MDM job.

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

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

  1. If the problem still persists, connect with the HotWax Commerce support team for further assistance.


Scenario: Order Available in HotWax Commerce but stuck in Created state

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.

Solution: Verification at Shopify

  1. Log in to the Shopify admin portal and locate the specific order that requires updates.

  2. Click on the Shopify Order ID to view orders on the Shopify Admin panel.

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

Order Refresh in HotWax Commerce

  1. Access the View Sales Order page in HotWax for the identified order. Click on the "refresh order" button to initiate the order refresh process.

  2. When the refresh button is clicked, HotWax generates a new version of the order and cancels the current one.

  3. Go back to the View Sales Order Page and select "Completed" and "Canceled" statuses from the order status filter dropdown.

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

Product Sync

Troubleshoot product synchronization issues between HotWax Commerce and Shopify.

Scenario 1: Products Not Available in HotWax Commerce

Steps:

  1. Verification on Shopify:

    • Go to Shopify and verify if the products are available. If not, create the missing products.

  2. Run Product Import Job:

    • In the Job Manager app, execute the Product Import job. This action ensures the products are imported into HotWax Commerce.

Scenario 2: Product Available in Shopify and Not Available in OMS

Steps:

  1. Check Shopify Jobs Section:

    • Navigate to the HotWax Commerce platform.

    • Access the EXIM section in the hamburger menu.

    • Go to the Shopify Jobs subsection.

  2. Review MDM Jobs:

    • Under MDM (Master Data Management), look for the Create Update Shopify Products job.

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

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

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

Scenario 3: Creating a Product and its Variants in Multiple Steps

When Does This Issue Occur?

This issue typically happens when a product and its variants are not created simultaneously in Shopify. Here’s a detailed explanation:

  1. Initial Product Creation: When the merchandising team creates a new product in Shopify without adding any variants, Shopify automatically generates a default variant.

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

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

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

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

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

How to Avoid This Issue

To prevent this scenario from happening in the future, the merchandising team can follow these steps:

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

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

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

How to Sync Products That Are Not Synced in HotWax Commerce

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:

  1. Access the EXIM Menu: In HotWax Commerce, go to the EXIM (Export/Import) menu and select the option labeled Create Update Shopify Products`.

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

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

Scenario 4: Cloning Product in Shopify

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:

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

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

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

How to Synchronize Metafields of a Cloned Product from Shopify to HotWax Commerce

To ensure that the metafields of a cloned product are correctly synchronized in HotWax Commerce, the merchandising team can follow these steps:

  1. Access the Job Manager App: Navigate to the Job Manager App in HotWax Commerce.

  2. Find the Import Metafields Job: In the More Jobs section, locate the job labeled Import Variant Metafields from Shopify.

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

Inventory Sync

Troubleshoot inventory sync issues between HotWax Commerce and Shopify.

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.

Steps to Troubleshoot

Verify in HotWax Commerce

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

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

Verify in Shopify

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

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

  3. If the inventory is still not updated, and discrepancies persist, contact the HotWax Commerce support team for assistance.

Fig. 1: Shopify and HotWax Commerce setup with Non-Shopify POS
Fig. 2 : Shopify and HotWax Commerce setup with Shopify POS
Fig. 1: Configuration of the completed orders job in the Job Manager App
Fig.6: Product webhooks for Shopify
Fig. 1: Configuration in Job Manager app to download canceled orders in HotWax Commerce
Fig.6 : Configuration of the “Import order updates from Shopify” job in the Job Manager App
Fig.1 : Pickup locations on PDP
Fig.2 : Reservation until date and time
Fig. 1(i): Sync Inventory for Products with Recent Inventory Changes
Fig. 2: Hard Sync inventory to remove any discrepancy
Fig. 2: Cancel order items in HotWax Commerce
Fig.4 : Line item property added by Shopify
Fig. 1 : Configurations of 'Auto refresh pre-sell catalog' job in Job Managers App
Fig.1(i): Import Order Returns in HotWax Commerce
Fig. 2 : Configurations of 'Sync Variant Details' job in Job Managers App
Fig.3 : Pre-order button on PDP
Fig.4 : Out of Stock button on PDP
Flow of Data Between Shopify and HotWax Commerce
Fig.1: Configuration to run `Import Products in Bulk` in the `Job Manager` App
Fig.2(i): Products in Shopify
Products downloaded in HotWax Commerce
Fig.3(i): Variant product in Shopify with details
Fig.3(ii) : Variant product in HotWax Commerce with details
Fig.4: Configuration to run `Import Products` in the Job Manager App
Fig.1 : Configuration of the “import orders in bulk” job in the Job Manager App
Fig.2(i): Orders in Shopify
Fig.2(ii): Orders downloaded in HotWax Commerce
Fig.3(i): Order Details in Shopify
Fig.3(ii): Order Details in HotWax Commerce
Fig.4 : Configuration of the job New Orders in the Job Manager App
Fig.5 : Order downloading without buffer time
Fig.6 : Configuration of the “Approved Orders” job in the Job Manager App
Fig.5: Sync product updates from Shopify
POS sale field mapping
POS sale field mapping

Learn more about how HotWax Commerce helps retailers and their components in Shopify and NetSuite if the retailer is not using the Bundles App.

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 troubleshooting document can provide valuable insights into resolving the issue.

manage kit products
Order Approval
read this document here