Only this pageAll pages
Powered by GitBook
Couldn't generate the PDF for 116 pages, generation stopped at 100.
Extend with 50 more pages.
1 of 100

Retail Operations

Loading...

Workflow

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Products

Loading...

Loading...

Orders

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Inventory

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

Job Management

Discover how HotWax Commerce's Job Manager App streamlines order, product, and inventory operations with its workflow management features.

Introduction

HotWax Commerce’s Job Manager App enables you to view, schedule, and update job workflows running in the HotWax Commerce's Order Management System for operations related to orders, products, inventory and more.

Topics

To directly access the Job Manager application, click on the provided or navigate to the and locate it within the Workflow section.

Launchpad

The Launchpad serves as the central hub for all HotWax Commerce apps, providing easy access to development, user acceptance testing (UAT), and production versions of the applications all in one place.

This document outlines key pages and functions within the Launchpad.

Key items:

  1. Home page

  2. Application categories

  3. Application instances


link
Launchpad

Job details

Manage pre-configured job automation to streamline operations within the Order Management System.

Initial load

Schedule jobs for the initial deployment and instance setup, tasked with importing all products and orders into the OMS.

Job queueing

View all scheduled, running and completed jobs, with configurations to change the scheduled job data from the Job Pipeline page.

Job categories

Jobs and Webhooks are categorized based on operations, ensuring that related operations are grouped together for efficient configuration.

Bulk job scheduling

Search and select multiple jobs to schedule and execute them collectively for multiple shop configs.

Troubleshooting

Home page

Allows accessing all HotWax Commerce applications.

Characteristics:

Single Sign-On (SSO): Enables users to log in applications using their credentials. After the initial login in the Launchpad, they gain automatic access to all associated applications without the need to enter their login details again.

Application Categories

Shows how apps are categorized on basis of their characteristics.

Orders

This category revolves around managing the orders using the three apps: BOPIS, Pre-Order Management and Fulfillment.

  • BOPIS (Buy Online, Pickup In-Store) HotWax Commerce’s BOPIS app enables users to handover store pick-up orders to customers.

  • Pre-Order Management HotWax Commerce’s Pre-Order Management app enables users to manage pre-orders and backorders, with planned future inventory to fulfill the orders.

  • Fulfillment HotWax Commerce's Fulfillment app enables users to pick, pack, and ship orders brokered to the stores from the OMS.

Workflow

This category revolves around managing the workflow using the three apps: Threshold Management, Job Manager and Import.

  • Threshold Management HotWax Commerce’s Threshold Management app enables merchandisers to set inventory thresholds for a group of products.

  • Job Manager HotWax Commerce’s Job Manager app helps the operations teams to manage jobs by scheduling new jobs, skipping or canceling scheduled jobs and finding failed jobs that need attention.

  • Import HotWax Commerce’s Import app enables users to import inventory and purchase orders.

Inventory

This category revolves around managing the inventory using the three apps: Receiving, Cycle Count and Picking.

  • Receiving HotWax Commerce’s Receiving app enables users to manage incoming shipments, purchase orders, and return orders.

  • Cycle Count HotWax Commerce’s Cycle Count app enables stock associates to count the store’s inventory, and reconcile systematic and physical inventory.

  • Picking HotWax Commerce’s Picking app enables the fulfillment team to efficiently pick order items during order fulfillment.

Administration

This category revolves around managing users and facilities using the two apps: User Management, and Facilities.

  • User Management HotWax Commerce’s User Management app allows businesses to create and manage users within the HotWax Commerce OMS.

  • Facilities HotWax Commerce’s Facilities app assists businesses in overseeing multiple facilities like stores and warehouses, and managing attributes like facility details and fulfillment options for each facility.


Application Instances

Users can access specific instances of the HotWax apps.

Instances:

1. Production Instance: To access the production instance of an app, users can click on the respective app card.

2. UAT (User Acceptance Testing) Instance: Users can access the UAT instance of an app by clicking on the bottom right icon of the respective app card.

3. Dev (Development) Instance: Users can access the dev instance of an app by clicking on the bottom left icon of the respective app card.


Related flows:

  1. Launchpad

  2. User management

Inventory Unavailability

Discover your guide for troubleshooting issues for order brokering due to inventory unavailability

Scenario 1: Inventory Not Available

Orders won't be brokered if the inventory is not available or if the inventory is less than the brokering threshold set in the inventory rule. Ensuring accurate inventory levels and thresholds is essential for efficient order brokering and fulfillment.

Resolution Steps
  1. Click on the SKU from the sales order page to view the product inventory details on the Product Inventory View page.

  2. Check the inventory availability across the facilities. Use the facility filter to check the inventory in individual facilities.

  3. Verify if the inventory is available for that product. If the inventory is not available or is less than the brokering threshold, the order will move to the unfillable parking.

For example: If an item has a brokering threshold of 10 units but only 5 units are available across all facilities, the order will not be brokered and will move to unfillable parking.

Ensure that the order routing run for unfillable parking is scheduled. This ensures that all such orders are picked up in the next brokering cycle for inventory allocation.

Scenario 2: Partially Unavailable

Retailers sometimes prefer not to split orders to minimize shipping costs. If only part of an order is available at one fulfillment location, the order won't be routed. If inventory is scattered across multiple facilities, you need to decide whether to split the order.

Resolution Steps

  1. If you decide to allow order splitting, navigate to the Order Routing App.

  2. Navigate to the brokering run > order batch > inventory rule.

  3. Check if partial allocation is allowed for that inventory run.

  4. Turn the partial allocation toggle on if you want to enable order splitting.

  5. Save the inventory rule configuration.

Job Stuck

Learn how to troubleshoot job stuck issues in the HotWax Commerce Job Manager app for seamless job processing.

A scheduled job has been running for a longer duration than expected (more than 15 minutes).

Step 1: Check the Job Queue Status

  1. Go to .

Order Approval Errors

Troubleshooting Guide for orders stuck in created status

In HotWax Commerce, all orders are initially marked as "Created" after being downloaded. Orders can be auto-approved using a scheduled job called Approve Orders, which checks the approval status of Shopify orders based on parameters set by Shopify merchants. The job runs at a default frequency of 30 minutes and approves orders once all necessary details and required references are established.

Clients may have varying approval processes, such as requiring customer IDs or payment verification tags. If the job is stuck in the "Created' status", it could be due to missing or incorrect order attributes.

Scenario 1: Missing Order Attribute

Orders may not get approved if essential attributes are missing. For instance, some clients may require specific information such as a customer ID or Municipio ID. If these attributes are missing, the approval job cannot verify and approve the order, causing it to remain in the 'Created' status. For detailed instructions on how to add missing order attributes, refer to our

Transfer Order Fulfillment

View shipments for a fulfilled transfer order.

When a Transfer Order (TO) is fulfilled, the Fulfillment section appears on the Transfer Order Details page. It lists every shipment for the TO, including shipment ID, tracking code, and status.

To view shipment details, select a shipment in the Fulfillment section. The Shipment Details card shows:

  • Shipped date

  • Shipping method

  • Carrier

Tracking code

To learn how to fulfill a TO, see the Transfer Order Fulfillment guide.

Transfer Order Details

Review key fields and actions on the Transfer Order Details page.

The Transfer Order Details page shows the status, facility assignments, shipping configuration, and item-level progress for a Transfer Order (TO).

TO overview

The top section displays the TO name and a status selector (Created, Approved, or Cancelled).

Only TOs in Approved status are visible to the origin facility for fulfillment in the Fulfillment App and to the destination facility for receiving in the Receiving App.

Origin facility and shipping info

The Origin card lists the facility name, address, carrier, and shipping method.

Destination facility

The Destination card lists the receiving facility name and address.

Timeline

A chronological log of events in the TO lifecycle, including creation and status changes.

Item details

Each item appears as a separate card with:

  • Quantity ordered

  • Quantity shipped

  • Quantity received

Add items

Select Add item to Transfer to add products to an existing TO.

You can add items only while the TO is in Created status. Once a TO is Approved, no additional items can be added.

Item-level actions

Select the More (⋮) icon on an item card to access these actions:

  • Edit order quantity: Update quantities if stock availability changes at the origin facility.

  • Fulfill: Open the Fulfillment App to start fulfillment and monitor shipments.

  • Receive: Open the Receiving App to start receiving and monitor receipt progress.

  • Complete Item: Manually mark an item as completed when it needs to be closed out (for example, exceptions or partial transfers).

Navigate to the status field and click on "Pending."

Step 2: Verify Pending Jobs

  1. If there are no jobs in the pending state, it's an unusual situation. Contact HotWax support.

  2. If there are many jobs in the pending state, it indicates a potential backlog in the job queue.

  3. Wait for an hour and then check again if the jobs have run or not.

Step 3: Check Job Status After Waiting

After waiting, recheck the running tab on the pipeline page. If the jobs have not run, proceed to the next step.

Step 4: Contact HotWax Support

  1. If there are still jobs in the pending state after waiting, contact HotWax support.

  2. Provide details about the extended duration and the number of jobs in the pending state.

By following these steps, you can identify and address issues related to jobs running for an extended duration. If you need further assistance or have additional questions, reach out to the HotWax support team for prompt support.

https://.hotwax.io/webtools/control/FindJob

Scenario 2: Incorrect Order Attribute

Another common issue is the presence of incorrect order attributes. This could mean that the required information is either incomplete or inaccurately entered, which can prevent the order from being approved. For example, incorrect municipio ID can lead to approval failures.

troubleshooting documentation

Find Transfer Orders

Find and organize transfer orders in the Transfers App.

The Transfer Orders page opens when you sign in. It lists every Transfer Order (TO) and lets you quickly narrow results with search, filters, grouping, and sorting.

Search for a TO

  1. Use the search bar at the top of the page.

  2. Enter the TO name to filter the list in real time.

Filter TOs

Use filters in the Location or Fulfillment panel to refine the list.

  1. Open the dropdown for the filter you need.

  2. Choose a value; results update automatically.

Available filters:

  • Product Store

  • Origin

  • Destination

  • Method

Group TOs

Group TOs to review related orders together.

  1. At the top of the page, open the Group By dropdown.

  2. Select a grouping option.

  3. Expand any card to view TOs and see ordered, shipped, and received quantities.

Grouping options:

  • Order Item: Default view showing each TO with key details.

  • Destination: Group by receiving facility with totals per destination.

  • Destination and Product: Group by destination and item (e.g., Men’s Denim Jacket → Boston Store).

  • Origin: Group by origin facility with totals per origin.

Sort by Created Date

Select the Created Date column header to toggle ascending or descending order.

Restock Returns

Discover how HotWax Commerce manages restock returns for both online and in-store orders, ensuring accurate inventory management and syncing with Shopify.

Restock Returns for Online Orders

HotWax Commerce operates with a specific inventory management approach for restocking online returns. When inventory is returned on Shopify, it provides an option to enable the restock returned inventory flag. However, HotWax Commerce does not automatically increase the inventory count in its system even if the restocked return flag is enabled on Shopify. This is because HotWax Commerce lacks visibility into the specific location where the inventory is received. Instead, inventory is updated only when the updated inventory count is received from Warehouse Management Systems (WMS) or Enterprise Resource Planning (ERP) systems.

Restock Returns for In-Store Orders

Store associates can configure whether to accept the return of the product with or without restocking it, depending on the specific requirements set by the retailer. If the decision is to restock in-store order items immediately upon receipt, the inventory changes are updated in HotWax Commerce instantly. These inventory updates are then synced with Shopify through the Upload recent inventory change job from HotWax Commerce Job Manager app. To schedule the job follow these steps:

  1. Log in to the HotWax Commerce Job Manager App from the launchpad.

  2. Within the Job Manager app, go to the Inventory page.

  3. Locate the Upload recent inventory change job within the more jobs section of the inventory page.

Cycle Count

The Cycle Count App is designed to help organizations maintain accurate inventory by tracking, verifying, and reconciling stock levels. It supports different types of counts, including Directed Cycle Counts for selected items, and Hard Counts for comprehensive facility-wide inventory verification.

The app provides distinct views for Admins and Store Associates:

  • Admin View: Allows reviewing, approving, or rejecting counts, managing variance thresholds, and helping maintain inventory accuracy across the system.

  • : Enables associates to perform counts, record quantities, and submit them for review.

With built-in features like bulk actions, variance alerts, and timestamped tracking, the Cycle Count App keeps inventory accurate across your network.

Pre-Order Allocation

Discover how HotWax Commerce automatically allocates sales orders for pre-order items on a first-in, first-out (FIFO) basis, with the flexibility for manual allocation when needed.

Once a customer places an order for a pre-order item, the sales order is automatically allocated to the purchase order inventory on a first-in, first-out (FIFO) basis. This ensures that customers who place orders first receive their inventory first. However, there are instances when merchandisers need to manually manage these allocations, either due to errors or the need for reallocation. HotWax Commerce provides the flexibility for merchandisers to manually manage purchase orders through the following methods:

Review Allocations

In order to review associated sales orders for a selected item and get overview of the total quantity ordered and consumed ATP for that specific purchase order item, merchandisers can view all the sales orders associated with that purchase order through the following steps:

Carrier
  • Status (Approved, Cancelled, Completed, Created)

  • Origin and Product: Group by origin and item (e.g., Women’s Denim Skirt → New York Store).

  • Click on the job title to open the job card.

  • Specify the job run time and preferred frequency based on your operational needs.

  • Click on Save Changes to schedule the job according to the defined run time and frequency.

  • Cycle count workflow
    1. Plan your count with a preview

    2. Create sessions and complete your count

    3. Review counts at the store before submitting for review

    4. Review and approve variances at head office

    Store View

    Navigate to the Procurement > Purchase Orders View > Purchase Order Detail page

  • Click on Review Allocation in the line item field to view all associated orders with that purchase order.

  • This will open up a review allocations page where merchandisers get a holistic view of all the sales orders allocated with that purchase order and they can take actions such as removing allocations.

  • Allocate Sales Orders

    In cases where sales orders are not allocated to the purchase order due to any error or if the relevant purchase order is canceled, resulting in unallocated sales orders, merchandisers can manually allocate sales orders to purchase order items efficiently. Here's how:

    1. Navigate to the Procurement > Purchase Orders View > Purchase Order Detail page.

    2. Click Allocate Sales Order in the line item field, opening a confirmation pop-up. Click yes to view all unallocated sales orders for that product.

    3. Select the sales orders to associate with the existing purchase order. This will allocate the sales order with the existing purchase order, and the order will be fulfilled accordingly.

    Sync Date with SO

    Whenever there's a change in the arrival date of the purchase order items, the same arrival date needs to be synced with the sales order. This ensures an accurate view of when an order needs to be fulfilled, and customers are informed about changes in their product's arrival date. Merchandisers can do this through the following steps:

    1. Navigate to the Procurement > Purchase Orders View > Purchase Order Detail page

    2. Click on Sync Date with SO in the respective line item field which opens a confirmational pop-up.

    3. Click yes to sync the date for all sales orders associated with the existing purchase order.

    Remove Allocations

    Merchandisers may sometimes encounter inaccurate allocations of sales orders with purchase orders or they want to remove allocations to utilise that inventory for in-store sales. Such issues can be rectified by removing allocations through following steps:

    1. Navigate to the Procurement > Purchase Orders View > Purchase Order Detail page

    2. Click Remove Allocation in the line item field to open the Review Allocations page.

    3. This will display all the sales orders for which the inventory is allocated. Merchandisers can select the sales orders they want to remove the allocation for by clicking on the checkbox and then clicking on the Remove Allocations button.

    Find Sales Orders

    The Find Sales Order page in HotWax Commerce offers users a comprehensive listing of all orders, accompanied by essential order details including order items, order ID, order date, and customer information. Additionally, users can easily ascertain the current status of each order and identify the facility to which it is allocated. For enhanced order management, the page also displays promise dates and auto-cancel dates, ensuring timely fulfillment.

    To streamline the search process, users have the option to search for orders using product identifiers on the search page. Moreover, filters such as product store, facility, and sales channel are available to further refine and manage the order list.

    For seamless integration with external systems, users can export order data in CSV format, facilitating efficient order fulfillment processes across platforms.

    HotWax Commerce offers the following features on the Sales Order Page:

    Search Sales Orders

    The Search Sales Order feature on the Sales Order page provides users with quick access to information regarding a specific Order Information. Users can search for Orders based on various identifiers such as Order ID, Customer name, SKU, etc. to get an instant overview of the order.

    Step-by-Step Usage Instructions:

    1. Navigate to the HotWax Commerce platform and log in with your credentials. The first page that opens up upon logging in is the Sales Order page.

    2. Within the Sales Order Page, you'll find a search bar.

    3. In the search bar, you can enter the identifier of the desired order you wish to locate.

    4. Press the Enter

    Filter Orders

    HotWax Commerce allows users to sort through numerous orders based on different filter criteria. Enabling users to focus on specific subsets of orders, making it particularly valuable for those dealing with high order volume.

    You can apply these filters to Sales Orders:

    Filter Name
    Description

    You can save the search filters using the disc icon and view the saved search filter by clicking on the three horizontal eclipses on the right.

    Filter Orders based on Queue

    HotWax Commerce has different queues that act as a virtual facility to park the orders that are awaiting fulfillment. Users can view the orders in the queue to identify orders that currently do not have inventory allocated to them.

    Queue Name
    Description

    By filtering orders based on queues, users can focus on handling orders that require immediate attention or fall into the queue.

    Users can also filter the orders that will be auto-canceled today to make sure such orders are prioritized.

    Export Orders

    Enables users to export all displayed sales orders into CSV using the Export CSV function. Once the filtered orders are displayed, Click on the Export CSV option to initiate the export process.

    Missing Product Linking

    Discover how to troubleshoot missing product linking issues between HotWax Commerce and Shopify for enabling pre-order options and seamless product synchronization.

    Challenge

    Despite having 0 inventory in both HotWax Commerce and the Shopify store, the pre-order option is unavailable for a product. The root cause is the absence of proper linking between the product in HotWax Commerce and the Shopify store.

    Description

    HotWax Commerce encounters difficulties in showcasing products for pre-orders on the Shopify store when there is no linkage between the products in HotWax Commerce and the corresponding Shopify store. This issue commonly arises when a retailer manages the same product catalog across multiple Shopify stores.

    Explanation

    Products within Shopify

    Retailers streamline their operations by employing a unified product catalog across multiple Shopify stores. Consequently, products obtain distinct internal IDs on each store, while retaining a consistent and unique identifier, typically the SKU. It's important to note that not all stores carry the entire product range; instead, a hierarchical structure is established with one store functioning as the master catalog and others as child catalogs, each tailored to specific product offerings. This approach facilitates efficient management and customization of product availability across diverse Shopify storefronts.

    Products in HotWax

    In instances where a common product catalog is employed across multiple Shopify stores, HotWax adopts a structured approach. It designates one specific Shopify store as the master catalog, responsible for comprehensive product information. The same set of products is then associated with other Shopify stores, considering them as child catalogs. To establish a connection with HotWax, a product must be initially configured in the parent store and subsequently linked to the corresponding child store. Failure to follow this setup process inhibits HotWax from establishing a connection with the Shopify store and transmitting updated product information. This systematic approach ensures a cohesive and organized integration between HotWax and the various Shopify stores within the shared product ecosystem.

    Association in HotWax Commerce

    Troubleshooting Steps

    Step 1: Verify Product Association with the Shopify Store

    1. Locate the Product in HotWax

      • Navigate to the within HotWax Commerce.

      • Open the Audit page and examine the Shop listing status card to check the stores to which the product is currently listed. If it's not linked to the desired store, proceed with the following steps:

    Step 2: Link product to Shopify store

    1. Access the Find Product Page

      • Visit the Find Product page:https://{instanceName}.hotwax.io/commerce/control/FindProduct.

      • Open the detailed page for the specific product.

    2. Inspect the Shopify Shop Product Section

    Step 3: Refresh products to reflect changes

    1. Execute Jobs in the Job Manager App

      • Within the Job Manager app, initiate the following jobs: Auto refresh pre-order catalog and Sync variant details by searching them from the pipeline page.

    2. Review products in Hotwax and Shopify

    By following these steps meticulously, you ensure a seamless and accurate linking of products, ultimately improving the functionality of the pre-order option on the Shopify store.

    Review Counts

    Comprehensive guide to reviewing cycle counts in the Cycle Count App, including filtering counts, accepting or rejecting items, and managing inventory variance thresholds.

    Once a count has been submitted for review by the facility it was assigned to, it will be shown on the Pending Review page.

    Search, Sort, and Filter Counts on Pending Review

    These filters make it easier to prioritize which counts to review first, based on time and location.

    • Facility, to check which locations have pending reviews

    • Created Date, to review cycle counts created during a specific period.

    Pending Review List View

    The pending review list view shows how many of the assigned items have been counted as well as the due date of the count. Clicking on a count opens the detail page for it.

    If the cycle count is submitted for the first time, a Submitted badge will appear. For counts with items that were recounted and re-submitted, a Re-submitted badge will indicate that the count was reassigned and resubmitted by the facility after a recount.

    Pending Review Detail View

    The detail page of a pending review cycle count is where items are finally accepted or rejected from a cycle count.

    Overview

    The overview section, similar to the Assigned page, shows a high-level readout of how the count performed and overall accuracy. The due date of a cycle count can still be adjusted if it needs to be assigned back to a facility with a new due date.

    The Inventory Variance Threshold function helps reviewers quickly filter out cycle count results based on the percent variance recorded. Counts that pass the variance threshold will be filterable using the green threshold filter, and counts that fall below the threshold can be filtered out under the red threshold filter.

    Admins can use the slider of the inventory threshold to get accept/reject suggestions accordingly.

    Count Items

    Each count item will show the following information:

    • Counted: Represents the physically available sellable inventory counted at the facility for a given product. If an item is not counted, this information will not be shown on an item.

    • Systemic: Represents the quantity on hand at the time when that particular count was submitted.

    • Variance: Shows the difference between the expected and counted values if a count is submitted for an item.

    • User

    If no count has been submitted for an item, a red badge labeled Not Counted will be displayed along with the date that this product was last counted.

    Actions

    Every count item has three options that the reviewer must select from. When a count is closed, all items where no action was performed will be rejected by default to ensure that they do not impact inventory.

    • Accept: Accepting a count commits the variance submitted by that count to the OMS’s actual inventory and also becomes available to be synced to external systems as cycle counts or inventory adjustments. Click the green thumbs-up button to accept a count.

    • Recount: When variances reported in a count are outside of acceptable limits and a recount by the store is required, click on the yellow recount button. This will reject the current count and add the same item back into the count so that when the count is reassigned to the facility, the product is available to be counted again.

    • Reject: Rejecting an item discards a submitted count, ensuring that it does not impact OMS inventory levels. clicking on the red thumbs-down button rejects the cycle count for the items.

    Suggested Actions

    Based on the variance threshold selected, suggested actions will be highlighted with an outline. Admins can use the slider of the inventory threshold to accept/reject suggestions accordingly.

    Items with variances within acceptable tolerances will be suggested by the system to be accepted, and items below acceptable tolerance will be suggested for recount or rejection. Items that were not counted at all will be suggested for recount.

    Bulk Actions

    Select multiple items by clicking on the checkbox at the end of an item and clicking on the desired bulk action in the bottom toolbar. All items can be selected or unselected by clicking on the checkbox in the top toolbar. Retailers can also switch the green or red threshold tabs to accept/reject items in bulk.

    Add Item

    If an item needs to be added to a count before being reassigned to a facility for a recount, click on the add toolbar at the top of the screen, search for the product using the product identifier, and click on Add to Count to add the product.

    All the newly added items and the items sent for recount will need to be reassigned to the facility. Click on the re-assign button in the overview section to reassign the inventory count to the facility.

    Close a count

    To close a count, click on the primary action button at the bottom of the screen. This will prompt you to confirm that the current count is ready to close. All open count items from the count will be rejected and the count will no longer be editable. Closed counts are shown on the Closed page.

    When an inventory is rejected by the fulfillment team in HotWax Commerce, the ATP of that product gets 0, while the QOH remains the Same. Once inventory is updated through the Cycle Count App, the variance for both the QOH and ATP is recorded separately. For example, if the QOH of the inventory is 10 and the ATP is 0 due to order rejection, and during the inventory count the inventory available is 9 then the variance will be updated as -1 and +9 for QOH and ATP respectively.

    In-Store Returns

    Learn how HotWax Commerce OMS simplifies in-store return processes for retailers, ensuring efficient handling of online orders in physical stores.

    The Creating In-Store Returns feature in HotWax Commerce addresses challenges for retailers selling products across multiple channels. In the absence of online order information in POS systems, in-store returns can become complex. HotWax Commerce, an Omnichannel Order Management system, resolves this by maintaining records of online orders from e-commerce platforms, ensuring efficient in-store return processes on the HotWax Commerce platform, and improving workflow for store associates.

    How to Create In-Store Returns

    Inventroy Import Method

    Steps to Upload a CSV File:

    1. Go to the Import App Inventory page and select your import method.

    2. Click the info icon in the top-right to download the sample CSV template.

    Purchase Order Upload

    Learn how HotWax Commerce automates pre-order and back-order management through the use of purchase orders, offering integration with ERP systems and a simplified process for manual import.

    HotWax Commerce aids in automating pre-order and back-order management by leveraging purchase orders. This automation includes the automatic listing and de-listing of products which is particularly beneficial for retailers who have large purchase order catalogs.

    Purchase orders (POs) provide crucial details about item specifics and upcoming inventory arrivals. Retailers can integrate their ERP systems with HotWax Commerce to synchronize purchase orders automatically or utilize the Import App to manually import purchase order CSV files.

    To know how you can manage your purchase orders from your ERP system like NetSuite, please refer to the . For users who want to import their purchase orders manually, HotWax Commerce’s Import app simplifies the process of importing purchase orders and their inventory into HotWax Commerce. Here’s how retailers can upload purchase orders using the Import App:

    Inaccurate Inventory Computation

    Learn how to troubleshoot inaccurate inventory computation issues in HotWax Commerce for accurate product availability, especially during pre-orders.

    Challenge

    Unavailability of Pre-Order Option for a product on Shopify Store Despite 0 Inventory and Linkage to HotWax Commerce

    Description

    Transfer Order Creation

    Create a new transfer order in the Transfers App.

    Use the Transfers App to create a Transfer Order (TO) and move inventory between facilities.

    Create a new TO

    1. Select the Add (+) icon.

    Purchase Order Management

    Discover how to manage uploaded purchase orders in HotWax Commerce, including viewing, editing, making changes, or canceling purchase orders.

    Once the Purchase order has successfully been uploaded to HotWax Commerce, Merchandisers can view the purchase orders via the Find Purchase Order Page. This can be done by clicking on Procurement > Purchase Orders from the HotWax Commerce’s Hamburger menu.

    The Find Purchase Orders page showcases the following details:

    • Consolidated View: Offers a comprehensive display of all upcoming purchase orders and their individual items.

    Import Returns

    Discover how HotWax Commerce streamlines the return management process for Shopify retailers by integrating with Shopify to import returns.

    The import returns feature in HotWax Commerce streamlines the return management process for retailers using Shopify. Returns, whether initiated by customers or customer service representatives (CSRs), are a common aspect of eCommerce. Retailers often leverage third-party return management apps to handle returns efficiently. However, HotWax Commerce doesn't function as a Return Management System; instead, it integrates with Shopify to import the returns.

    HotWax Commerce downloads return data once the return process is completed in Shopify, and this information is then transmitted to ERP systems for financial and accounting purposes. The integration avoids the need for direct links between ERP and Return Management Systems.

    Here's how returns can be imported from Shopify to HotWax Commerce:

    1. log in to the HotWax Commerce Job Manager App from the launchpad.

    The Create Transfer Order page opens to capture order details.

    Name the TO

    • Enter a clear, searchable name so the TO is easy to find later.

    Assign store and facilities

    • Product Store: The available product store is selected by default; change it if needed.

    • Origin: Select Assign next to Origin (or the preselected facility) and choose the shipping facility.

    • Destination: Select Assign next to Destination and choose the receiving facility.

    Select shipping method

    • Carrier: Choose a shipping carrier (for example, FedEx).

    • Method: Choose a supported method for that carrier (for example, Standard, Same Day, or Next Day).

    Plan shipping and delivery dates

    • Ship Date: Select the shipment date from the calendar.

    • Delivery Date: Select the expected delivery date.

    Add items to the TO

    Add items manually or by uploading a CSV.

    Bulk upload via CSV

    Recommended for TOs with many items.

    • In the Import items CSV section, download the sample file if needed.

    • Upload the CSV containing SKUs and quantities.

    • After upload, select the product identifier type and map the identifier and quantity columns.

    Manually add items

    Recommended for TOs with only one or a few items.

    • Search by SKU or another identifier.

    • When the product appears, select the Add (+) icon.

    Set item quantities

    Quantities can be set per item or in bulk.

    Per-item quantities

    • Enter the quantity directly or use the stepper arrows.

    • Use the ellipsis (⋮) menu to Book QoH (all on-hand stock) or Book ATP (available-to-promise stock).

    • Select Remove from order in the same menu to delete an item.

    Bulk quantities

    • Select the checkbox above the item list to select all items.

    • Apply Book QoH, Book ATP, or Custom Quantity to update every item at once.

    Finalize the TO

    1. Review the destination facility, shipping method, transfer dates, and item quantities.

    2. Select the checkmark icon in the lower-right corner to create the TO.

    After creation, you land on the Transfer Order Details page with the order in Created status.

    Go back and review old counts and export
  • On the detailed page, review the Shopify shop product section to identify the store with which the product is currently connected.

  • Establish the Connection

    • Initiate the connection by clicking the Add button.

    • Select the Shopify store designated as the Shop in OMS.

    • Input the Shopify product ID and Inventory ID (extracted from the product on the Shopify store).

  • Product

    Store1 Internal ID

    Store2 Internal ID

    SKU1234

    1543

    1462

    Product

    HotWax Internal ID

    Store1 Internal ID

    Store2 Internal ID

    SKU1234

    SKU1234

    1543

    1462

    Pre-order Catalog

    Troubleshooting

    Troubleshooting

    Order Management

    Checkout workflows involved in Order Management. Gaining an understanding of these processes will give you an overview of how orders are handled from start to end.

    Job Workflows

    The section details how various jobs contribute to the overall system, from order allocation to inventory management, and offers resolutions into troubleshooting and performance.

    Incorrect Shipping Method Mapping

    Discover your guide for troubleshooting Brokering Issues due to Incorrect Shipping Method

    key to initiate the search process after entering the search criteria.
  • The platform will display the search results based on the provided SKU or order ID.

  • You can now view all pertinent details related to the order, including customer information, order items, and status. Click on the order to access the detailed information.

  • Promised Date

    This filter categorizes orders based on their promise date, allowing users to filter them by predefined time intervals.

    Auto Cancel Date

    The auto-cancel date is the predetermined deadline by which an order will be automatically canceled if not fulfilled.

    Shipping Method

    Filter by the shipping method such as delivery speed (standard, expedited, express), cost, or specific carriers.

    Product Store

    Choose the desired Product Store from the dropdown menu to filter by a specific store.

    Facility

    Select the Facility to narrow down the results to a particular location.

    Order Status

    Filter by Order Status to view orders in a specific stage (created, approved, completed, canceled).

    Item Status

    Filter by Item Status to focus on specific stages of item fulfillment (Reserved, Picking, Packing, Shipped, Delivered).

    Sales Channel

    Choose the desired Sales channel from the dropdown menu to filter by a specific channel such as Shopify, Amazon, etc.

    Order Date

    This filter categorizes orders based on their order date, allowing users to filter them by predefined time intervals.

    Pre-Orders

    Orders that are placed in Pre-order parking (To hold pre-ordered items until released from HC) can be shown by clicking on the Pre-orders checkbox.

    Back Orders

    Orders that are placed in Backorder parking (To hold back-ordered items until released from the HC) can be shown by clicking on the Back-orders checkbox.

    Brokering Queue

    Orders that are placed in the Brokering Queue (To hold orders for in-stock items until the next brokering run) can be shown by clicking on the Brokering Queue checkbox.

    Unfillable Hold

    Orders that are placed in the Unfillable Hold (To hold unfillable items from further brokering and auto-cancellation) can be shown by clicking on the Unfillable Hold checkbox.

    : The user name that submitted the count will be displayed below the variance.
    Enter your user credentials (username and password) to log in to the HotWax Commerce Platform.
  • Navigate to Create Order Return:

    • In the main menu, click on Order Management.

    • From the dropdown, select Create Order Return.

  • Search for the Order:

    • On the Create Order Return page:

      • Utilize the search tab to locate specific orders.

      • Enter relevant details such as Shopify Order ID, Customer Name, Order creation date, Customer Email Address, or Customer Phone Number.

      • Click Search to find the specific sales order.

  • Select Create Return:

    • Once the order is located, click on the Create Return button associated with the order.

  • Complete the Return Details:

    • You will be redirected to the Create Return page.

    • Select the first checkbox for all items or individual boxes for selective returns.

    • Enter the Facility ID where the customer is returning the item.

    • Choose the Return Reason from the dropdown menu.

    • Optionally, enter the Employee ID.

    • Click the Create Return button to initiate a return request.

  • Alternatively, store associates can also create returns by going to the sales order for which the return needs to be created and clicking on the Create RMA button.

    1. View Returns Page:

      • After creating the return, you will be directed to the View Returns page.

      • Store managers wanting to review and approve multiple return requests can also access the View Returns page through the following steps:

        • Navigate to the Sales Return Page from the hamburger menu.

        • Locate and track the status of the return (Requested, Received, or Completed).

        • Click on the order ID to access the View Returns page for detailed information about the return.

    2. Authorize Returns:

      • On the View Returns page, click the Accept button to approve the return request.

      • To finalize the return process, click the Receive Return button.

    3. Partial Returns:

      • If only specific items need acceptance:

        • Select the checkboxes for those items.

        • Click the Update button to receive a return for the selected items.

    4. Ensure Returns Job is Scheduled:

      • In the HotWax Commerce Job Manager app, ensure the refunds job to update returns on e-commerce for refund creation is scheduled from the Orders page.

    5. Verify Returns on Shopify:

      • To verify order returns on Shopify:

        • Go to the Shopify admin panel.

        • Navigate to Orders

    By following these detailed steps, store associates can efficiently navigate through the HotWax Commerce platform, manage in-store returns, and contribute to a smooth and effective customer experience.

  • Fill in the required data in the downloaded CSV file.

  • Click the Upload button to select and upload your CSV file.

  • Map all necessary columns to their matching fields.

  • After mapping, click Review. If any records are missing, map and save them.

  • Click the Import button in the bottom-right corner to finish.

  • Inventory Import Methods

    Exact ATP

    Purpose: Used when the sellable inventory in OMS must exactly match the available inventory (ATP) from an external system like NetSuite. In cases When NetSuite (or any third-party system) is used as a Warehouse Management System (WMS), it reserves inventory for orders that need to be fulfilled.

    How It Works: The method compares the inventory quantity in the uploaded file with the current ATP in HotWax OMS. The difference (delta) is then applied to both ATP and QOH (Quantity on Hand) in OMS to reflect accurate inventory.

    Example: For Product A at a store:

    • Initial QOH: 10 units

    • Initial ATP: 5 units

    • File’s Quantity: 4 units After resetting:

    • QOH: 9 units (adjusted by the delta of -1)

    • ATP: 4 units (adjusted by the delta of -1)

    Exact QOH

    Purpose: Used to sync physical inventory from external systems like NetSuite to HotWax OMS without accounting for inventory reservations. This ensures OMS reflects the actual on-hand quantity.

    How It Works: The method compares the QOH in the uploaded file with the system's QOH in OMS. The difference (delta) is applied to both QOH and ATP, ignoring any reservations.

    Example: For Product A at a store:

    • Initial QOH: 10 units

    • Initial ATP: 5 units

    • File’s Quantity: 4 units After resetting:

    • QOH: 4 units (adjusted by a delta of -6)

    • ATP: -1 unit (adjusted by the same delta of -6)

    Adjust by Certain Amount

    Purpose: In many warehouses, retailers maintain separate zones for eCommerce and wholesale inventory. When inventory is moved from one zone to another within the same warehouse, it's treated as an inventory transfer.

    How It Works: This method adjusts inventory by a specified quantity to reflect the transfer, locking in the internal variance.

    Example: For Product C in a warehouse with two zones:

    • Initial QOH in eCommerce Zone: 12 units

    • Initial QOH in Wholesale Zone: 8 units

    • Transfer Quantity: 5 units (from eCommerce to Wholesale) After transfer adjustment:

    • QOH in eCommerce Zone: 7 units (adjusted by a delta of -5)

    • QOH in Wholesale Zone: 13 units (adjusted by a delta of +5)

    Cycle Count or Similar

    Purpose: This method is used when physical inventory is found or re-counted, such as locating misplaced items. It resets both QOH and ATP to the exact values provided in the uploaded CSV file.

    How It Works: Directly sets ATP and QOH to the values provided in the CSV.

    Example: For Product D at a store:

    • System QOH: 2 units

    • System ATP: 1 unit

    • Physical Count (recovered inventory): 6 units After adjustment using recount method:

    • QOH: 6 units (set directly based on physical count)

    • ATP: 5 units (set to match ATP)

    Schedule Incoming Inventory

    Purpose: This method is ideal for planned product launches. It allows retailers to schedule when inventory should become available in the system. Once the scheduled time arrives, the uploaded inventory is automatically set live.

    How It Works: Schedule inventory import so that the stock becomes available at a predefined date and time (e.g., 10 AM on June 31st).

    Example: For Product E scheduled to launch on June 30th:

    • Current QOH in system: 0 units

    • Scheduled Import File QOH: 100 units

    • Scheduled Import Time: June 30th, 10:00 AM After scheduled import executes:

    • QOH: 100 units

    • ATP: 100 units

    Future Inventory for Pre-Order

    Purpose: This method supports pre-launches by importing inventory tied to future purchase orders. It enables customers to place pre-orders even though the stock has not yet physically arrived.

    How It Works: Imports inventory related to a future purchase order, enabling pre-orders.

    Example: For Product F tied to an upcoming purchase order:

    • Current QOH: 0 units

    • Preorder Inventory in Import File: 200 units

    • PO Expected Delivery Date: July 10th After PO import:

    • QOH: 0 units (no physical inventory yet)

    • ATP: 200 units (reflecting preorder availability)

    Additional Features

    • The Import App enables retailers to view and schedule jobs for various inventory import methods.

    • If any required field is missing in the uploaded file, the app displays it before processing begins. It also highlights what’s missing for example:

      • “Seems like uploaded file has missing products, checked with initial 10 records.”

    • Retailers can also View History of file processing.

    • From View history retailers can:

      • View logs with key details: start/stop time, and log ID.

      • Check file status: Finished, Running, Failed, or Pending.

      • Download failed records for analysis.


    Purchase Order Page
    1. Head to the Import App> Purchase order page by clicking on the Purchase order in the left menu.

    Image: Purchase Order Page
    1. Upload the CSV File by simply clicking on the Upload text within the first field.

    1. Upon uploading, there might be variations in column names in Hotwax Commerce and the uploaded purchase order, like 'Order ID' in HotWax Commerce can be named as 'Internal ID' in other systems. To avoid errors, users must map these columns accurately. Here are the fields to be mapped:

    • Order ID: Acts as a unique identifier for the order.

    • Shopify Product SKU: Shopify's distinct product identifier.

    • Arrival Date: Expected arrival date of the order.

    • Ordered Quantity: Quantity of products ordered.

    • Facility ID: Identifies the specific facility.

    Users can easily map these fields by selecting the exact field from dropdown menus. For added convenience, HotWax Commerce allows Merchandisers to save these mappings within the Import App by clicking on the New mapping button, streamlining future uploads. Saved mappings appear as buttons above the mapping field for quick access.

    Apart from this merchandisers need to create a new field i.e. IsNewProduct and mark the field as either ‘Yes’ or ‘No’. This field helps HotWax commerce identify whether a product is a new product and should be added to the pre-order catalog or the product was already being sold on the e-commerce and currently it is currently out of stock, in such cases, it is added to the backorder catalog.

    1. After saving mappings, proceed by clicking on the Review button to transition to the PO review page. This ensures a smooth completion of the process.

    Purchase Order Review page

    The PO Review page provides a detailed overview of PO CSV data and assists users in identifying and correcting errors within the CSV file.

    Purchase Order review page

    The purchase order page offers the following functions to ensure accurate importation into HotWax Commerce:

    1. Search Products: For Merchandisers managing a large catalog of products in their CSV, getting details about individual products is crucial. Merchandisers can search for individual products for review using the product SKU. In the product fields, the merchandiser will get a comprehensive view of that particular product, including whether it is on backorder or pre-order, the quantity ordered, and the expected inventory arrival date.

    1. Bulk Adjustments: Merchandisers can select products for adjustments using checkboxes available in each product's field. To select all products, the merchandiser can click on the checkbox at the top right of the page. Once products are selected, merchandisers need to click on the bulk adjustment screen, which will open a pop-up screen with the following options:

    • Buffer days: Refers to additional time added to the expected delivery date of a pre-order product to account for potential delays. For example, if the Purchase order arrival date is 10th January, the user can set a buffer days of 10 so that the dispatch date for Shopify PDP will be shown as 20th January.

    • Order Buffer: Refers to the inventory or quantity of a pre-order product that a merchandiser may set to manage inventory discrepancies or excess demand. For example, if a product has an upcoming inventory of 100, the user can set 10 as order buffer so that the available to promise inventory on Shopify becomes 90.

    • Catalog: Merchandisers can determine whether the product is on backorder or pre-order.

    • Facility: Merchandisers can select the facility where the purchase order for that inventory is received.

    1. DateTime Parse Errors: Retailers working in different countries often face issues with time formats (e.g., European countries follow DD/MM/YYYY formats, while US companies follow MM/DD/YYYY format). Similarly, purchase orders can have different formats. If there's any format mismatch, the error message will be available in this field. Merchandisers can specify the date format easily by clicking on the DateTime Parse Errors and adjusting the date according to the PO.

    1. Missing Facilities: There may be instances when the facility name in the purchase order is inaccurate, causing errors in the uploading process. For example, if the Times Square facility is incorrectly mentioned as Time Square in the Purchase order, this field will show an error. Merchandisers can rectify this error by clicking on the Missing Facilities field which will open up a missing facilities pop up card. Merchandisers can rectify the mistake by typing the correct facility name and click on the save button to update the changes.

    1. Missing Products: Similarly, there can be errors in product namings. If a product is not available in HotWax Commerce, this field will display an error. Merchandisers can rectify the mistake by clicking on this field, and opening a pop-up menu where they can correct and save it.

    1. Reset Changes: If a merchandiser wants to start afresh with the changes, they can click on the reset icon at the top right of the page.

    1. Filter Products: Purchase orders for different facilities can be included in the same CSV file. If a merchandiser wants to view upcoming purchase orders of a specific facility, they can filter by clicking on the Purchase order IDs at the bottom of the page.

    2. Upload Purchase Order: Once the review is complete, merchandisers can click on the blue upload icon at the bottom right to upload the purchase order in HotWax Commerce.

    integration guide
    HotWax is encountering issues accurately reflecting product availability, notably during pre-orders for specific items. The problem arises when HotWax depends on Shopify for inventory data, resulting in products being inaccurately displayed as in stock when they are, in fact, out of stock.

    Explanation

    Inventory within Shopify

    • Shopify's available inventory is computed by deducting open orders from the physical inventory published by the ERP.

    • During pre-selling, inventory levels can go below zero due to overcommitment of inventory, causing negative inventory.

    HotWax's Inventory Computation when reading inventory from Shopify

    • HotWax deliberately disables specific functionalities to reserve inventory for committed orders, ensuring that committed inventory is not deducted twice. This precaution is taken because Shopify already incorporates committed inventory within its shared inventory levels.

    Current State of Inventory Deduction in HotWax

    Reserve Inventory Enabled
    Reserve Inventory Disabled

    QOH Inventory in ERP

    20

    20

    Committed orders

    10

    10 (ignored)

    Inventory from Shopify

    10

    10

    Available to sell in HotWax

    0 (=20-10-10)

    • HotWax relies on Shopify's inventory-level webhooks as a crucial mechanism to determine the available inventory for its products. In HotWax, negative inventory values from Shopify are systematically treated as zero, mitigating the risk of inaccurate stock calculations. The issue arises when HotWax reads inventory from multiple locations. This process introduces a potential for inaccuracies in product availability computations, particularly when Shopify indicates negative stock levels.

    Location

    Shopify

    HotWax

    Canada

    1

    1

    Belgium

    -1

    0

    Available

    0

    1

    Troubleshooting Steps

    For Shopify

    1. Navigate to the Product on Shopify:

      • Locate the specific product within your Shopify admin panel.

    2. Check Inventory:

      • Review the inventory level for the product at all the locations. Hint: There must be locations with negative inventory numbers.

    3. Verify the sum of location Inventories:

      • Ensure that the combined inventory from all locations sums to 0.

    For HotWax

    1. Find the Product in HotWax:

      • Locate the corresponding product in the HotWax Commerce Pre-order app's Catalog page and click the product to open the Product Audit page.

    2. Check Inventory in the Online ATP calculation card:

      • Examine the inventory level for the product within HotWax. The online ATP would be more than 0.

    To see how HotWax allocates pre-orders to physical inventory when HotWax is the source of inventory, check out this blog: https://www.hotwax.co/blog/how-to-capture-and-release-shopify-pre-orders-with-ease

    Purchase Order Specifications: Presents purchase orders in an exploded pattern, revealing distinct specifications for each item.

  • Purchase Order Status: Indicates the current status of the purchase order, whether it's in a created, approved, completed, or canceled state.

  • On-Hand Inventory Overview: Provides insights into available quantities and available-to-promise inventory on Shopify.

  • Created Date and Arrival Date: Merchandisers can easily view when the purchase order was created in HotWax Commerce and when will the inventory of the purchase order items arrive.

  • Merchandisers can easily view individual Purchase orders by searching Purchase Order ID, HotWax Commerce ID, or Product name from the search bar. Moreover, they have the ability to filter search results based on PO status, arrival date, or facilities. Additional functionalities that are available on the Find Purchase Orders page are:

    • Grouping: Merchandisers have various options to view purchase order items, they can group the items by order items, products, and their arrival dates, etc. For example, if a merchandiser changes the grouping to a parent product, they will be able to see all the parent products and the inventory overview of that product, irrespective of the variant's inventory.

    • Export CSV: Merchandisers can export the CSV files of all the purchase orders for external auditing purposes.

    Once the merchandiser has located their desired purchase order, they can execute various flows to ensure precise synchronization of pre-order information with the eCommerce platform.

    Find Purchase Order

    Cancel Purchase Order

    Merchandisers may opt to cancel purchase orders due to various reasons such as supplier issues or lack of demand. HotWax Commerce allows the cancellation of uploaded purchase orders by following these steps:

    1. Navigate to Procurement > Purchase Orders > Find Purchase Order.

    2. Select the desired purchase order > Open Purchase Order Detail page.

    3. The cancel button, located at the top left of the page, facilitates the cancellation process, changing the purchase order status to canceled.

    Edit Arrival Date

    Merchandisers can modify the purchase order arrival date if there’s a change from the supplier's end. This alteration assists in providing the accurate promise date to the customers

    1. Navigate to the desired purchase order detail page.

    2. View purchase order item details at the bottom of the page. Click the pencil icon to adjust the arrival date.

    3. Changes made can be tracked by clicking on the history icon in the line item field.

    For bulk updating of all product arrival dates, merchandisers can import another CSV in the import app and cancel the existing PO.

    Change the Quantity of Purchase Order Items

    In cases where product demand differs from expectations, merchandisers can alter the quantity of purchase order items rather than create a new purchase order. Steps to execute this adjustment include:

    1. Navigate to the Purchase Order Detail page.

    2. Click the Edit Items button at the top of the line items to modify quantities. Insert the accurate quantity and click on Save button to sync the latest inventory changes to the e-commerce platform for selling.

    Cancel Purchase Order Items

    To cancel specific items instead of the complete purchase order, merchandisers can follow these steps:

    1. Select the desired purchase order from the Find Purchase Order Page.

    2. Click on the Edit Items button at the top of the purchase order line item list.

    3. Click on the Delete icon in the last column of the line item. Confirm the deletion process in the pop-up prompt by clicking yes.

    Within the Job Manager app, go to the Orders page.

  • Locate the Returns job within the import section of the Orders page.

  • Click on the job title to open the job card.

  • Specify the job run time and preferred frequency based on your operational needs.

  • Click on Save Changes to schedule the job according to the defined run time and frequency.

  • Refer to our Shopify Integration guide for detailed insights into how the import return job facilitates the import of order returns from Shopify.

    Bulk Upload Cycle Counts

    Operations teams can easily create and assign multiple cycle counts to different locations at once using the new bulk import feature.

    The Bulk Import functionality of HotWax Commerce’s Cycle Count App is designed to simplify the process of creating and assigning cycle counts for multiple products across multiple facilities. It allows users to create multiple cycle counts using a CSV upload which eliminates the need to create individual requests for each product or location.

    This reduces manual effort, minimizes errors, and enhances operational efficiency, especially for retailers with large store networks.

    This guide explains how to create cycle counts in bulk

    Preparing the CSV File

    The template of the CSV file is as follows:

    COUNT_NAME
    FACILITY_ID
    PRODUCT_SKU
    STATUS
    DUE_DATE

    HotWax Commerce’s Cycle Count App accepts five key fields:

    1. Count_Name: The name of the inventory count.

      • This is a required field.

      • If multiple SKUs are part of the same count, repeat the count name.

      • For example, if the user is naming a count "WEEK_3", it should be repeated for each SKU in that count.

    • The above field names are only examples and the user can customize the names of the fields. The app allows the flexibility to map the custom fields to the system's fields. Find how to do this in the next section.

    • Count names can be repeated for different facilities. For example, two facilities can have a count named week-1.

    Steps to Create Cycle Counts in Bulk

    1. Accessing the Cycle Count App

    • Navigate to the Cycle Count App from the HotWax Commerce's launchpad.

    • Log in using credentials.

    2. Uploading the CSV file

    • In the bottom right corner of the draft page, click the + button to initiate a new count.

    • Two icons appear; Select the icon with multiple pages for a bulk import.

    • On the Draft Bulk modal, click on the Upload button on the top-right to import the prepared CSV file.

    3. Mapping custom CSV fields to the systemic fields

    • Click the dropdown next to "Count name" and select your custom field for the count name.

    • Repeat previous step for the other fields (Product SKU, Facility, Status, Due Date).

    The app allows the user to save the mappings by clicking on the + New mapping button.

    4. Confirm and Upload

    • After mapping the fields, click the Upload button on the bottom of the screen.

    • Confirm the upload in the popup window.

    5. Review uploaded files

    • Once uploaded, the file will appear at the bottom of the Draft bulk screen which can be downloaded.

    • The files will be processed within 10 minutes of the upload.

    6. Canceling Uploaded Counts

    • If the uploads have not been processed, users can cancel them by clicking the trash-bin icon next to the file.

    Cross Border Shipping

    Business Overview

    This document presents a case study of a Canada-based online retailer operating a central warehouse and multiple retail stores, with shipping capabilities extending to the USA. The retailer focuses on optimizing logistics to improve delivery speed, reduce operational costs, and enhance inventory management. This guide explores how businesses with similar models can leverage an advanced order routing system to achieve these goals.

    Job Queueing

    Manage all pending, running, and completed jobs from the Pipeline page. With intuitive controls and detailed job information, you can effectively monitor and manage job execution.

    Pipeline page

    Provides a holistic view of all jobs, including their status, scheduled time, and execution details.

    Characteristics

    Chronological sequence for prioritized execution

    Jobs are displayed in chronological sequence, ensuring that jobs with the closest expiration time are prioritized for execution.

    Timeline Visualization for Clear Execution Scheduling

    A highlighted time frame clearly depicts the job's runtime and scheduled frequency, providing a visual representation of the job's execution timeline.

    On-the-fly Editing for Dynamic Job Management

    Users can seamlessly skip, cancel, edit, or reschedule any pending jobs before they start running. This flexibility allows users to adapt to changing requirements and optimize job execution based on real-time needs.

    Filter logs by failed records and failed files.

  • View and modify the file execution mode between Async and Queued options.

  • View and add the products included in the uploaded file.

  • Download log file, uploaded files and failed records for troubleshooting.

  • Business Requirements for Order Fulfillment

    Time-in-Transit

    The retailer offers standard shipping with delivery within 7 days for all USA and Canada orders.

    Order Priority

    All orders should be prioritized by the FIFO rule, ensuring that orders placed first are brokered first.

    U.S. Order Fulfillment

    To minimize international shipping costs, it is essential to fulfill all orders through the central warehouse rather than retail stores. Shipping directly from the warehouse ensures cost efficiency and avoids the higher expenses associated with international shipping from individual retail locations.

    Canada Order Fulfillment

    For orders within Canada, the warehouse is the primary fulfillment center. Retail stores act as backup fulfillment points only when the warehouse lacks sufficient inventory. This strategy enables effective inventory management while still providing backup options to meet demand.

    Orders with Unavailable Inventory

    If no inventory is available at any locations, the order should be available for re-routing. These unfillable orders should be rerouted along with regular orders.

    Routing Interval

    The brokering should be scheduled frequently to ensure continuous and timely order processing.

    Key Routing Considerations

    US Orders should be prioritized before Canada Orders since Canada orders can also be fulfilled from the store while US orders can only get inventory from the warehouse.

    U.S. Order Fulfillment

    All US orders must be fulfilled exclusively from the central warehouse in Canada.

    Canada Order Fulfillment Priorities

    Warehouse First: Canada orders should be prioritized to be fully fulfilled from the warehouse.

    Store Fulfillment: If the warehouse lacks inventory, orders should be fully fulfilled from stores.

    Partial Fulfillment from Warehouse: If neither the warehouse nor stores have the entire stock, orders items with available inventory should brokered to the warehouse.

    Partial Fulfillment: If the warehouse is out of stock, partial fulfillment from stores should be allowed.

    How to Set Up Order Routing

    Pre-Requisites

    Shipping Methods Mapping

    The retailer operates two separate online stores in the US and Canada. During the initial mapping of shipping methods, they should be configured distinctly to differentiate between orders destined for the USA and those for Canada.

    • U.S. Orders: Mapped to "US_Standard_Shipping." All standard orders from the US store will use this shipping method.

    • Canada Orders: Mapped to "Standard_Shipping." Standard orders from the Canada store will use this shipping method.

    Create Facility Groups

    Two facility groups need to be created:

    • Group for Warehouses: To centralize warehouse-based fulfillment.

    • Group for Stores: To route orders to retail stores when necessary.

    Create Brokering Run

    A single brokering run is scheduled every 15 minutes to ensure timely order processing for both U.S. and Canada orders. This regular interval ensures that orders are brokered efficiently across different regions.

    Create Canada Routing Rule

    This routing rule is dedicated to handling Canadian orders, ensuring they are processed separately from U.S. orders.

    Order Filter

    Two filters are applied in this routing rule:

    • Queue Filter: Orders are fetched from three queues to ensure complete coverage of all types of Canadian orders:

      • Brokering Queue: Includes orders brokered for the first time.

      • Rejected Item Parking Queue: Includes orders rejected from fulfillment locations.

      • Unfillable Queue: Includes orders that were previously unfillable due to a lack of available inventory.

    • Shipping Method Filter: The filter is set to include only Standard Shipping, which is the designated shipping method for Canada orders.

    Order Sort

    The orders are sorted by Order Date, ensuring that Canadian orders are brokered on a first-come, first-served basis, following the FIFO principle.

    Create Inventory Rules

    The following five inventory rules are applied to route Canadian orders effectively:

    First Inventory Rule

    • Inventory Filter: A Facility Group Filter is applied to prioritize fulfillment from Warehouses Only.

    • Inventory Sort: Orders are sorted by Proximity to the customer.

    • Action: Partial fulfillment is turned off, and if no warehouse can fulfill the order, the order is sent to the next rule.

    Second Inventory Rule

    • Inventory Filter: A Facility Group Filter is applied to allow fulfillment from any store.

    • Inventory Sort: Orders are sorted by Proximity to the customer to prioritize the nearest store.

    • Action: Partial fulfillment is turned off. If no store can fulfill the entire order, the order is sent to the next rule.

    Third Inventory Rule

    • Inventory Filter: A Facility Group Filter is applied to allow fulfillment from warehouses only.

    • Inventory Sort: Orders are sorted by Proximity to the customer to minimize delivery time from the warehouse.

    • Action: Partial fulfillment is turned on, meaning available inventory in the warehouse is allocated to the order. For items that are unavailable, the order is sent to the next rule.

    Fourth Inventory Rule

    • Inventory Filter: A Facility Group Filter is applied to allow fulfillment from all stores.

    • Inventory Sort: Orders are sorted by Proximity to the customer, ensuring the closest store can fulfill the order.

    • Action: Partial fulfillment is turned on so that available inventory in the stores is allocated to the order. For any remaining unfilled items, the order is sent to the Unfillable Queue for further processing later.

    Create U.S. Routing Rules

    For U.S. orders, a U.S. Routing Rule is created to manage routing and fulfillment. This batch ensures U.S. orders are processed based on their specific requirements.

    Order Filter & Sort

    • Order Filter: Two filters are applied to U.S. orders:

      • Queue Filter: Orders are fetched from the Brokering Queue, Rejected Item Parking, and Unfillable Queue, ensuring all orders are processed, including previously unfulfilled or rejected orders.

      • Shipping Method Filter: Only orders using the US_Standard Shipping Method are included in this batch, ensuring that only U.S. standard shipping orders are routed.

    • Order Sort: Orders are sorted by Order Date, ensuring that earlier orders are processed first, following the first-in, first-out (FIFO) principle.

    Create Inventory Rule for U.S. Orders

    For U.S. orders, the following inventory rule is applied to prioritize the central warehouse as the fulfillment location.

    • Inventory Filter: The Facility Group Filter is set to include only the warehouse as the fulfillment source for U.S. orders.

    • Inventory Sort: Orders are sorted by Proximity to ensure that the nearest location is considered.

    • Action: Turn on partial fulfillment to allow the system to fulfill orders from available inventory in the warehouse. If any items are unavailable in the warehouse, the order is moved to the Unfillable Queue for future processing.


    Create U.S. Order Batch

    U.S. orders should be mapped to "US_Standard_Shipping," and a new routing batch should be created to ensure that these orders are fulfilled on a FIFO basis.

    Create Inventory Rule for U.S. Orders

    All U.S. orders should be fulfilled from the central warehouse. Select the facility group filter for the warehouse, allowing partial fulfillment to allocate available inventory. If items are unavailable, move them to the unfillable queue.


    Activate Components

    • Activate Inventory Rules: Define fulfillment strategies for U.S. and Canadian orders.

    • Activate Each Order Batch: Ensure orders are processed according to their respective shipping methods.

    • Activate the Brokering Run: Schedule the brokering run every 15 minutes to ensure continuous and timely order brokering.

    Conclusion

    By leveraging a robust order routing system, retailers can optimize order fulfillment. Specific batches for U.S. and Canada orders, combined with precise inventory rules, ensure that U.S. orders are fulfilled from the central warehouse, and Canada orders are managed efficiently between the warehouse and stores. This streamlined approach enhances order processing efficiency, reduces costs, and supports reliable delivery within the 7-day standard shipping timeframe.

    10 (=20-10)

    Troubleshooting

    This document aims to provide detailed troubleshooting steps for resolving issues related to order brokering in HotWax Commerce. The goal is to ensure smooth operation of the brokering engine, proper scheduling, and correct configuration of inventory rules, order batches, and facilities.

    HotWax Commerce Order Brokering is a critical function that ensures orders are routed correctly based on predefined rules and schedules. Issues with order brokering can result in delays, incorrect order routing, and inventory mismanagement. This document will guide users through diagnosing and resolving common issues encountered during the brokering process.

    Pre-Orders

    Discover how HotWax Commerce's Pre-order Solution maximizes revenue potential and operational efficiency for retailers, simplifying the entire pre-order process.

    HotWax Commerce’s Pre-order Solution empowers retailers to maximize revenue potential and operational efficiency. With intuitive applications and workflows, managing Pre-orders becomes straightforward.

    Our solution enables retailers to sell inventory at full price before arrival, reducing end-of-season markdowns and securing increased revenues. By handling mixed cart orders, allocating inventory for online and physical stores, and facilitating Pre-order fulfillment without risking overselling, HotWax Commerce simplifies the entire Pre-order process.

    Returns

    Learn about HotWax Commerce's return management solutions, including importing returns from Shopify and creating in-store returns.

    HotWax Commerce offers solutions for two distinct types of return managemnet: Importing Returns from Shopify and Creating In-Store Returns.

    1. Import Returns from Shopify:

    In the context of Mail Returns, customers or the Customer Service Representative (CSR) team can initiate return requests via email or phone calls.

    • Shopify retailers typically employ third-party return management apps for efficient return handling.

    • HotWax Commerce, while not functioning as a dedicated Return Management System, integrates with Shopify. It downloads return data post-completion, transmitting the information to ERP systems for financial and accounting purposes. This integration is facilitated without the need for direct links between ERP and Return Management Systems, showcasing HotWax Commerce's innate capabilities for data transfer.

    1. In-Store Returns:

    • Shopify retailers utilizing Shopify POS can efficiently create and manage in-store returns for online orders directly through the POS system. Returns for these orders is also imported from SHopify

    • For retailers on non-Shopify POS systems, HotWax Commerce steps in to provide essential tools and functionality for creating and managing returns effectively within the platform.

    This approach ensures that retailers using HotWax Commerce have a comprehensive and flexible system for handling returns, whether initiated by customers through various channels or managed within the HotWax Commerce platform itself.

    Video: Application Instance

    159

    WP02-28-Purple

    INV_COUNT_ASSIGNED

    2024-11-12

    WEEK-1

    156

    WSH11-28-Orange

    INV_COUNT_CREATED

    2024-10-31

    PRODUCT_SKU: The SKU of the product requiring a cycle count.

    • This is a required field.

  • Facility_ID: The ID of the HotWax facility where the count will be assigned.

    • This is an optional field.

    • Blanks the count in the 'Draft' status'.

  • STATUS: The status of the count.

    • This is an optional field.

    • The user must use:

      • INV_COUNT_CREATED to save the count as a draft and assign it later.

      • INV_COUNT_ASSIGNED to assign the count immediately.

    • Blanks create the count in the 'Draft' status'.

  • DUE_DATE: The due date of the count.

    • This is an optional field.

    • The user must use the yyyy/mm/dd format.

    • Blanks create the count with no due date.

  • WEEK-3

    49

    WP09-28-Black

    INV_COUNT_CREATED

    2024-11-31

    WEEK-3

    49

    WSH07-28-Blue

    INV_COUNT_CREATED

    2024-11-31

    WEEK-2

    Templates

    In this document we will provide descriptions of some imaginary retailers we work with and their unique order routing, brokering, and fulfillment strategies. Each retailer has specific business needs, and this page will guide you through configuring rules tailored to meet those requirements.

    The return status will be completed now on the sales returns page.

    and access
    Order Details
    by clicking on the corresponding order ID.
  • Return information will be available for the corresponding order items.

  • Customized Job Configurations for Tailored Execution

    Scheduled job parameters can be modified directly from the Job Pipeline page, enabling users to tailor job execution to specific needs. This flexibility allows for optimization of job performance and resource utilization.

    Detailed Job History for Analysis and Troubleshooting

    Comprehensive historical job data is readily accessible for analysis and troubleshooting purposes. Users can identify patterns, optimize job performance, and resolve recurring issues by examining historical job execution details.

    Segmentation

    The Job Manager App shows all jobs (scheduled, running, or completed) on the Pipeline page, organized into three tabs: Pending, Running, and History.

    Actions retailers can perform on a job card:

    • Change run time and frequency: Use the dropdowns to update when and how often the job runs.

    • Edit custom parameters: View, copy, and modify job-specific parameters with the more option on the job card.

    • Skip the job: Temporarily skip the current run. The job will resume based on its schedule.

    • Disable the job: Cancel the current and future runs. The job can only be manually re-enabled to run again.

    • View history: Check the execution history and status (e.g., finished or failed).

    • Run Now: Run the job immediately by creating a duplicate instance. This action is irreversible.

    • Copy job details: Copy key job info like job ID, name, description, and runtime data.

    • Pin job: Pin frequently used jobs for quick access at the bottom of the page.

    1. Pending Tab

    This tab lists jobs in the pending status, meaning they are queued and waiting to begin execution. Retailers can take multiple actions from the job card, as listed above.

    Details visible in the Pending tab:

    • Time: Indicates when the job is scheduled to run, based on the timezone selected in the app.

    • Frequency: Indicates how often the job runs (e.g., every 15 minutes).

    • Recurrence: Displays the number of counts the job is retried once failed.

    • Job Enum ID: An internal identifier used by HotWax to define the type or purpose of the job.

    2. Running Tab

    This tab lists jobs in the running status i.e jobs those are currently in execution. It allows retailers to monitor the active job.

    Details visible in the Running tab:

    • Start Time: Indicates when the job started running.

    • Service Name: Indicates which OMS service is executing the job.

    • Running Duration: Indicates how long the job has been running.

    3. History Tab

    This tab lists all jobs that have been completed, whether finished or failed. Retailers can add custom parameters, view job history, copy details, or pin the job card.

    Details visible in the History tab:

    • Created By: Shows the user who initially created the job.

    • Updated By: Shows the user who last updated job parameters like schedule or frequency.

    • Time Zone: Displays the time zone in which the job was executed.

    • Copy Job Info: Retailers can copy fields like Job ID, Job Name, and runtime data for further use.

    Displays all the jobs queued for execution.

    Displays all the jobs running in the system.

    Displays all the historical jobs. Historical jobs can be filtered by their status.

    Search

    Easily locate specific jobs by name or category.

    Filters

    Quickly find jobs by applying filters based on category and status.

    History

    View Import Logs

    The Data Manager log provides history of files imported into the OMS, including the file import status, processing timestamps, and any error records. These logs support tracking, analysis, and troubleshooting of file imports.

    When accessing the Data Manager Log from the Job Manager App, users can directly view the following details:

    • Number of successfully processed files.

    • Number of failed files.

    • Files with error records.

    Detailed Log View

    Clicking View Details redirects retailers to a detailed logs page where they can:

    • Access individual logs with specifics like start and finished date and time, user information, and unique log IDs.

    • Download the original file and failed records for further analysis.

    • Filter logs to display only those that failed execution or contain error records.

    • View file execution mode such as Async or Queued

    Pin job

    Keep frequently accessed jobs readily available for quick access. Pinned jobs will be visible in the footer.

    Recurrence

    Displays the number of counts the job is retried once failed.

    View Closed Counts

    Guide to overview closed cycle counts in the Cycle Count App, including performance metrics, detailed count summaries, and export options for comprehensive reporting.

    Close Counts Details

    The Closed counts page gives a review of all counts that have been closed. This page is helpful for getting an overview of how cycle counts have been performing.

    The top of the page has two metrics:

    Counts closed: Number of counts that have been closed in the selected time range.

    Average variance: The average variance presents an overall measure of how accurate inventory has been across all recently closed cycle counts.

    The Closed count list shows the name and ID of the cycle count along with the facility from which it is completed and the date on which the cycle count is closed. Admins can also see the item count details such as how many items were available in the count and how many of them were counted. the rejected inventory counts and the total inventory variance are also visible for admins to easily identify the count with major inaccuracies.

    Search, Sort and Filter Closed Counts

    The Closed counts page includes all standard search and sort options, but adds a few specific filters to support retrospective analysis. Admins can filter by:

    • Facility, to view closed counts from a certain location

    • Created Date, to check when a count was initiated

    • Closed Date, to focus on when it was completed (with After/Before options)

    This is especially useful during audits or reporting when time-based filtering is key.

    Access the Detailed View of a Closed Count

    The Closed counts details page displays item-level information including counted quantity, system quantity, variance, and item status (accepted or rejected) of each item. The page also displays overall progress and total variance in the cycle count.

    Export Cycle Count Details

    To get a detailed view of recently closed counts, use the export function available at the right bottom and save counts offline in a CSV format that can be opened in all common spreadsheet tools.

    Configurable export options: Commonly referenced values can be configured during export to help make reporting easier.

    Facility

    • Internal ID

    • External ID

    Primary/Secondary Product ID

    • Internal ID

    • Internal Name

    • SKU

    • UPC

    Line Status

    • Accepted

    • Rejected

    When importing the Count ID, facility and Internal ID are mandatory fields, while individual columns can also be selected to be included in the export, but all fields are selected by default. The following columns are available to export:

    Order Status Discrepancy

    Question

    Why does the order status on the "Find Order" page show as "created" even though the order is already approved?

    Reason

    This discrepancy is likely due to an issue with Solr indexing, which can occur if the Solr instance was down when the order status was updated.

    Solution

    To resolve this issue, follow these steps:

    1. Reindex the order by going to the order detail page and clicking the reindex button just below the order ID.

    2. Verify that the order status has been correctly updated on the find order page in the OMS.

    Parameters

    The table below defines all the parameters used in the job configuration.

    S. No.
    Parameter
    Description
    Default Value
    Example

    Duplicate Orders

    Troubleshooting guide for duplicate orders

    Objective

    This document aims to provide a clear, concise, and solution-focused guide to diagnose and resolve issues related to order import duplications in HotWax Commerce. The desired outcome is to ensure the successful and error-free import of orders, avoiding duplicate jobs and ensuring smooth operations.

    Context

    Initial Load

    Schedule jobs responsible for importing all products and orders into the system for the initial deployment and instance configuration from the Initial Load category.

    Initial load page

    Displays the jobs for initial OMS setup to import all products and orders.​

    Characteristics

    One time ExecutionThese jobs are executed only once during the initial setup and rarely during instance redeployments.

    Product and Order Importation

    Facilitate the importation of all products and orders from the eCommerce platform for the initial instance setup.

    Order Attribute Missing

    Shopify retailers can capture additional crucial order details through metafields. When HotWax Commerce enters a retailer’s Shopify ecosystem, it becomes the source of truth for all order-related information.

    HotWax Commerce stores these metafields as order attributes enabling Shopify retailers to conveniently provide necessary order information to accounting systems for accurate financial reporting. For example, customer identification CustomerID and designated delivery location Municipio are crucial attributes for one of our clients.

    If orders do not have all valid order attributes, the orders remain in “created” status and these orders can not proceed with the fulfillment process. By using the , you can find out which orders have a missing order attribute.

    Bulk Scheduling

    Effortlessly schedule and manage bulk jobs with ease. Configure, select, and streamline workflows seamlessly.

    Bulk edit page

    Displays configurations to schedule jobs in bulk.

    Characteristics

    Store Permissions

    The Store Permissions tab allows you to configure specific settings that control how store associates interact with inventory data during counting. It includes two primary cards: Quantity on Hand and Force Scan.

    Quantity on Hand Card

    The Quantity on Hand card includes a toggle for Show Systemic Inventory:

    • When enabled, the system displays the current systemic inventory, showing the expected physical quantities at each location during inventory counting.

    • When disabled, the systemic inventory values are hidden from store associates, ensuring they only see their manually counted inventory quantities.

    Force Scan Card

    The Force Scan card includes a toggle for Required Barcode Scanning:

    • When enabled, store associates are required to scan inventory barcodes in order to count inventory. Manual entry of inventory quantities is restricted to prevent errors.

    Additionally, the Barcode Identifier dropdown allows the selection of the identifier used for barcode scanning:

    • If the selected identifier is unavailable, the system will default to using the Internal Name for scanning, ensuring the process remains smooth.

    Name or ID of the facility where the count was performed.

    Primary Product ID

    Unique identifier for the primary product being counted.

    Line Status

    Current status of the line item (e.g., Accepted, Rejected).

    Expected Quantity

    The expected quantity of the product in the inventory.

    Counted Quantity

    The actual counted quantity of the product.

    Variance

    The difference between the expected and counted quantities.

    Field

    Description

    Count ID

    Unique identifier for the cycle count.

    Count Name

    Descriptive name of the cycle count.

    Accepted by User

    Name or ID of the user who accepted the count.

    Created Date

    Date when the cycle count was created.

    Last Submitted Date

    Date when the count was last submitted.

    Closed Date

    Date when the count was closed.

    View Closed Counts

    Facility

    Sync SO Date changes
    Remove Allocations
    Review Allocations
    Allocate Sales Orders

    Specifies the SFTP location and path for importing the file from.

    -

    -

    3

    remoteFilename

    A specific file name is passed to process it.

    -

    xyz.csv

    4

    groupBy

    Parameter to specify which field of the CSV file to use as a grouping parameter for multi-threading.

    None

    orderId

    5

    additionalParameters

    Additional parameters for job customization.

    -

    -

    6

    fileNameRegex

    Specifies a regular expression for filtering filenames.

    -

    .

    7

    scheduleNow

    true - Imports data into the MDM and processes immediately false - Imports data into the MDM for the ‘Process Bulk Import Files Job’ to process

    -

    true

    8

    frequency

    The interval in minutes used to calculate the last sync time by subtracting it from the current time when no previous sync exists.

    -

    2 min

    9

    limit

    Records fetched from an API query can be paginated. The limit parameter specifies the maximum records fetched in a page.

    -

    50

    10

    orderId

    HotWax OrderId for the order that needs to be processed by the job

    All eligible orders

    HC29435

    11

    cancelledDate

    The date for which canceled orders are to be uploaded by the service.

    null

    12/12/2024

    12

    createdByJobId

    ID of the job that initiated this job.

    -

    1005759

    13

    bufferTime

    Specifies the (in minutes) for scheduling the job.

    -

    5 min

    14

    thruDateBuffer

    Specifies the time (in minutes) for scheduling jobs.

    -

    5 min

    15

    financialStatus

    Parameter to filter records using a specific financial status

    all

    settled

    16

    filterQuery

    Specifies a filter query for more targeted metafield downloads.

    -

    -

    17

    intervalDays

    Specifies the number of days between each notification sent to customers.

    -

    10

    18

    maxOccurrences

    Specifies the maximum number of times a notification can be sent to customers

    0

    3

    19

    emailType

    Specific type of email template to use for a notification

    -

    DM_ERROR_FILE

    20

    facilityid

    Parameter to filter the records by the passed HotWax facility IDs.

    None

    [‘132’, ‘27’]

    21

    productId

    Parameter to filter the records by the passed HotWax product IDs.

    all

    93853

    22

    idType

    Specifies type of ID being passed in the idValue parameter.

    SKU

    UPCA

    23

    iDValue

    Specifies the value of the idType passed in the idValue Parameters

    -

    654253097

    24

    startDateTime

    This parameter is used to define the starting point in time from which records should be processed.

    -

    12-12-2025 10:10:23

    25

    returnId

    HotWax return id for the return that needs to be processed by the job

    -

    10941

    26

    fileProcessingDelay

    Specifies the interval for processing a file.

    -

    5 min

    27

    Since Id

    Processes records created after the record with the specified ID.

    Since beginning

    2024-12-16 13:24:03

    28

    configId

    The configuration ID of the MDM where the job uploads the file it imports.

    -

    CARRIER_CODE

    29

    topicEnumID

    This parameter is passed in a service to trigger a webhook associated with that specific topic.

    -

    WEBHOOK_SHIP_SHIPPED

    30

    propertyResource

    Specifies the property resource for configuration.

    -

    FTP_CONFIG

    31

    nameSpace

    Specifies the namespace category in Shopify. Note: In Shopify metafields, the namespace is a way to categorize or group related metafields together to avoid naming conflicts and organize data.

    -

    HotwaxOrderDetails

    32

    Shipment ID

    The ID associated with the shipment.

    -

    12602

    1

    includeAll

    ‘true’ - To process all records ‘false’ - To process only records after the last run time

    true

    true

    2

    importpath

    HotWax Commerce can face order import duplication issues, particularly when the system goes down during scheduled import jobs. If the system is down for a period during which multiple import jobs are scheduled, all pending jobs might run simultaneously upon the system's recovery, leading to duplicate order imports. This document outlines the scenarios where this issue might occur and provides step-by-step processes to diagnose and resolve these issues.

    Scenarios

    1. System Downtime with Scheduled Order Import Jobs

      • The system goes down during scheduled order import jobs.

      • Upon recovery, all pending jobs run simultaneously.

      • Result: Duplicate orders are created.

    Preventive Measure

    Set the Schedule Now Parameter to False

    To prevent simultaneous execution and duplicate orders, ensure the Schedule Now parameter is set to False when scheduling order import jobs. This setting ensures jobs run sequentially.

    Diagnostic and Resolution Steps

    Scenario 1: System Downtime with Scheduled Order Import Jobs

    Initial Checks

    1. Verify if the Issue Exists

      • Check the system logs to identify any periods of downtime.

      • Verify if multiple import jobs were scheduled during the downtime.

      • Identify if duplicate orders have been created by checking order statuses and attributes.

    Example

    • If the job runs every 5 minutes and the system is down for 10 minutes, verify that all pending jobs did not run at the same time upon recovery.

    Diagnostic Steps

    1. Identify and Remove Duplicate Orders

      • Verify Duplicate Orders

        • If the system was down for a significant duration and meanwhile multiple jobs may run, retailers must manually identify duplicate orders by checking for identical Shopify IDs.

        • Identify orders stuck in the "Created" state, as only one order will have order attributes saved for approval.

      Example

    2. Move Duplicate Orders to General Ops Parking

    • Open the relevant duplicate orders

    • Navigate to the Items section and click on the Move items to parking text.

    • Select general ops parking and click on save to move the item to general ops parking.

    1. Cancel Orders

    • Navigate to the Sales Orders page

    • Filter by Facility: General Ops Parking.

    • Identify the duplicate orders and click to open the order details page

    • Click on the Cancel button on the top to cancel the orders

    Ensure orders are not manually approved by the CSR and fulfillment is not started. If fulfillment of the order is started, manually reject the order before cancellation. { % endhint %}

    Scheduling Functionality

    Empower users to schedule the import process, enabling them to select the desired execution time.


    How to schedule jobs for initial load

    Things to remember:

    1. Products should be imported before any order is imported into the system.

    2. By default only open and unshipped orders will be imported.

    3. The Last Shopify Order ID serves as a reference point for HotWax Commerce to determine the starting point for order downloads.

    1. Go to the Initial Load category.

    2. Initiate the Import Products in Bulk job.

    3. Choose the desired runtime from the dropdown menu.

    4. Confirm the selected runtime.

    5. Go to Miscellaneous Jobs page.

    6. Initiate the Process bulk imported files job.

    7. Once product importation is complete, proceed to the Import Orders in Bulk job.

    8. Select the preferred runtime from the dropdown menu.

    9. Verify the order and fulfillment status.

    10. Input the Last Shopify ID from which order numbers should be imported into HotWax Commerce OMS.

    11. Execute the import process.

    12. Go to Miscellaneous Jobs page.

    13. Initiate the Process bulk imported files job.

    Scenario 1: Order Missing Metafields in OMS

    To ensure consistency between HotWax Commerce and Shopify, verify if an order has the Order Metafields in Shopify. Typically, the attributes will sync automatically later.

    If an order in Shopify has meta fields that are missing in OMS, it could be due to one of the following:

    Import Order Metafield Job Not Running: The job responsible for importing metafields might not be running. Ensure that this job is scheduled and operating correctly in HotWax Commerce

    Check Job Scheduling in NiFi: Verify that the job responsible for importing metafields and placing them on SFTP is scheduled and functioning as expected in NiFi.

    Verify SFTP Import in OMS: Ensure OMS is properly configured to import metafields from SFTP.

    Manual addition of meta fields in OMS should be considered only if the above checks are confirmed and the issue persists.

    Note: If manual addition is necessary, ensure correct spelling and format when adding tags in OMS.

    Scenario 2: Order Missing Metafields in both OMS and Shopify

    If an order metafield is missing from Shopify and the OMS, it's crucial to investigate the root cause. This may involve identifying issues such as the metafield not being available due to order-related problems.

    For example, if the Riskified or Signified approved tag is missing in Shopify, the order contains high or medium fraud risk. There is a high chance that you will receive a chargeback on this order.

    In such cases, CSRs have to manually verify the orders and add the attribute in the Order Attribute section on the Order View page.

    missing order attribute report
    Manage Jobs

    Easily search and select the jobs you want to execute or configure. You can also schedule jobs and set their run times.

    Schedule Jobs

    Conveniently configure and schedule all selected jobs simultaneously to streamline your workflow.

    Configurations

    Product store

    If your OMS is connected to multiple eCommerce stores selling different collections of products, you may have multiple Product Stores set up in HotWax Commerce.

    eCom stores (Shopify Configs)

    If your OMS is connected to multiple eCommerce stores selling the same catalog operating as one Company, you may have multiple Shop Configs for the selected Product Store.

    Select jobs

    Search Jobs and use the Add function to select jobs to be scheduled.

    Scheduler

    Configure and schedule all selected jobs simultaneously.

    Scheduled run time and frequency, set on bulk scheduler, will be applied to all the selected jobs.


    How to schedule jobs in Bulk

    1. Choose the Product store.

    2. Select the relevant Shopify configurations.

    3. Click Select Jobs function to proceed to locate and add the jobs you wish to schedule.

    4. Adjust the scheduled run time and frequency according to your requirements.


    Auto-Cancellation

    Auto-Cancellation

    Managing inventory and order fulfillment is a critical aspect of retail operations. However, sometimes items may be unavailable across all facilities. In such cases, retailers can use the Auto-Cancel Date Management feature, which provides them with the ability to automate the cancellation of orders that cannot be fulfilled due to inventory shortages within the desired frame. This feature helps retailers avoid operational delays and improve customer satisfaction by ensuring orders do not remain in limbo indefinitely. When an item is marked unfillable after a failed brokering attempt, users can set or modify an auto-cancel date, streamlining the process of handling these unfillable orders. For example, an e-commerce order can have a 5-day auto-cancel period, while SendSale orders may not have any auto-cancellations, allowing flexibility based on business rules.

    Step-by-Step Usage Instructions

    1. Access the Order Routing App

    • Navigate to: Launchpad > App. This is where you configure brokering runs and set up auto-cancellation rules for unfillable orders. Inventory managers or fulfillment team members typically use this to manage order fulfillment and brokering logic.

    2. Select the Brokering Run

    • Choose the brokering run for which you want to set an auto-cancellation date. Different brokering runs may handle various fulfillment strategies for example unfillable order brokering runs may be different from regular runs, so selecting the right run ensures the proper application of auto-cancellation rules.

    3. Select the Order Batch

    • Within the selected brokering run, choose the relevant order batch. Retailers may want to set different auto-cancellation rules for standard orders versus expedited orders. This step allows for customizing rules based on order priorities and fulfillment types.

    4. Navigate to the Last Inventory Rule

    • Inside the chosen order batch, scroll down and select the last inventory rule. This rule is designed to handle scenarios where the item is unavailable across all facilities, triggering the need for auto-cancellation or alternative handling options.

    5. Set the Auto-Cancel Date

    • Go to the "Unavailable Item" card and add the desired auto-cancel date in the Auto-Cancel Date chip. This defines the time frame (e.g., 5 days) for holding the unfillable item before it is automatically canceled.

    • You can move the item to unfillable parking for the item with unavailable inventory so that it can be easily differentiated with the regular orders.

    Removing Auto-Cancellations

    • If the inventory for an unfillable item is expected to arrive soon or if the order needs to be held longer, you can remove the auto-cancel date.

      1. Navigate to the "Unavailable Item" Card in the relevant inventory rule within the Order Batch

      2. Clear the Auto-Cancel Date: Use the Clear Auto-Cancel Date toggle to remove the previously set date. This prevents the item from being automatically canceled.

    Using these options, you can control when and how unfillable orders are managed, ensuring better coordination and reduced chances of unnecessary order cancellations.

    <<<<<<< HEAD

    6c1155ebf7fb916b6b59081a0872361151feee8e

    Monitoring Unfillable Orders

    • Regularly monitor the Unfillable Report, which highlights orders in unfillable parking with an auto-cancel date. This report helps ensure that unfillable items are correctly scheduled for cancellation and allows you to adjust or clear the auto-cancel date if needed.

    Auto-Cancellation Job

    • When the auto-cancel date is reached, the system automatically runs the autocancelorderitems job at midnight. This job cancels any unfillable items and logs the cancellation reason as "auto-cancellation," ensuring timely order resolution and preventing delays in the process.

    Error Due to Incorrect JSON

    Objective

    This document provides a comprehensive guide to diagnose and resolve synchronization issues related to order import errors caused by special characters in notes and incorrectly formatted email fields.

    Common Scenarios

    1. Order import fails in HotWax Commerce OMS due to special characters in the "Note" field. Such as 🌟 👍 😊 or miscellaneous characters.

    2. Order import fails in HotWax Commerce OMS due to incorrectly formatted email addresses. Such as name#example.com or name@#example.com, etc.

    Common Error Messages:

    • "Rollback called in Entity Engine SQLProcessor java.lang.Exception"

    • "E-mail address not formatted correctly, must be like: name@domain"

    Step-by-Step Troubleshooting Process

    Verify If Issue Exists

    1. Access OMS:

      • Navigate to HotWax Commerce OMS and log in with your user credentials.

      • Go to the MDM page from the hamburger menu and click on EXIM > MDM > Shopify order mdm.

    Diagnose the Issue

    1. Identify Failed Order:

      • Find the order that failed to import by looking at the error messages in OMS.

    2. Download JSON File:

      • Append /json

    Resolve the Issue

    1. Remove Special Characters and Correct Email Format:

      • Edit the JSON file to remove any special characters from the note field.

      • Correct the email address to adhere to the standard format.

    2. Save Edited JSON:

    By following these detailed steps, you can effectively troubleshoot and resolve synchronization issues between HotWax Commerce and Shopify, ensuring a smooth and error-free order import process.

    This issue is handled in [Release 5.9.0](https://docs.hotwax.co/integrate-with-hotwax/oms-release-versions/oms-release-versions)

    Order Indexing Discrepancy

    This troubleshooting guide aims to address issues where orders remain stuck in the fulfillment app even after completion or incorrectly appear as created on the find sales orders page when they are completed or approved.

    Issue Scenario

    HotWax Commerce utilizes Solr, an open-source enterprise-search platform, to index product orders and other data within its system. The order details page retrieves data directly from the database, while the find order detail page relies on Solr for rapid data retrieval. Solr inconsistencies can lead to discrepancies in displayed information across these pages and apps.

    Troubleshooting Steps

    1. Resolving Order Status Discrepancies

    • If an order remains in the created or approved status on the find sales orders page, while it's marked as completed in the OMS:

      • Navigate to the order details page and click on the reindex button located near the top of the page, next to the refresh button. This action will index the order correctly.

      • If the issue persists, follow these steps:

    For more details, kindly refer to this .

    2. Correctly Indexing Orders on the "Find Order Details" Page

    • Navigate to the Find Order Details page where you can manage order indexing.

    • Click the Create Order Index button to initiate the indexing process.

    • A modal window will appear. Enter the order ID associated with the order you want to index.

    3. Addressing Fulfillment Issues

    • Click the Create OISGIR Index button if an order is encountering fulfillment difficulties.

    • In the modal window that appears, enter the order ID associated with the order facing fulfillment issues.

    • Once the order ID is entered, click the Create OISGIR Index button. Providing only the order ID is sufficient to generate its index; filling out all fields is not necessary.

    Soft Allocation

    Discover the Soft Allocation Workflow for seamless order handling between Shopify and HotWax Commerce.

    The Soft Allocation Workflow establishes a seamless integration between Shopify and HotWax Commerce, facilitating the efficient handling of orders with soft-allocated items. By configuring a customized Shopify Flow, triggered upon order creation, and tagged with specific criteria, this workflow ensures that orders are appropriately marked with the necessary identifiers before being imported into HotWax. This tag, denoted as HC_PRE_SELECTED_FAC, serves as a key element in the subsequent fulfillment process. The OMS is configured to recognize this tag and automatically allocate the associated items to the pre-selected facility, streamlining the fulfillment of orders with soft-allocated items. Additionally, the workflow incorporates essential product store settings in both Shopify and the OMS to further enhance accuracy and ensure a smooth, automated fulfillment process.

    Soft Allocation Workflow Configuration

    Shopify Configuration

    To implement a Shopify Flow tailored to the specific requirement of tagging orders with soft-allocated items, follow this comprehensive guide:

    1. Create a New Shopify Workflow:

    • Navigate to Settings > Apps and sales channels in your Shopify admin.

    • Select the .

    • Click "Open app."

    • Create a new workflow by clicking "Create workflow."

    2. Set Trigger to Order Created:

    • Choose the trigger "Order Created" to initiate the workflow when an order is created in Shopify.

    Note: Shopify Flows may not run instantly after order creation. To ensure that orders are imported only after tags have been applied to a soft-allocated order, use the buffer parameter in the import order job.

    3. Add Tag on Orders with Soft Allocated Items:

    • Select Condition to establish criteria that must be met before any actions can proceed.

    • Set the condition to:

      1. Select orders > line items > Custom Attributes > Key.

      2. Input hcShippingFacility

    By following these steps, you'll create a specialized workflow that seamlessly tags orders with soft-allocated items, ensuring a smooth integration with HotWax.

    OMS Configuration

    1. Set Product Store Settings:

    • Go to the Hamburger Menu in OMS.

    • Navigate to Settings > Store to open the Product Store page for your dedicated store > Store Settings section.

    • Click "Add" and select the setting from the dropdown: Preselected facility for same day shipping. Input the value with the same tag added in Shopify HC_PRE_SELECTED_FAC. This setting ensures that orders imported with this tag have their line items checked for pre-selected facilities to fulfill them.

    By following these steps in both Shopify and OMS, you establish a seamless Soft Allocation flow, ensuring accurate fulfillment based on specified criteria.

    Order Cancellations

    Order cancellations are a common occurrence in online retail. If a merchant is using both Shopify and HotWax Commerce, cancellations can happen in two ways:

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

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

    HotWax Commerce recommends 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.

    Order Cancellation on Shopify

    HotWax Commerce can import cancellation updates in two cases:

    Full Order Cancellations

    When customers request order cancellations from Shopify or CSR teams cancel orders due to suspected fraudulent orders, they can cancel the entire order through the following steps:

    • Go to the order page on Shopify.

    • Select the desired order.

    • Click on More Actions and choose Cancel Order.

    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 only sometimes be reliable. Therefore, it is recommended to schedule the Canceled Order Job. The canceled order job can be scheduled from the HotWax Commerce Job Manager App.

    1. Navigate to the Order section in the job manager app.

    2. Open the job card titled Canceled Order.

    3. Select the order run time and schedule.

    4. Save the Changes, this will schedule the job to import the canceled orders.

    Partial Order Cancellations

    When customers request to remove any item from the order or the CSR team cancels the ordered item due to inventory variance, they can partially cancel the order through the following steps:

    • Access the order page on Shopify.

    • Choose the Edit option.

    • Adjust the quantity or remove the specific item(s) to be canceled.

    For partial cancellations, the order status in Shopify does not change, only the last updated date for the order changes. HotWax Commerce partially cancels the order through the following steps:

    1. Navigate to the Order section in the job manager app.

    2. Open the job card titled Canceled Item.

    3. Select the order run time and schedule.

    4. Save the Changes, this will schedule the job to import the canceled items.

    For more details on how canceled orders are imported, refer to the Shopify-HotWax Commerce Integration document.

    Order Cancellation in HotWax Commerce

    Order Cancellation of Non-Brokered Items

    Cancellation of an order can have a different nature on OMS. If an order is not brokered, when it's still in the created or approved status but not brokered yet, the order will be marked as canceled on the sales order dashboard of HotWax Commerce. This ensures that the canceled order is properly measured and since the order is not allocated to any store, there would be no changes in the store ATP, only the brokering queue inventory is released.

    Order Cancellation of Brokered Items

    If an order is brokered for fulfillment to the facility and gets canceled on Shopify, the Fulfillment app will show the impact regardless of whether the job is Open, In Progress, or Completed status. The canceled orders will be automatically removed from the Fulfillment app so that store associates can identify that no further operation needs to be done to fulfill the orders. The ATP of the canceled orders items will increase both for the store and online ATP computation.

    If the order is packed, the CSR team should verify with the fulfillment team that the order needs to be unpacked and has been canceled. This ensures that the order is not shipped to the customer.

    Partial Cancellation in HotWax Commerce

    When Partial order cancellation happens in HotWax commerce, the order item is removed from the fulfillment app, and its inventory is corrected similarly to complete order cancellation. The order status will remain as per the other items, such as created, approved, or completed, only the order item status is changed to canceled which can be visible on the order details page against the line item which is canceled.

    Product Syns Issues

    Troubleshooting Use Case

    Issue 1: New or existing products do not appear as pre-orders or backorders

    Possible Causes:

    • Item does not exist in the system

    • PO status is canceled

    • Item has Inventory in the system

    Resolution Steps:

    1. Status of PO items must be created or approved, ensuring canceled PO items are not considered for Pre-Order.

    2. The promise date of a PO item must be in the future, guaranteeing that purchase order items will arrive in the future, not from an old PO.

    3. The current inventory of the item must be 0, indicating it's out of stock and qualified for Pre-Order or backorder.

    4. If the 'isNewProduct' field of a PO is marked as “yes”, it’s identified as a Pre-Order product; if marked “no”, it's categorized as a backorder product.

    Products from purchase orders that don't meet these criteria won't be listed in HotWax Commerce's pre-order catalog. It's important to ensure that purchase order items adhere to these criteria for accurate listing.


    Issue 2: Products are not removed from the pre-order or backorder category

    Resolution Steps:

    1. Ensure all future inventory of pre-orders is received.

    2. Ensure the Purchase Order status changes to “Canceled” or “Completed”.

    3. Ensure the Purchase Order arrival date (promised fulfillment date) has passed.

    4. There is no Return for any pre-order or backorder.

    Troubleshooting Use Case

    Issue 1: The product is not updated as a pre-order or a backorder at Shopify and PDP

    Possible Causes:

    1. PO status is canceled

    2. PO has a past expected delivery date.

    3. Items have available inventory in the system.

    4. The generated file is not processed by Shopify and is lying unread at the specified SFTP location

    Resolution Steps:

    1. Status of PO items must be created or approved, ensuring canceled PO items are not considered for Pre-Order.

    2. The promise date of a PO item must be in the future, guaranteeing that the purchase order item will arrive in the future, not from an old PO.

    3. The current inventory of the item must be 0, indicating it's out of stock and qualified for Pre-Order or backorder.

    4. If the 'isNewProduct' field of a PO is marked as “yes”, it’s identified as a Pre-Order product; if marked “no”, it's categorized as a backorder product.

    Troubleshooting Use Case

    Issue 1: The promise date of the Product is not updated on Shopify PDP

    Possible Causes:

    1. PO status is canceled

    2. Item does not exist anymore in the pre-order or backorder category.

    3. Item has Inventory in the system.

    4. The generated file is not processed by Shopify and is lying unread at specified SFTP location

    Resolution Steps:

    1. Status of PO items must be created or approved.

    2. The promise date of a PO item must be in the future.

    3. Ensure the current inventory of the item must be 0.

    4. Ensure that the file is processed by Shopify from the SFTP location

    Products from purchase orders that don't meet these criteria won't be listed in Shopify’s pre-order catalog. Contact the Shopify team if your product is still not listed on Shopify.

    Shopify Order Import Failures

    This document provides steps to diagnose and resolve issues when orders fail to transfer from Shopify to HotWax Commerce (OMS).

    When an order fails to import from Shopify to HotWax, it typically does not appear in the OMS, and an error is logged in the EXIM Import record for Shopify orders in HotWax Commerce. Several factors can contribute to these errors, such as incompatibility of exported data, API endpoint issues, or the absence of required meta fields during order processing. A report titled The Shopify Order Import Error Report details these failures, outlining specific errors generated by the system. These errors can usually be resolved by the following steps:

    Scenarios and Steps to Resolve

    Verification: Check if the order is available in HotWax Commerce

    • Navigate to OMS: Log in to OMS.

    • Check Order: Search the order on the OMS find order page to verify if the order is already available in OMS.

    Scenario 1: Order Not Available in OMS

    Step 1: Re-import the Order by ID in OMS

    1. Log in to OMS: Use your username and password to log in to Hotwax Commerce OMS.

    2. Navigate to the Import Section:

      • Go to MDM > EXIM in from the hamburger menu.

    Scenario 2: Order Fails to Import After Re-import Attempt

    1. If the order still fails to import, troubleshoot the import failure by checking the error logs in the EXIM Import record for detailed errors. Some possible failure reasons are:

      • Connection timeout.

      • Transaction is empty.

    Scheduling Errors

    Learn how to resolve brokering issues related to incorrect scheduling

    Scenario: The Brokering Engine Won't Run Due to Incorrect Scheduling

    The brokering engine relies on correctly scheduled runs to process and route orders. If the scheduling is incorrect, the engine won't execute, leading to unprocessed orders and potential delays in order fulfillment.

    Resolution Steps

    1. Verify Brokering Schedule

      1. Navigate to the Order Routing App.

      2. Click on the Brokering Run card you would like to run for routing.

      3. Verify the run time and the frequency to ensure they are set correctly.

    Read our user manual to learn more

    Example

    Incorrect Scheduling: If the brokering run is set to execute at 3:00 PM daily but needs to run every hour, adjust the frequency to "Hourly" in the Brokering Run settings.

    Job Scheduling Errors

    Objective

    If you observe that a process is not functioning correctly in Hotwax Commerce, for example, if orders are not being synchronized, this issue often stems from either the job not being scheduled at all or being incorrectly scheduled. Ensuring proper job scheduling is crucial to maintaining the smooth operation of processes like order synchronization within Hotwax Commerce. This document aims to provide a structured approach for identifying and resolving synchronization issues between HotWax Commerce and external systems due to job scheduling errors.

    Duplicate Jobs

    Objective

    This document provides a detailed guide to diagnose and resolve the exceptions caused by duplicated jobs in HotWax Commerce, which can lead to data duplication, data redundancy, and system performance issues. The goal is to ensure smooth job execution and accurate data management.

    Common Scenarios

    Hard Counts

    Hard counts are used for large-scale inventory checks, such as year-end stock takes. Unlike regular cycle counts, hard counts require stores to count every item in stock, with no exclusions. The goal is to gain an accurate and comprehensive understanding of a store's inventory across the entire company.

    Initiating the Hard Count

    1. Click the plus button located at the bottom right of the page. This will open a list for creating different types of counts.

    Inventory Management

    HotWax Commerce provides a unified view of inventory by seamlessly connecting 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 synchronized to support various business scenarios. HotWax Commerce determines the "Available to Promise (ATP)" or the amount of inventory that can be sold and then sends it to e-commerce channels. This makes HotWax Commerce the ultimate authority on inventory availability. Users can see both consolidated ATP and facility-wise ATP by clicking on the total ATP count.

    Cycle Count Legacy

    Managing cycle counts requires a lot of manual communication, especially for merchants with a large inventory network. Operations managers and admins often aren’t in a position to directly communicate cycle count requests to ground teams, instead rely on static forms of communication like email. If merchants need inventory reconciliation for multiple items, inconsistency in the information flow can lead to inaccurate inventory.

    The directed Cycle Count App is designed to adapt to the user who is operating it. When an admin team member logs in, they are provided with admin screens that are dedicated to the holistic operations of cycle count management. Within the admin view, users can create draft cycle counts, assign them to stores for counting, and then review and either accept or reject them for recounts. After counts are completed, the admin views also show analytics of their counts for better overall visibility into inventory accuracy. For store side of the Cycle Count App, you can refer to our team.

    Available to Promise Management

    This page explains how HotWax Commerce calculates Available-to-Promise (ATP) by syncing inventory across channels and factoring in safety stock, thresholds, and facility exclusions.

    HotWax Commerce integrates with ERP, POS, and WMS systems to provide a unified inventory view, ensuring stock levels are synchronized with platforms like Shopify. When calculating Online Available to Promise (ATP) for Shopify, HotWax Commerce considers more than just the quantity on hand (QOH). It also factors in safety stock, thresholds, reserved quantities, brokering queue orders, and excluded facilities` to avoid overselling scenarios.

    For example, the product "blue shirt" from the brand NotNaked has a current quantity on hand (QOH) of 100 units. There are 10 orders placed for this product, with inventory allocated to 5 of those sales orders. Additionally, the product has 5 units set aside as safety stock and 5 units as a threshold. One facility, which is unavailable for fulfillment, has 5 units of Available-to-Promise (ATP) inventory. The ATP for this product can be calculated using the following formula:

    Online ATP = QOH - (Reserved quantities + Safety stock + Threshold + Orders in brokering queue + Excluded facilities’ ATP)

    Here is the given information:

    Given:

    Transfers App

    Monitor and manage transfer orders across facilities.

    Use the Transfers App to create, track, and manage Transfer Orders (TOs) between facilities.

    What you can do

    • Search and filter transfer orders by status, facility, carrier, method, or product store.

    Incorrect Facility Configurations

    Discover your guide to troubleshooting brokering issues due to incorrect Facility Associations

    For orders to be routed correctly, the facilities need to be associated with the appropriate facility group. If the facilities are not correctly configured in the facility groups, orders might be routed to the wrong locations, causing delays and inefficiencies.

    Scenario: Facility not associated with Facility Group

    Check the Import Results in the Shopify order mdm page for any failed records.

  • Check Shopify Logs:

    • Review Shopify Plus logs or feeds for specific error messages related to the failed import.

  • to the order URL in Shopify to download the JSON file of the failed order.
  • Inspect "Note" and "Email" Fields:

    • Open the JSON file and locate the note key. Check for any special characters, emojis, or miscellaneous symbols.

    • Locate the email key and verify that the email address follows the standard format (e.g., name@domain).

  • Save the changes made to the JSON file.

  • Re-import Order:

    • If an error is resolved within the job execution time (generally 15 minutes), the import order job should automatically import the order.

    • Otherwise, manually import the order by navigating to MDM / EXIM > MDM > Shopify orders mdm, select Shopify Config, upload your JSON or CSV file using the Upload File field, and run the job.

  • Verify Successful Import:

    • Ensure the order is successfully imported without errors.

  • Item is associated with the pre-order or backorder category.

  • Ensure the file is read and processed from the SFTP location.

  • Select the Shield option to begin the hard count. This will open the Hard Count page.


    Selecting Facilities to Count

    • During the setup, there is no need to select specific products. The focus is on choosing the facilities to which the hard count will be assigned.

    • Facilities can be selected individually or by group.

    Selecting Facilities Individually

    1. Click on the Individual tab.

    2. Select the desired facilities.

    Selecting Facilities by Group

    1. Click on the Group tab. All facility groups will be listed.

    2. Select a facility group to automatically include all facilities within that group for the count.


    Auto Assigning Hard Counts

    1. After creating the hard count, toggle the Auto assign to store setting located in the top right of the page to automatically assign the hard count to stores. If this setting is turned off, the hard count will be created in the Draft status.

    2. Click on the Checkmark done icon at the bottom right of the page to finalize.

    Create new transfer orders to move inventory between facilities.
  • Open order details to review assignments, shipping plans, and item-level progress.

  • Jump to fulfillment and receiving workflows once orders are approved.

  • See also:

    • Find Transfer Orders

    • Transfer Order Creation

    • Transfer Order Details

    • Transfer Order Fulfillment

    Navigate to Shopify Jobs and select Import Shopify Order under the Order Management tab.

  • Re-import the Order:

    • Select the Shopify config and enter the Shopify Order ID.

    • Run the job by clicking the Run button.

  • Verify Successful Import:

    • To verify the order's successful import, go to MDM > EXIM.

    • Navigate to Shopify Jobs and click on Shopify Order MDM under the MDM tab.

  • Valid fields are missing in order JSON.

  • Identify the issue's source, determining if it originates from Shopify, the integration process, or HotWax Commerce.

  • If the cause remains unclear, reach out to HotWax Commerce support, providing them with the error logs for efficient troubleshooting.

  • Special character errors
    buffer time
    thruDateBuffer
    user manual for store operations

    Go to the settings section, scroll down in the hamburger menu, and select the search admin page.

  • Locate the index operations section at the bottom of the page, which includes the following four boxes:

    • Create order indexes

    • Create product indexes

    • Create user login indexes

    • Create OISGIR indexes

  • After entering the order ID, click the Create Order Index button within the modal window to accurately index the order.
  • If no values are entered in the field, all available data will still be indexed automatically.

  • documentation

    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,

    HotWax Commerce will push 75 units as the sellable Online ATP to Shopify, ensuring accurate inventory representation for online sales. However, retailers managing large product assortments and multiple facilities may face challenges in handling individual product settings at scale. Each product can have different configurations for safety stock, thresholds, store pickup, and shipping rules. Modifying product categories or introducing new ones requires uploading large CSV files, which takes time and limits flexibility in adjusting fulfillment rules.

    The ATP app simplifies this by allowing retailers to configure multiple rules to manage safety stock, threshold, store pickup, and shipping for bulk products with ease. The ATP app allows retailers to apply rules based on product tags and facility types or groups, reducing manual work. It supports real-time available to promise computation based on all these rules and automates inventory synchronization across multiple channels.

    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
    Cancel Purchase Order Item
    Edit Arrival Date
    Cancel Purchase Order
    Edit Purchase Order Item Quantity
    Search Products
    Missing Facilities
    Reset Changes
    Missing products
    Date time Parse errors
    Map Purchase Orders
    Review Purchase Order
    Bulk Adjustments
    Video: Upload Purchase Order CSV

    Move the Order to Unfillable Hold Queue: Instead of canceling, you can send the order to the unfillable hold queue if you anticipate the inventory arriving soon. This step ensures that the order is retained in the system until the item is back in stock, improving order fulfillment efficiency.

    Order Routing
    auto-cancellation
    clear auto cancellation
    clear auto cancellation
    as the key.
  • Click Then to specify the action to be taken if the condition is met.

  • Choose Actions and select an action based on the condition's results.

    • Set the action to:

      1. Choose 'Add Order Tags'.

      2. Input HC_PRE_SELECTED_FAC as the tag name.

  • Add one more setting named: Preselected facility tag and add value hcShippingFacility. This line item property on the item that needs to be read to determine the facility of the order.

    Shopify Flow app

    Check Inventory Rules

    1. If the brokering run schedule is correct, proceed to check the inventory rules by clicking on the order batch you would like to run.

    2. Verify if the order batches are correctly sorted. The sorting should align with the expected order processing sequence.

  • Verify Inventory Rule Configuration

    1. Check the inventory rules by clicking on the inventory rule associated with the order batch.

    2. Verify if the order brokering facilities are correctly configured. Ensure the facilities to which the orders should be routed are specified accurately.

    3. Verify if the inventory sorting criteria are correctly set to prioritize the orders as needed.

  • Confirm Status

    1. Finally, verify the status of the inventory rule, order batch, and brokering run. Ensure that each status is set to "Active" and not in "Draft."

  • order routing
    Common Scenarios
    1. A job is not scheduled or is disabled, preventing expected data synchronization. For example, the operation team often forgets to schedule the Process Bulk Imported Files and expects the Import Orders Job will fetch all the orders from Shopify and start showing them in HotWax Commerce.

    2. A job is not scheduled correctly, causing delays or affecting synchronization. For example, If you schedule a job with a frequency to run with a run-time value(date) of two days later when the job was supposed to run 15 minutes from now, then the job won’t start running in every 15 minutes until 2 days.

    Step-by-Step Troubleshooting Process

    Verify If Issue Exists

    1. Identify the Exception:

      • Check if a process is not working as expected by looking at the results. If you don't get your desired result within a specified time frame, it indicates an exception.

    2. Backtrack the Exception:

      • Look into the results in HotWax Commerce OMS to identify the step or task that is not performed.

    3. Access Job Manager:

      • Open Job Manager using your user credentials.

      • Navigate to the job causing the issue. For example, if the issue is related to order import(as we see in the above example), go to Job Manager > Miscellaneous > Process bulk import files.

    4. Analyze the Job:

      • Check if the job is scheduled correctly.

      • Identify if the job is disabled or configured incorrectly.

    Read here to learn more about jobs in HotWax Commerce that can be scheduled as per the retailer’s preference.

    Resolve the Issue

    1. Schedule or Configure the Job:

      • If the job is Disabled, schedule it by adding the runtime value and the frequency in which the job should run

      • If the job is configured incorrectly, update it as per your preference. Read here to learn more about how to schedule a job in HotWax Commerce.

    2. Save the Changes:

      • Make the necessary changes to the job.

      • Click on the Save Changes button to ensure they take effect.

    Additional Steps for Ensuring Proper Job Execution

    1. Verify Job Schedule:

      • Check the job schedule on the pipeline page to ensure the job is scheduled and running at the desired frequency and time.

    2. Monitor Job Execution:

      • After scheduling or reconfiguring the job, monitor its execution to ensure it runs as expected.

    By following these detailed steps, you can effectively troubleshoot and resolve synchronization issues between HotWax Commerce and Shopify caused by jobs not being scheduled or incorrectly scheduled. This ensures smooth job execution, minimizes system performance issues, and maintains accurate data management.

  • Overlapping jobs causing system performance issues.

  • Data duplication or redundancy due to duplicated jobs.

  • Interrupted job flow affecting the order life cycle.

  • Scenario: Overlapping Jobs Causing System Performance Issues

    For example, In the Job Manager app, we have two jobs: Approve Order, which means, approves the orders that are in in created status after checking the requisite criteria, and Approve Sales Order, which acts as the same as Approve Order but has a different attribute (field) values. Let’s suppose we have scheduled the approve orders job every 5 minutes and approve sales orders every 15 minutes This collectively means we have two jobs: one is ready to run 5 minutes after the previous run, whereas the other is ready to run from now every 15 minutes. These two jobs will overlap every 15 minutes and may result in system performance issues. Additionally, the collision of these jobs may interrupt the job flow.

    Step-by-Step Troubleshooting Process

    Verify If Issue Exists

    1. Track the Exception:

      • Identify where the exception occurs or which step of the order life cycle is affected.

    2. Analyze Job Pattern:

      • Determine if a process is running more than once within its scheduled frequency, indicating a duplicated job.

    Diagnose the Issue

    1. Access Job Manager:

      • Open the Job Manager app in HotWax Commerce.

      • Navigate to the Job Manager > Order page (for the example provided). For example, If the duplicacy arises in another area like Brokering, navigate to the corresponding section, such as Job Manager > Brokering.

    2. Identify Duplicated Jobs:

      • Traverse all jobs and identify those with overlapping schedules. For example, Approve Order is scheduled every 5 minutes, and Approve Sales Order is scheduled every 15 minutes.

      • Duplicated jobs can also be identified by disabling the job with the exception. If the job is disabled once and it is still visible as scheduled after refreshing the page, then the job was duplicated.

    Resolve the Issue

    1. Compare Jobs:

      • Compare both jobs to understand their functionality and attributes.

    2. Disable Duplicated Job:

      • Terminate or remove the duplicated job causing the exception and the one that is outdated.

      • Click on the job to open its details.

      • Click the Disable button to deactivate the job.

    3. Verify Job Termination:

      • Navigate to the pipeline page and search for the disabled job to ensure the problematic job is successfully disabled.

    By following these detailed steps, you can effectively troubleshoot and ensure a smooth job execution process, minimize system performance issues, and maintain accurate data management.

    Resolution Steps
    1. Navigate to the Facilities App.

    2. Navigate to the Facility Groups page.

    3. Identify the facility group with the "Brokering_Group" subtype.

    4. Click on the chip available against the facilities.

    5. From the submenu, click on "View Facilities" to verify the facilities or "Quick Edit" to add or remove any facility from the group.

    Resolution Steps

    1. Navigate to the Order Routing App.

    2. Navigate to inventory rules by clicking on the brokering run and order batch for the orders you would like to broker.

    3. Click on the inventory rule you would like to configure.

    4. Click on "Filter", select "Facilities," and choose the correct facility group to which you would like to broker the order.

    For more details on Order Routing, refer to our user manual.

    Find Product Inventory

    Retailers need real-time insights into their product inventory, to ensure informed decision-making and efficient inventory management. The Find Product Inventory page within HotWax Commerce serves as a centralized hub for managing specific inventory details of products. It offers a comprehensive view of various reservations and availability statuses, including reserved, committed, and available ATP (Available to Promise). Retailers can get visibility into reservations, queues, and excluded facilities, and the Find Product Inventory page empowers users to optimize their inventory allocation and fulfillment processes. Users can see all the columns in which inventory is reserved and the available-to-promise at the end. The following details are available for the inventory on the page:

    Queue Type
    Description

    Brokering queue

    Queue that holds orders awaiting brokering.

    Unfillable hold queue

    Step-by-Step Usage Instructions

    1. Log in to HotWax Commerce by entering your credentials on the login page.

    2. Within the hamburger menu, find and select the Warehouse option. This will open a submenu with various warehouse-related functionalities.

    3. From the Warehouse submenu, choose the Inventory option. This action will direct you to the Find product Inventory page

    Search Products

    Users can search for products based on various identifiers such as Product ID, Product name, SKU, Parent Product, or Keyword to get an instant overview of the inventory status of the searched product, facilitating informed decision-making and resource allocation for the retailers. The Search Products feature on the Find Product Inventory page provides users with quick access to information regarding a specific product inventory. It streamlines the process of checking ATP (Available-to-Promise) computation for specific products.

    Search Products by Facility

    Retailers operating multiple warehouses or stores need facility-specific inventory visibility to efficiently manage and monitor product availability at each fulfillment location. The Facility filter provides users with visibility of products available at a particular facility, enabling users to make decisions regarding restocking, fulfillment, and redistribution. The Facility filter enhances workflow by enabling users to swiftly identify stock levels, assess inventory distribution, and optimize their supply chain operations.

    Step-by-Step Usage Instructions

    1. Navigate to the Find Product Inventory page within HotWax Commerce. Look for the Facility filter option located at the top of the page.

    2. Click on the dropdown menu associated with the Facility filter. A list of available facilities or locations will appear.

    3. Once you've selected a facility from the dropdown menu, the page will display a list of products associated with the chosen facility. Review product availability, quantities, and details related to inventory management at this location.

    For example: If you'd like to search for the available product inventory of the SKU "WJ08-XS-Gray" in the Times Square facility, search for the SKU in the search bar and select 'Times Square' from the facility filter.

    Search Products by Inventory Channel

    In a multi-channel retail environment, efficient inventory management across various sales channels is crucial for success. The Inventory Channel Filter in HotWax Commerce provides users with the ability to view available products and their inventory on specific inventory channels. This feature enables retailers to view separate Available-to-Promise (ATP) inventories for each channel, minimizing risks and ensuring streamlined operations.

    For example, if a retailer chooses the Amazon sales channel and searches for SKU "WJ08-XS-Gray" in the search bar they will get the breakdown of the product ATP that is available to sell online on Amazon.

    Step-by-Step Usage Instructions

    1. Navigate to the Find Product Inventory page within HotWax Commerce where inventory details are displayed. Look for the Inventory Channel Filter, which is typically located at the top of the page.

    2. If you want to view inventory details for a specific inventory channel, click on the dropdown menu to select the desired channel from the available options.

    3. If you need to find a specific product's inventory breakdown for the selected channel, use the search functionality provided within the interface. Enter the identifier of the product you're interested in, and the system will display its inventory details for the chosen channel.

    Audit Pre-Orders

    Gain a clear understanding of your presell catalog with HC's Audit feature, allowing you to track the status of pre-orders and back orders, and confirm listed items on the eCommerce platform.

    Merchandisers need a clear picture of their presell catalog to understand the status of pre-orders and back orders. This helps them figure out when these pre-orders will show up on Shopify. This overview also lets them check and confirm listed items, even after they're on the e-commerce platform.

    To see their complete presell catalog, merchandisers can go to the catalog page through the left menu in the Pre-Order app.

    The Catalog page shows all items in pre-orders or backorders in one place. On the right side, users can see when the last pre-order computation job commenced and when will the next job run.

    Users can search for product SKUs for which they want to audit by their SKU, Product name, Product ID, or keywords in the search bar. They can also filter products by clicking Pre-order or Backorder to see items in those categories. Only items in those categories will appear in the filtered list. Products not added to the catalog won’t show up in the search results.

    Once a merchandiser identifies their desired SKU, clicking on the product leads to the product detail page. This page facilitates an audit of the pre-order catalog through the following steps:

    1. Variants View: Auditors can explore all product variants, such as colors and sizes, click on each variant to access specific information about that SKU.

    2. Verify Shopify Pre-Order listing details such as:

    • Pre-order Eligibility: Check the product's qualification for the presell category based on future and current inventory. Merchants will view Yes if product is eligible No if product is ineligible You can check the pre-order eligibility criteria to identify when a product is eligible for pre-order/backorder.

    • Verify Category: Confirm if the product is correctly categorized on Shopify by checking for the ✅ icon in the UI. When the category is incorrect on Shopify, the auditors will see a warning sign that the product is incorrectly categorized. The incorrect categorization on Shopify is mostly due to the Job for syncing on Shopify has not commenced yet. Check Jobs for Pre-Order Catalog Synchronization with eCommerce to ensure accurate categorization.

    1. Verify Active Purchase Orders- Auditors can view the status of the active purchase orders for that specific products under Verify Active Purchase Order card. This card offers complete information if there’s any purchase order for this product that is scheduled to arrive and is not completed yet. The Active Purchase Order Page offers the following information:

    • Pre-selling category: This field shows whether the product is in pre-order or backorder

    • Ordered value: Check how many quantities are ordered in this purchase order

    • Available: Check if there’s already a purchase order received for the same product and if yes what is the current status of the inventory.

    • Corresponding sales orders: Check how many sales orders have already been received for this product

    1. Check Online ATP computation- Online ATP calculation card offers the complete inventory explainability about how the pre-order item reaches the online ATP from the ordered quantity., This card contains the following information:

    • Online ATP: The inventory available to promised online or the inventory on which the pre-orders can be taken will be visible in this field.

    • Quantity on Hand: The total inventory that the retailer receives at the physical location will be visible in this field.

    • Excluded ATP: Retailers can view how much inventory is excluded from the quantity on hand. The inventory can be excluded due to, already received online orders on it, the inventory also may have an order buffer which serves as safety stock for pre-orders.

    1. Related Job Information: Auditors have access to all product listing-related jobs, including their last execution time and upcoming run schedules. This quick access allows auditors to verify the completion of pre-sell computations, order brokering, and pre-order release jobs. Merchandisers can quickly run or cancel jobs by clicking on their respective names.

    2. Shopify Shop Listing Status: Auditors can track product listings and delistings across Shopify stores. In case of any discrepancies due to job failures causing inaccurate listings or delistings, this information helps identify errors. Merchandisers can investigate the issue manually and resolve it to ensure accurate product category on Shopify.

    Job Scheduling

    Learn how to troubleshoot issues with scheduling jobs in the HotWax Commerce Job Manager application for seamless job management.

    If you are unable to schedule a job in the Job Manager application, and the job data is not appearing, it could be due to missing job draft data, missing job runtime data, or issues with the service in the OMS.

    Step 1: Verify Job Data in the OMS Backend

    Access the instance web tools using this URL: https://{instance.name}.hotwax.io/webtools/control/FindGeneric?entityName=JobSandbox.

    Step 2: Check Job Data

    1. In the JobSandbox form, find the Job Name field.

    2. Enter the job name you are attempting to schedule.

    3. Move to the "Status Id" field and enter SERVICE_DRAFT.

    4. Click the search button.

    Step 3: Verify Job Data

    If the job data is not found, it means it's missing, and you need to add it. Refer to the for guidance on how to create and input job data.

    Additional Steps for Checking Service and Job Runtime Data

    In cases where the job draft data is available but scheduling issues persist, follow these steps:

    Step 4: Check Service Data

    1. Locate the service name field in the job draft data.

    2. Check if there is data in the service name field.

    3. If not found, contact the HotWax Support team for assistance.

    Step 5: Check Job Runtime Data

    1. Extract runtime ID from the job draft data.

    2. Search for the Runtime Data entity and input the runtime ID in the "Runtime ID" field.

    3. Click the search button.

    If Runtime Data is Missing

    If no runtime data is found, it is missing. Add runtime data from Webtools: Import/Export page using XML data. Refer to the for guidance on how to input runtime data.

    If Runtime Data is Incorrect

    If runtime data is available, and the job is still not executing, the data is incorrect.

    1. Edit the runtime record, scroll down to find runtimeInfo, and copy the text.

    2. Remove rich text using tools like ChatGPT.

    3. Replace the cleaned data in runtime info and update it.

    4. Retry the job to check if the issue is resolved.

    If the problem persists, contact support for further assistance.

    By following these steps, you can ensure that the necessary job data is available, allowing you to schedule the job successfully in the Job Manager application.

    Job Failed

    Learn how to troubleshoot failed job issues in the HotWax Commerce Job Manager app.

    A scheduled job might fail in HotWax Commerce due to various reasons, such as incorrect parameter settings, outdated information, or conflicts within the system.

    Identify Failed Jobs Reason

    Users can swiftly identify the reasons for a failed job from the pipeline page of the Job Manager app. This feature allows user to pinpoint the reasons behind failed jobs, facilitating easy troubleshooting of errors. Here's how you can find out the reason behind the failed jobs:

    1. Navigate to the Pipeline page in the job manager.

    2. Within the pipeline page, click on the History tab.

    3. Apply a filter by clicking the checkbox against the Failed option to display only failed jobs.

    4. Click on the Failed badge to view the reason for the failed job.

    Common Reasons for Job Failure:

    Reason 1: Job Configuration Errors

    Scheduled jobs can fail due to incorrect parameter settings. If users are facing any issues regarding job configuration, they can follow these steps to rectify the problem:

    Step 1: Verify Configuration Data

    1. Search for the job on the pending page in the Job Manager.

    2. You will find the job card with all scheduled job instances.

    3. Pick any instance and open its details.

    4. In the details, find the Custom Parameters option and click on it to view all custom parameters.

    Step 2: Verify Custom Parameters

    1. Verify the custom parameters against the expected values for the service.

    2. You can find the expected custom values in the setup manual for the process you are troubleshooting.

    3. If the parameters are incorrect, proceed to the next step.

    Step 3: Disable the Job

    1. Find the job in the category pages and open its detail page.

    2. Disable the job. The custom parameters of a job cannot be edited while it’s running.

    Step 4: Correct Incorrect Parameters

    1. Click on "Custom Parameters" and correct the parameters.

    2. Schedule the job again.

    Step 5: Check Job Status

    After the scheduled time, check the job to see if it has successfully completed. If the job fails, contact the HotWax support team for further assistance.

    By following these steps, you can address configuration data issues that may lead to a scheduled job failure. If the problem persists or if you have additional questions, reach out to the HotWax support team for prompt assistance.

    Reason 2: Errors due to Shopify Integration Issue

    Shopify integration issues may arise if Shopify experiences downtime during the day, leading to job failures reliant on accessing its API calls. These failures can be attributed to internal errors within the Shopify platform.

    If you encounter any issues with Shopify integration, you can manually run the job by clicking on the Run Now button or wait for the next scheduled job to resolve the problem.

    Reason 3: Errors due to Semaphore Issues

    In job scheduling systems, a semaphore could be used to manage the allocation of resources (like CPU time, memory, or disk space) among competing processes or jobs. This ensures that resources are efficiently utilized and that no single job monopolizes Semaphore issues in job scheduling can lead to various consequences when a job fails. These include resource starvation, deadlocks, performance degradation, job abandonment, and system instability. These issues can result in failed or incomplete tasks, resource contention, and system-wide slowdowns, emphasizing the importance of proper monitoring and mitigation strategies. If you encounter any issues with semaphore, you can manually run the job by clicking on the Run Now button or wait for the next scheduled job.

    Draft Counts

    Guide to creating and managing draft cycle counts in the Cycle Count App, including adding products, assigning facilities, and setting due dates.

    A directed cycle count begins as a draft. When logging into the Cycle Count App, the Drafts page is the first page you’ll see. To create a new draft, click on the + icon at the bottom right of the screen.

    A new Draft count will open up on a new page where you can begin setting up a new count.

    Steps to draft new cycle count

    1. Name your cycle count, a cycle count ID will be automatically assigned to it.

    2. Add products to the count

      • Adding Individual Products

        • Click on the text field below the count name. As you enter the product's SKU, it will show up to the right of the input field. Ensure that the product SKU is accurate, otherwise the products won't appear in the results.

        • If the product you want to add to the draft count appears, click on the

    3. Add a Due Date Due dates can be added by clicking on the date button from the configuration options. For example, retailers may want to ensure that all the inventory is counted before commencing a season-end sale.

    4. Assign a Facility Retailers must assign a cycle count facility to move a count from Draft to Assigned. Click + Assign and select a facility from the modal.

    Once a count is ready to be assigned to a facility, click on the send button at the bottom right of the draft cycle count. The created draft will now appear in the assigned tab and on the of the Cycle Count App.

    Search, Sort and Filter Draft Counts

    The Draft Counts page allows sorting by Created Date (default), Due Date, or Alphabetical order.

    Admins can narrow results with the facility filter as well:

    • A specific facility

    • Unassigned counts

    By default, counts across all locations are visible.

    Automatically Created Draft Cycle Counts for Rejected Items

    Order rejections in a store may lead to change in the inventory. In the event where an order is rejected with a reason like Damaged or Not in Stock, it means that physical inventory present in the store doesn’t match systemic inventory, indicating the need for a cycle count.

    For this, there is a configurable product store setting named Create cycle count for rejected items, which automatically creates a draft count in HotWax’s Cycle Count App whenever an order rejection causes a change in the inventory levels, to identify the actual stock and address the discrepancy.

    How It Works

    • When an order item is rejected and causes a variance in Available to Promise (ATP), a draft cycle count named Rejected Item Count is created.

    • A link to the draft count is automatically sent to the operations team or admins, so that they can assign it to the facility that rejected the order item.

    • The draft count stays in a Draft status until it is assigned. If additional rejections from the same facility occur before the count is assigned, they are also added to the same count.

    Additional Settings

    The Order Routing app in HotWax Commerce offers retailers flexibility in configuring various scenarios to meet their specific needs. However, certain settings outside the app can still impact order routing processes.

    Maximum Order Capacity

    To prevent operational strain when fulfilling online orders alongside walk-in customers, retailers can set a maximum order capacity for each store. This helps avoid exceeding a store's fulfillment capabilities. Once the set limit is reached, the brokering engine will automatically route further orders to other facilities with available capacity.

    The process for setting the Maximum Order Capacity is consistent across the Facility, Fulfillment, and ATP apps. Follow these steps to configure the maximum capacity for a facility:

    Steps to Implement

    1. In each app (Facility, Fulfillment, ATP), locate the capacity settings for the store.

    2. Click the capacity chip on the store’s order capacity card.

    3. Choose from the following options:

      • Unlimited Capacity

    During peak hours, store managers can turn off fulfillment to manage store capacity by setting the order capacity to `No Capacity`.

    Brokering Shipment Thresholds

    To optimize inventory usage and fulfillment speed, retailers often split orders across multiple locations. However, this can result in high shipping costs, especially for low-value items. HotWax Commerce provides an option to set a Brokering shipment threshold value to avoid high shipping costs. If this threshold is set, orders will be allowed to split only if they are above the mentioned threshold.

    Example:

    1- If an order contains a `Black Belt' of $80 and a 'Brown Wallet' worth $160, the order will not be split as both items should be above the threshold.

    2- If an order contains a 'Black Belt' and 'Black Wallet' valued at $80 each, the order will not be split as both item falls below the threshold.

    3- If an order contains two items—'Brown Belt' and 'Brown Wallet'—each worth $160, and the brokering threshold is set to $100, the items will be split since both items are above the threshold.

    Steps to Implement

    1. Navigate to Store Settings

      • In the HotWax Commerce Order Management System, go to the Product Store page.

      • Click Add Settings in the store settings section.

    Once the threshold is set, orders will only be split if the value of the items meets or exceeds the threshold, ensuring more efficient shipping and reducing losses on low-value shipments.

    Order Routing

    This guide will help you understand how to manage and route orders efficiently using HotWax Commerce’s Order Routing App, optimizing order fulfillment strategies.

    What is Order Routing

    Retailers handling multiple sales channels and fulfillment locations need sophisticated order routing. It allows each order to be fulfilled from the most optimal location, considering factors such as shipping method, proximity to the customer, inventory levels, fulfillment capabilities, and the option to split orders across locations. Effective order routing helps retailers achieve faster delivery times, reduce shipping costs, and maintain balanced inventory across all locations.

    What is Configurable Order Routing

    Configurable order routing takes traditional routing a step further by allowing retailers to customize and fine-tune order routing across their fulfillment network. Instead of depending on a fixed set of rules, configurable routing uses a brokering algorithm that evaluates orders and fulfillment options against a series of sequential rule sets, each with specific conditions.

    This high level of customization enables retailers to create order routing that aligns with their unique business needs, and adjust routing parameters in real time without requiring external support. Retailers can optimize factors such as fulfillment costs, inventory distribution, and workload across locations, offering a strategic approach to order management. For scenarios where an order doesn’t meet the criteria of any rule set, configurable routing allows retailers to define specific actions to manage all unfillable orders, making sure no order is left unresolved.

    This dynamic approach to order routing also lets retailers quickly adapt to evolving market conditions and customer expectations.

    Configurable Order Routing App

    HotWax Commerce's highly dynamic and configurable Order Routing App provides a structured framework for managing order routing with flexibility. The app enables retailers to define how orders are routed across their fulfillment network.

    Below is a brief overview of the brokering framework, we will understand each component in more detail in the following sections.

    Order routing is organized into three hierarchical levels:

    A brokering run is the highest level of organization in order routing and lets retailers control the routing frequency based on business needs. Each brokering run can have a different frequency, routing different batches of orders to meet varying fulfillment priorities. For example:

    • A brokering run scheduled every 5 minutes could prioritize high-priority orders, like same-day deliveries for fast routing and fulfillment.

    • For standard delivery orders with medium priority, a separate brokering run can be set to run every 6 hours, aligning with less urgent timelines.

    Within each brokering run, there are multiple routings, or “routing rules.” Each routing defines a batch of orders by using filters and sorting criteria. For example, in a "High-Priority Run," routings might include:

    • Same-day delivery batch: Includes orders that need same-day delivery.

    • Next-day delivery batch: Includes orders on next-day delivery.

    • Two-day delivery batch: Includes orders on two-day delivery.

    These routing rules help retailers prioritize routing for specific order batches with different fulfillment timelines and conditions.

    Within each routing, multiple inventory rules define how inventory is allocated to the order batches. These rules allows for optimal facility look up based on factors such as proximity, stock availability, and other strategic criteria. For example:

    • Same-day delivery batch: Inventory rules can prioritize fulfillment from warehouses within a 100-mile radius of the customer to meet same-day delivery targets. If inventory is unavailable, a secondary rule could expand the range to 250 miles and include stores.

    • Next-day delivery batch: For next-day orders, inventory rules can prioritize fulfillment from warehouses within a 250-mile range, accommodating the one-day delivery SLA. Next inventory rules in sequence can apply if the first inventory rule doesn’t allocate inventory for all orders in the batch.

    In the following sections, we’ll dive deeper into each level, to understand how brokering runs, routing rules, and inventory rules work together to optimize order routing.

    Test Drive

    The Test Drive feature is used to test different types of orders to verify that all routing flows are working as expected.

    Job Details

    Manage pre-configured job automation from Job Details page to streamline operations within the Order Management System.

    Introduction

    Every automation task is organized within a dedicated Job Details page, providing a clear overview of job information and actions. This centralized approach ensures quick access to job configurations and facilitates job management.


    Job information

    Name

    Clearly identifies the job for easy recognition.

    Summary

    Provides a concise explanation of the job's purpose.

    History

    Access a comprehensive job history, including the date, runtime, and status of past runs. The history will display the last 10 records.


    Job actions

    Skip

    Temporarily postpone a job's execution for the upcoming runtime without affecting future scheduled runs.

    Cancel

    Permanently stop a job from running further.

    Run now

    Trigger a job to run immediately and resume its scheduled execution pattern afterward.

    Edit Run time

    Set the job's execution time, helping users manage when their scheduled automation.

    Edit Frequency

    Set how often the job runs.

    Add Custom parameters

    Make changes to the job's parameters, settings, or execution details as necessary, allowing users to set up workflows specific to their scenarios. Custom parameters have to be configured before a scheduled job and cannot be changed while a job is pending execution.


    How to schedule a job

    Things to remember:

    • Custom parameters can be incorporated into jobs, with access controlled by specific permissions, ensuring a customized and secure configuration.

    1. Navigate to the required job category and find the job you want to schedule.

    2. Click on the job to view Job Details.

    3. Set the run time.

    4. Set the frequency.

    Debugging

    Copy details

    Quickly share the important job related information such as job's ID, name, description, and runtime for debugging.

    Schedule Restocking

    Retailers usually plan new product launches and need these products to be available for sale in future dates at precise times. For instance, if a retailer plans to start selling a new product at 10 AM after one month, they need the inventory to be synced exactly at that time. Previously, this required manual intervention, which was prone to errors. Manual management of inventory synchronization could lead to delays or mistakes, causing products to not be available for sale as planned, resulting in missed sales opportunities and customer dissatisfaction.

    To address this challenge, HotWax Commerce offers a scheduled inventory restocking feature in the Import App. Retailers can upload a CSV file containing the products they want to restock and specify the facility and product store for which the inventory needs to be updated. Crucially, during inventory restocking, the update inventory service also runs in HotWax Commerce to ensure that inventory is increased in HotWax Commerce but also synced with Shopify.

    Configure Product Inventory

    The Product Inventory Configurations page in HotWax Commerce offers users the ability to configure product inventory settings globally or for individual facilities. This is crucial for retailers with large product catalogs, as it allows for product-specific settings that cannot be covered across all the facilities. For example, bespoke items may only be available from certain facilities, necessitating specific configurations at the product level.

    Global Settings Section

    The Global Settings section enables users to customize various product configurations at the company level. This customization includes managing product thresholds, order brokering, store pickup options, and shipping timelines. These settings are essential for optimizing inventory management and order fulfillment processes.

    Test Drive

    The Test Drive feature is used to test different types of orders to verify that all routing flows are working as expected.

    What Can Be Tested

    • Brokering Run (test a full group of routings)

    • Routing Rule (test one routing and its rules)

    • Inventory Rule (see how stock levels and ATP impact decisions)

    Job Categories

    Jobs are categorized based on their operations, ensuring that related operations are grouped together for efficient configuration.

    Categories

    Initial load

    Displays the jobs for initial OMS setup to import all products and orders.​

    This page contains jobs such as:

    View Assigned Counts

    Guide to managing assigned cycle counts in the Cycle Count App, including tracking progress, rescheduling counts, and moving them to the review stage.

    Assigned cycle counts are awaiting the assigned facilities to submit for review. While assigned, the admin view provides insights into the progress made by stores.

    Search, Sort and Filter Assigned Counts

    In the Assigned Counts view, search and sorting options work similarly to the Drafts page, helping admins quickly find and reorder counts. What’s different here is the focus on tracking progress.

    Admins can filter counts:

    Order ID: 12345, Shopify ID: 98765 - Approved
    Order ID: 12346, Shopify ID: 98765 - Created

    Pause Scheduled Brokering

    While using the Test Drive feature, scheduled brokering stops temporarily. This can be done using the "Pause scheduled brokering" toggle present on the Test Drive card. This toggle turns off scheduled brokering for that product store, preventing the system from automatically routing orders.

    The toggle also shows how many other users are currently running a Test Drive session. This helps avoid conflicts, especially when multiple team members are testing at the same time. Showing active sessions helps prevent anyone from accidentally turning scheduled brokering back on while others are still working in the test environment.

    Test Routing Group

    On a Routing Run page, a Test Drive button will appear just below the description.

    Accessing the Test Drive Interface

    Selecting the button opens the Test Drive interface, where all routing and inventory rules linked to the selected run are displayed. A search bar is available to find orders.

    Viewing Order Details

    Selecting Test Order opens the order details. This includes the order name, internal ID, the facility or parking where the order currently exists, whether it is in the brokering queue or at a specific facility, the carrier partner, and the delivery type, such as standard or next-day.

    If the order is not yet brokered, the routings eligible to broker the order will be highlighted. If the order is already brokered, the routing and rule that were used will be highlighted.

    Brokering and Resetting an Order

    A Broker Order button is available. Selecting this brokers the order using the rules from the selected brokering run.

    To test the order again, the Reset Order button can be used. This moves the order from the allocated facilities back to the parking facility it originally came from.

    The rejection reason will state that it was part of a brokering test drive. No variance will be recorded when an order is reset.

    Understanding Brokering Decisions

    The items in the order appear in separate cards based on ship groups. Each card shows the reason why those items were brokered to a specific facility.

    Each item also displays the Available To Promise (ATP) and Quantity On Hand (QoH) at the facility.

    View configuration details

    To view the details of a routing and or a routing rule, click the details button to show the configuration of the selected routing or routing rule. If a filter does not match the test order, an error icon will appear on that filter.

    Test Single Routing

    To test a single routing instead of a group, a specific routing can be selected from the order batch. Inside the routing, clicking the Test button will show an order search bar.

    Once an order is selected, the app checks if the selected routing can broker the order based on its filters. If a filter is blocking the selected order from qualifying in the routing, Test Drive will flag those filters. If the order is brokered, the ship group card will display the routing rule that allocated the items.

    Testing Inventory Rule

    To test an individual inventory rule, select any rule to test. After selecting, a Test button will appear on the configuration page. Clicking the Test button opens the Test Drive interface. In the interface, search for an order and check if the inventory rule is working as expected.

    1. Import Products in Bulk: Import all products from Shopify. Make sure you run this before importing orders in bulk during initial setup.

    2. Import Orders in Bulk: Before importing historical orders in bulk, make sure all products are set up or else order import will not run correctly.

    Pre-order

    Holds the Pre-orders and Backorders jobs.

    This page contains jobs such as:

    1. Auto refresh presell catalog: Automatically add and remove products from the pre-order and backorder catalogs based on inventory, purchase orders, and order queues.

    2. Sync variant details: Sync pre-selling related information to Shopify as tags and meta fields.

    3. Add tags: Add pre-order/backorder tags on orders with pre-selling items in them.

    4. Add promise date: Add a note with the promise date given to the customer at the time of placing the order.

    5. Update promise date: Add notes to the impacted order items on Shopify for changes promise dates.

    6. Promise date change: Notify customers of any changed promise dates for their orders.

    7. Auto releasing: Auto releasing pre-orders will find pre-orders with passed promise dates and release them for fulfillment.

    Orders

    Holds all order jobs.

    This page contains jobs such as:

    1. New orders: Import new orders from eCommerce.

    2. Approve orders: Check all orders and approve orders that are created.

    3. Update orders: Import order updates from eCommerce.

    4. Cancelled orders: Check eCommerce for orders that have been canceled and cancel them in HotWax Commerce.

    5. Cancelled items: Check eCommerce for order items that have been canceled and cancel them in HotWax Commerce without canceling the entire order.

    6. Returns: Check eCommerce for orders that have been returned and create a return for them in HotWax Commerce. Returned orders are also restocked if inventory is damaged, make sure to log a Damaged variance.

    Fulfillment

    Holds all fulfillment jobs.

    This page contains jobs such as:

    1. Shipping: Automatically ship orders that are packed and have a tracking number if required.

    2. History: Create or update order fulfillment history records from FTP.

    3. Auto cancellations: Unfulfilled orders that pass their auto cancellation date will be canceled automatically in HotWax Commerce. They will also be canceled in Shopify if upload for canceled orders is enabled.

    Inventory

    Holds all inventory jobs.

    This page contains jobs such as:

    1. Export thresholds: Export a list of product thresholds based on tags and categories

    2. Inventory variance: Import inventory variance and adjust inventory

    3. Import thresholds: Import a list of product thresholds based on tags and categories

    4. Sync inventory from Shopify: Sync Inventory From Shopify

    5. Upload recent inventory change: Upload recent inventory changes to eCommerce.

    Products

    Holds all product jobs.

    This page contains jobs such as:

    1. Sync: Sync products and category structures from Shopify into HotWax Commerce and keep them up to date.

    2. Import: Import new products job imports newly created products from Shopify.

    Miscellaneous

    Holds all uncategorised jobs


    forum post
    forum post
    Create Returns
    Video: Initial load
    Video: Schedule Jobs in Bulk

    Use the search filter option to find specific products within the selected facility. Enter the product identifier of the product to access its inventory breakdown at the chosen facility.

    Queue that holds orders that cannot be fulfilled at the moment.

    Pre-order queue

    Queue that holds pre-orders awaiting fulfillment.

    Backorder queue

    Queue that holds backorders awaiting fulfillment.

    Excluded facilities ATP

    Shows inventory of facilities excluded from online selling.

    Excluded ATP

    Shows inventory excluded from online selling.

    Threshold

    Limit set by a merchandiser to avoid overselling online.

    Online ATP

    Inventory available for promise on online channels.

    Available to Promise (ATP)

    Inventory available for promise to customers, representing actual availability.

    Verify Shopify Listing Status: Ensure the product is listed on all associated Shopify stores. When listed accurately it will reflect ‘listed on all stores’. If the product is not listed, check the respective job to push listing data on Shopify has run in the Job Manager App.
  • Verify Promise Date: Every product that is eligible for pre-order will have a promise date for the future. Promise date can also be verified from the active purchase order card.

  • Verify Presell Timeline: Review each eligible pre-order product for a future promise date. Auditors can monitor the timeline to observe when the preselling commenced and ceased, and the reasons behind halting the preselling process.

  • Total PO items: Check how many items are going to be received in this purchase order

  • Total PO ATP: Check how many available to promise inventory can be deduced from this PO. if the merchandiser has added any order buffer, yes then the ATP for the PO will be less than the incoming inventory

  • Reserve Inventory: This toggle allows Hotwax Commerce to reserve the inventory in the brokering queue when accounting for ATP calculation. Retailers who use Shopify as inventory master for pre-order computation need to toggle these settings off. Shopify already reduces the inventory at the time of the order's arrival. HotWax Commerce does not need to reduce the inventory from the ATP at the time of fulfillment otherwise it may result in double inventory deductions.
  • Hold Physical Inventory: Shopify retailers managing Pre-Order inventory balance it between eCommerce and physical stores. For retailers with brick-and-mortar stores, HotWax Commerce allows a Hold Physical Inventory setting. This setting reserves excess Pre-Order stock for physical stores before pushing surplus to eCommerce. For example, if the 100 inventory is received for 80 online orders, the remaining 20 won’t be immediately available online to sell as available products. Instead, the retailer can hold the surplus inventory exclusively for their offline customers.

  • +
    button next to the product details or simply press enter on your keyboard.
  • Adding Products in Bulk If you already have a list of products in a CSV file format, you can upload the list of products by clicking the upload button in the upper right of the page.

    • Select a file from your computer and upload it to the app.

    • Once uploaded, you’ll be prompted to select which product identification you’ve uploaded in the CSV and which column the products are located in.

    • Click the save button and the products will be added to your count. Products that are already added to the count will not be added again.

  • Removing Products If a product has been added that needs to be removed, click on the x button at the end of any product's row.

  • If the count has already been assigned and further rejections from the same facility occur, a new draft cycle count is created for those items.
    for the store team

    No Capacity

  • Custom Capacity

  • Select Custom Capacity and enter the desired maximum limit (e.g., 10 orders per day) for each facility.

  • Set Brokering Shipment Threshold
    • From the settings submenu, select Brokering Shipment Threshold.

    • Enter the threshold value to prevent splitting orders below this amount (e.g., set the threshold to $100).

  • Save Settings

    • Save the store settings to apply the brokering threshold across the Product Store.

  • Add custom parameters if required.
  • Save the changes to see the schedule job on the Pipeline page.

  • Steps to Schedule Restocking

    Access the Import App:

    • Locate the HotWax Commerce Import app in the app launchpad.

    • Log in with your user credentials.

    Navigating to Inventory Page:

    • Within the Import app, the default page opened is the Purchase Order page.

    • Navigate to the Schedule Restock page from the left menu.

    • Only users with Super or Admin user permissions can access the Schedule Restock page in the Import App.

    Uploading CSV File with Saved Mappings:

    • Click on the upload button and select the preferred CSV file.

    Map CSV Fields

    • Map CSV file fields with corresponding HotWax Commerce fields.

    The following fields need to be mapped and filled in while scheduling restocks:

    Field

    Description

    Shopify Product SKU

    The unique product identifier used by Shopify.

    Restock Quantity

    Represents the updated inventory count for the product.

    Schedule Time

    Specify when the inventory needs to be restocked and synced with Shopify.

    Facility

    Specify the facility where the products need to be restocked.

    Product Store

    Specify the product store for which the product needs to be restocked.

    Shopify Store

    Specify the Shopify store where the inventory needs to be synced after restocking.

    Shopify Product SKU field is the default product identifier, but users can choose the preferred product identifier from the options in the dropdown menu. HotWax Commerce supports the following product identifiers:

    Field

    Description

    Shopify Product SKU

    The Stock Keeping Unit number assigned to products.

    Product ERP ID

    Unique identifier of the product in the ERP system.

    GTIN

    Global Trade Item Number is an identifier for trade items.

    ISBN

    International Standard Book Number (ISBN) is a numeric commercial book identifier.

    Manufacturer (Model) Number

    Unique number issued by manufacturers to identify individual products.

    Shopify Product ID

    Unique product identifier on Shopify.

    Saving Custom CSV Mappings:

    • Save custom CSV mappings directly within the Import app for future use by clicking on the New Mappings button.

    • In the future, you can utilize the saved mappings within the Import app to expedite the process of mapping.

    Reviewing Inventory:

    • Click on the Review button to inspect and verify all scheduled inventory updates.

    • This will open an Inventory review page where you can ensure data accuracy and completeness before finalizing.

    Add/Modify Restock Details:

    • Merchandisers can also add or change Facilities, Product Store, or Shopify Shop by choosing the relevant options from the drop-down menus for the relevant fields.

    Finalizing Update:

    • Once you have verified all the items, proceed by clicking on the Upload icon.

    • This will open up a confirmation module; confirm inventory upload by clicking on the Upload Button.

    • You will get a success message indicating that the inventory has been updated successfully.

    Reschedule/Cancel Restocking

    If the merchandisers have any operational level changes, such as their sale being postponed to a later date or they want to remove some products from that sale, they can reschedule or cancel the restocking from the Schedule Restock page.

    All the scheduled restocks will appear at the bottom of the page, with the scheduled date and time. Merchandisers can click on the overflow menu to reschedule or cancel the restocks as per their requirements.

    Adjust Threshold

    To avoid overselling due to inventory inaccuracies, merchandisers prefer not to promise all the inventory to the online sales channel. So the merchandising team keeps a buffer stock on a company level before promising the inventory to online channels, also called Inventory Threshold. Adjusting the threshold is crucial for maintaining optimal inventory levels. During peak seasons, increasing the threshold prevents stockouts, while reducing it during slower periods prevents excess inventory. Here's how retailers can adjust thresholds

    • Navigate to the Global Settings section on the Product Inventory Configurations page.

    • Click on Threshold to access the dialog box.

    • Modify the threshold value to match your requirements.

    Enable/Disable Order Brokering for Products

    Retailers may sometimes want to ensure that some products are routed to only specific locations and they may want manual control on these products. Enabling or disabling order brokering based on product-specific requirements ensures optimal order routing for the products. This step is essential, particularly for bespoke products that cannot be fulfilled from all locations.

    • Navigate to the Global Settings section on the Product Inventory Configurations page.

    • Open the dialog box by selecting Order Brokering.

    • Toggle the setting to enable (Y) or disable (N) order brokering based on your business needs.

    Enable/Disable Store Pickup for Products

    Retailers sometimes have bulky items in their catalogs that are not optimized for store pickup. Enabling or disabling store pickup options ensures accurate order fulfillment options, for the customer.

    • Navigate to the Global Settings section on the Product Inventory Configurations page.

    • Access the dialog box for Store Pickup.

    • Toggle the setting to allow (Y) or disallow (N) store pickup according to your business model.

    Days to Ship

    Setting minimal days to ship the product is crucial for meeting customer expectations and optimizing order fulfillment timelines. For example, bespoke items may require a minimum of 2 days to ship, therefore, they cannot be available for same-day or next-day delivery.

    • Navigate to the Global Settings section on the Product Inventory Configurations page.

    • Open the dialog box by selecting Days to Ship.

    • Edit the number of days required for order shipment.

    Configure Inventory within Facility

    The Inventory Configuration section empowers users to efficiently manage their inventory by configuring facilities, adjusting safety stock levels, and organizing locations within each facility. This feature is aimed to optimize inventory levels, streamline warehouse operations, and ensure seamless order fulfillment processes.

    Associate facility to Products

    Adding facilities is crucial for retailers operating in multiple regions or countries to streamline storage and distribution efficiently. Not all products are available at all facilities, so facilities need to be associated with the product where the product will be sold or fulfilled from. This ensures accurate order routing and efficient inventory management across various locations.

    • Click on the Add Facility function in the Inventory configuration section to open a dialog box.

    • Select the desired facility and its location from the dropdown menu.

    • Click Add to confirm the addition of the facility.

    Add Location of Product Inventory in Facility

    Adding locations within each facility helps in optimizing product storage and organization. It enables businesses to effectively manage their warehouse space, improve inventory visibility, and streamline order picking and packing processes, resulting in enhanced operational efficiency and customer satisfaction.

    • Click on the Add Location function to open a dialog box.

    • Choose the facility to which you want to add a location from the dropdown menu.

    • Select the geographical information or address for the location from the dropdown menu.

    • Click Add to confirm the addition of the new location to the selected facility.

    Edit Product Safety Stock

    Editing a product's safety stock levels ensures maintaining an adequate level of stock to meet demand and prevent stockouts. Safety stock is set to ensure stores have stock that can be used in case of any inventory variance or to reserve stock for in-store sales. By adjusting safety stock levels, businesses can optimize inventory investment, minimize carrying costs, and mitigate the risk of stockouts, thereby enhancing customer satisfaction and revenue generation.

    • Locate and click on the edit icon of the facility for which you want to adjust the safety stock.

    • Update the minimum stock (Safety Stock) as required.

    • Click Add to confirm the changes in safety stock.

    By Facility, to monitor activity at a specific location

  • By Created Date, to isolate counts initiated during a chosen time window

  • This helps in reviewing workload distribution and progress across teams.

    Assigned Counts List View

    The list of assigned counts shows how many of the items in each count have been completed and when the count is due. If the count is sent for the first time, it will have an Assigned badge. If a count has been sent for a Re-count after being reviewed, it will have a Re-count Requested badge.

    Assigned Count Details

    The details page of an assigned count helps track the exact progress of the specific count and take any corrective actions or initiate discussions with store personnel to ensure the full completion of a count.

    Overview

    The detail section of an assigned count starts with an overview of the count and its progress. On the left part of the overview, you’ll see details added during creation such as count name, assigned facility, and due date. On the right side, there is a brief progress insight.

    Progress

    The progress metric shows how many assigned cycle count line items have been completed. This does not represent the accuracy of the count, but rather the completeness of the whole count.

    Variance

    The variance metric shows the accuracy of the count for the counted items. It shows the total expected count along with the total inventory counted to highlight the difference between expected and actual inventory levels.

    While the facility of a count cannot be changed once it is assigned, it can be rescheduled. To reschedule a count, click on the due date chip below the name of the count and select a new date from the date-time picker.

    Item Counts

    While a count is assigned, reviewers can still track individual item progress but cannot accept or reject the count items while it is still assigned.

    Each count item will show the following information while in the assigned status:

    • Quantity on Hand: The most current quantity on hand in the OMS will be shown for items that have not yet been counted. Once an item is counted, the quantity on hand for that item at the time of being counted will be displayed. This quantity on hand value will not change on a count item once it has been counted, ensuring accurate variance logs even if the count is accepted after inventory has continued to move in the facility.

    • Counted: Once an item has been counted, it will show the counted number on the item. This is the exact count of inventory physically counted.

    • User: The user who performed the count will be displayed on an item once the count is submitted. If a count is performed by multiple staff members, reviewers can track exactly which user performed each count.

    • More Details: Clicking on the vertical ellipses at the end of a count item reveals additional information and actions on a count.

      • Last Counted: The last time this product was counted at this facility.

      • Remove from Count: If an item has not been counted, it can be removed from a count if the inventory count is no longer required for that product. Once an item has been counted, it can only be rejected during the review stage.

    While in the assigned status, items can still be added to a count, which is helpful in the event that an item needs to be added after a count has already been assigned.

    Move to Review

    Reviewers have the option to use the admin view to move a count to the review stage themselves. This option should be used in the event that a count is not moved to the review stage by the assigned facility.

    To move a count to Pending Review status, click on the lock button at the bottom right of the page.

    Brokering Runs
    Routing Rules
    Inventory Rules
    Brokering Framework in HotWax Commerce

    Product Inventory View Page

    The Product Inventory View Page within HotWax Commerce offers users a comprehensive snapshot of a product's inventory information. This feature is crucial for retailers as it empowers them to make informed decisions regarding sales and overall inventory management for their products.

    Step-by-Step Usage Instructions:

    1. Within the Hamburger Menu of HotWax Commerce, find and select the Warehouse option from the list of menu choices.

    2. Once in the Warehouse section, a submenu will appear. Click on Inventory from this submenu to proceed.

    3. On the Find Product Inventory page, you'll find a list of available products. Click on the product name of the desired item to open its Product Inventory View Page.

    Alternate Access Method:

    1. Click on the PIM section, then select Products to access the Find Products Page.

    2. Browse through the list of available products or search for the product name. Click on the name of the desired product to open its Product View Page.

    3. On the Product View Page, locate and click on the View Inventory

    View comeplete detail of product's inventory

    Navigate to the Overview section on the Product Inventory View page to access essential product information, including product name, SKU, size, and color variants.

    Sections within Overview

    A. Order Queue: This section displays orders that currently lack allocated inventory. Orders in different queues, such as brokering queue, unfillable hold queue, pre-order queue, and backorder queue, are listed here. Explore further details about these queues .

    B. Threshold: Retailers can establish a global threshold for products through the Threshold Management app. This quantity is subtracted from the overall Quantity on Hand (QOH) to prevent overselling on e-commerce platforms. Users can see the inventory that is subtracted from the overall QOH as the threshold.

    C. Physical ATP: HotWax Commerce calculates Physical Available to Promise (ATP) by considering various factors, such as safety stock, threshold, reserved quantity, and orders in the queue. The excluded ATP comprises safety stock and reserved quantities, with adjustments made at the facility level.

    Example: Consider a product blue shirt from Brand ABC with a QOH of 100 units. If 10 units are excluded ATP, 5 units are the threshold, and 5 units are in the brokering queue, the ATP can be calculated as follows:

    ATP = QOH - (Excluded ATP + Threshold + Orders in brokering queue) ATP = 100 - (10 + 5 + 5) = 100 - 20 = 80

    D. Online ATP: Online ATP is derived by subtracting the excluded facilities' ATP, i.e., facilities not participating in online fulfillment, from the total ATP. The excluded facilities' ATP can be different for different online facility groups. For instance, if the total ATP is 100 across 10 facilities and 5 facilities with a cumulative quantity of 60 are excluded for online selling on Shopify, the Shopify Online ATP can be calculated as: Shopify Online ATP = ATP - Excluded Facilities’ ATP = 100 - 60 = 40

    Online ATP may vary for each sales channel.

    View Item Inventory History

    The item inventory section allows users to get a detailed breakdown of the received inventory at each facility, along with the date and time of each transaction and where the inventory is located within the facility.

    View Inventory Logs

    The Inventory Logs feature within the item inventory section offers users the ability to access detailed logs of inventory transactions for the selected product across all facilities. Users can track inventory movements, monitor changes, and identify any discrepancies or trends promptly.

    Step-by-Step Usage Instructions:

    1. On the View Product inventory page, navigate to the item inventory section

    2. Locate the Inventory Logs checkbox and check the box to activate the inventory logs feature.

    3. Once activated, detailed logs of each inventory transaction for the selected product across all facilities will be displayed.

    Record Variance

    The Record Variance feature” allows users to manually document any discrepancies in inventory levels and manage adjustments effectively. This feature is crucial for maintaining accurate inventory records and ensuring transparency.

    Step-by-Step Usage Instructions:

    1. Within the View Products Inventory page, locate and click on the Record Variance function, available at the top of the page.

    2. This will open a new form, select the relevant facility where the inventory adjustment is taking place from the dropdown menu.

    3. Choose the specific location within the selected facility and enter the quantity of the inventory adjustment.

    Brokering Runs

    Learn about Brokering Runs.

    As discussed, brokering runs serve as the highest level of organization in order routing, defining when and how frequently order routing takes place. Each brokering run has a specific frequency, such as every 5 minutes, hourly, daily, or at custom intervals based on business needs.

    Why Use Multiple Brokering Runs

    Multiple brokering runs allow retailers to set different frequencies for each batch of orders. For example, high-priority orders can be routed more frequently (every 5 minutes), so urgent orders receive immediate attention, while standard or less time-sensitive orders are routed at more moderate intervals (hourly).

    Single vs. Multiple Brokering Runs

    • Single run setup: For retailers with similar urgency across orders and a lower order volume, a single run at regular intervals (every hour) can manage all order types in one brokering cycle.

      • Everyday order routing: Within this single brokering run, multiple routing rules (order batches) can be created to address different delivery needs, such as same-day delivery orders, two-day delivery orders and standard delivery orders. We’ll understand in depth about in the next sections.

    • Multiple runs for different priorities: In the event where order fulfillment priorities vary significantly and the order volume is high, creating separate runs can optimize resources and allocation:

    The frequency and configuration of each run are critical for optimizing brokering strategies, allowing retailers to meet diverse order priorities effectively.

    Creating and Managing Brokering Runs

    Now, let’s understand how you can achieve your order routing and fulfillment goals with the HotWax Commerce’s Order Routing App:

    Steps to create a new brokering run

    1. Open the Order Routing App

      • Start by opening the Order Routing App. This will take you to the home page, where you can view all previously created brokering runs. If no brokering runs have been created yet, the page will appear blank.

    If you have multiple product stores, you’ll be prompted to choose the store for which you want to create a brokering run. This feature helps in managing order routing uniquely for each store. Learn more about .

    1. Initiate a new run

      • Click on the New Run button to begin creating a new brokering run. You’ll be prompted to provide a name for this run, which will help identify it in the list of all existing brokering runs.

    1. Name the run

    • Give the run a meaningful name that reflects its purpose. For example, if you’re creating a single brokering run for all orders you can name it “Everyday order routing” or if you are creating multiple brokering runs based on the order urgency, you can name them as “High priority orders” with the next run as “Medium priority orders”.

    1. Add a description

      • After naming the run, we need to add a description to provide further context. Descriptions help in clarifying the intent behind each brokering run, making it easier for team members to understand its specific function.

      • Click on a specific Run to open its details and now navigate to the Description card and add details that best describes your run.

    1. Schedule the brokering run with a predefined frequency or using cron expressions

    • Navigate to the Scheduler card, here you can set the frequency and runtime for your brokering run.

    • You can choose predefined intervals or use cron expressions to customize the schedule based on your business needs. Here are a few examples of valid cron expressions that you can use:

    Schedule Description
    Cron Expression
    Explanation
    • For our Everyday order routing brokering run we can directly choose the predefined "Hourly" frequency and save it.

    You need to change the brokering run's status from Draft to Active to make it operational.

    By default, new brokering runs are set to Draft. Simply select Active from the dropdown to activate it, or revert an active run back to Draft if adjustments are needed.

    Ideally, activate the brokering run only once you've fully configured your routing, inventory rules, and other settings.

    Understanding how to view, schedule, and manage brokering runs is important for optimizing your order routing strategies.

    Now, let's understand about within a brokering run.

    Pre-Order Jobs

    Learn about setting up pre-order jobs in HotWax Commerce to sync pre-orders with the eCommerce platform, ensuring accurate listing and seamless operations

    Once Purchase Orders have successfully been uploaded to HotWax Commerce, the subsequent step involves seamlessly syncing the pre-orders with the e-commerce platform. Merchandisers can set up various jobs in HotWax Commerce to ensure the accurate listing of pre-orders on the e-commerce platform. Some of these jobs are internal to HotWax Commerce and facilitate the creation of jobs within the system.

    All Pre-order jobs have a defined frequency of 15 minutes to ensure the smooth running of the process. However, should the merchandiser wish to modify the job frequency, they can do so by following these steps:

    1. Navigate to the Job Manager> Pipeline Page.

    2. Utilize the search bar at the top of the page to locate the specific job.

    3. The desired job card will appear in the results, displaying all the job details, including the last run time, frequency, and other relevant job data.

    4. Clicking on the job card reveals a detailed view, offering merchandisers various options to modify the job, such as altering the run time, adjusting the frequency, and adding custom parameters if required.

    5. Once the changes are made, merchandisers can save them by clicking on the save changes button. This action ensures that all future runs of the job reflect the updated settings. Additionally, if there are no pre-orders, merchandisers can also cancel the job to reduce system load.

    Jobs for Pre-Order Catalog Management in HotWax Commerce

    In HotWax Commerce, merchandisers have the option to schedule the Auto Refresh Pre-sell Catalog job, which automatically manages the addition or removal of pre-sell products from the HotWax Pre-order/Backorder category. This job checks for new products eligible for pre-order/backorder and adds them to the pre-order catalog based on specific eligibility criteria:

    • Status of PO items must be created or approved, ensuring canceled PO items are not considered for Pre-Order.

    • Promise date of a PO item must be in the future, guaranteeing that purchase order items will arrive in the future, not from an old PO.

    • Current inventory of the item must be 0, indicating it's out of stock and qualified for Pre-Order or backorder.

    • If the 'isNewProduct' field of a PO is marked as “yes”, it’s identified as a Pre-Order product; if marked “no”, it's categorized as a backorder product.

    Products from purchase orders that don't meet these criteria won't be listed in HotWax Commerce's pre-order catalog. It's important to ensure that purchase order items adhere to these criteria for accurate listing.

    Moreover, this job also manages the removal of pre-sell items from the pre-order/backorder category in HotWax Commerce under specific circumstances:

    • When all future inventory pre-orders are received.

    • When the Purchase Order status changes to “Canceled” or “Completed”.

    • Upon physical receipt of inventory at the fulfillment center.

    • When the Purchase Order arrival date (promised fulfillment date) has passed.

    For more comprehensive details, read our

    You can schedule the job by accessing the Job Manager App > Pre-order page and selecting the checkbox next to the Auto refresh pre-sell catalog job name.

    Jobs for Synchronizing the Pre-Order Catalog with eCommerce

    To schedule the job, Merchandisers navigate to the Job Manager > Pre Orders page, where they can schedule the presell catalog sync by checking the box next to Sync variant details. This job facilitates updates to the Presell catalog on Shopify, working through these steps:

    1. HotWax Commerce generates a GraphQL file encapsulating all pre-order-related changes, including promised delivery dates, product categories, and statuses. This file is placed in an SFTP location.

    2. Shopify processes these GraphQL files in sequence from the SFTP location to execute the required updates. However, for multiple sequential GraphQL file uploads, Shopify doesn’t fetch the next file automatically. To initiate processing for the subsequent files, Merchandisers should schedule Process Upload jobs in HotWax Commerce through the following steps:

    • Navigate to Job Manager > Initial Load > Process uploads card.

    • Activate the File Upload Status job, which monitors file processing and potential errors via the Shopify webhook.

    • Schedule the Upload Pending Process

    • After confirming the activation of Process Upload jobs, Merchandisers can schedule the presell catalog sync job. To delve deeper into understanding how pre-orders are listed on Shopify, comprehensive insights are available in our

    Upon listing all products on Shopify, it's crucial to appropriately tag them with HC: Pre-order or HC: Backorder. This tagging process is easily managed by enabling the checkbox for the Add pre-order tags and Add backorder tags jobs, running every 15 minutes. These jobs utilize the pre-order category in the meta fields to add the suitable tag to the parent product on Shopify.

    The HotWax Commerce Pre-order PDP app employs tags and meta fields to modify the Add to Cart button and display the expected delivery date on Shopify PDP. Products labeled with HC: Pre-order tags will alter the Add to Cart button to Pre-Order, while those with HC: Backorder tags will display Backorder.

    Likewise, it's essential to schedule the Remove pre-order tags and Remove backorder tags jobs to eliminate the HC: Pre-order and HC: Backorder tags when a product is removed from the pre-order catalog.

    Update Pre-Order Category Item Arrival Date

    The Sync Variant Details job ensure that if there is any change in the purchase order arrival date the promise dates of the product is also updated on Shopify. However, when there are changes in the arrival dates of the multiple items in the purchase orders, the promise dates need to be first updated in HotWax Commerce pre-sell category. These changes happen through Update Pre-Order Category Item Arrival Date job which creates a file and process all the updated date changes in HotWax Commerce category, after this the Sync Variant Details updates the changes on Shopify.

    Jobs for Sales Orders with Pre-Order Items

    Ensuring accurate representation of pre-order information and changes in customer sales orders post their e-commerce purchase is crucial. While pre-orders are downloaded alongside regular orders, specific notes are included in these sales orders for easy identification of pre-orders. Here are the various jobs that can be scheduled in HotWax Commerce for managing sales orders with pre-order items:

    Add Pre-order/Backorder Tags- These jobs assign pre-order/backorder tags to orders containing pre-selling items. This simplifies identification for the operations team. The job is scheduled by selecting the respective checkbox against the Add Pre-Order Tag or Add Backorder Tag.

    Add Promise Date- Adding promise dates to sales orders, mirroring the dates provided to customers upon order placement. This job, when activated via checkbox, appends promise date notes to sales orders.

    Update Promise Date- In cases where promise dates change due to shifts in the arrival date of purchase orders, updates to the promise dates in sales orders are necessary. The update promise date job update the promise date notes of the sales orders.

    Adjust ATP on Early PO in Bulk– Merchandisers frequently handle multiple Purchase Orders for identical SKUs. Sometimes, they might upload a new Purchase Order with an earlier promised date, even if there's an existing Purchase Order for the same SKU in the system. In such cases, reallocating sales orders from the initial Purchase Order to the latest one with an earlier date becomes vital. This ensures that customers who placed pre-orders first are given priority, guaranteeing timely delivery. The task automatically adjusts Purchase Order ATP allocations and reallocates pre-orders accordingly. To schedule this, enable and set up the Adjust ATP on Early PO in Bulk job found in the More Jobs section.

    Auto Sync Date to order- Merchants can change the promise dates in sales orders if there are any changes in the promise date due to arrival date changes in Purchase order through this job. This job can be scheduled by checking the box against the file name.

    Email Customers- To efficiently manage customer expectations regarding changes in promised dates, activating the Email customers checkbox initiates a job that triggers automatic emails to customers. This action ensures customers are informed whenever there's a modification in the promised date.

    Release Pre-Orders

    Learn how HC automatically handles the release and brokering of Shopify Pre-Orders, with the option for manual release preferred by merchants managing both physical stores and eCommerce platforms.

    HotWax Commerce automatically handles the release and brokering of Shopify Pre-Orders, ensuring fulfillment from the most suitable location without requiring manual intervention. However, for merchandisers seeking greater control over online Pre-Order inventory, manual release becomes preferable over automatic processing. This preference often emerges among merchants managing both physical stores and eCommerce platforms. They opt for manual release to prevent allocating all available inventory solely to online Pre-Orders, reserving a portion for their physical stores instead.

    Automatic Release

    HotWax Commerce strategically organizes all pre-orders in a dedicated queue until their physical inventory is received. This approach ensures that brokering processes are not initiated for orders lacking available inventory. Once the pre-order inventory arrives, HotWax Commerce transfers all orders from the pre-order queue to the brokering queue. This allows the system's engine to efficiently match the most suitable inventory with specific orders for fulfillment. To accommodate diverse retailer preferences, HotWax Commerce offers two methods for automatically releasing Pre-Orders:

    1. Daily Job: Merchandisers can schedule this job through the Job Manager App > Pre-Order Page by enabling the Run Daily checkbox in the auto-releasing card. This automated process releases pre-orders where the shipping date has arrived and inventory is available for release.

    2. Immediate Release: This method doesn't require scheduling. Merchandisers can trigger instant release by clicking the release button associated with the Release Pre-orders job name. This action promptly releases all pre-orders in the queue, facilitating their allocation to the respective fulfillment locations.

    Manual Release

    Manual release grants merchants precise control over order releases, allowing merchandisers to release pre-orders either by product or by order.

    Releasing by Products

    When merchants opt to release Pre-Orders By Product, they gain control over available product inventory allocation. Merchants can determine the number of Pre-Orders they wish to release for online orders and how much inventory to reserve for their physical stores. For instance, if 100 units of inventory are received for 100 pre-orders, a retailer might choose to release 80 units for 80 pre-orders online and retain the remaining 20 units for in-store customers. The pending 20 pre-orders can be fulfilled using subsequent inventory from future purchase orders.

    Here's the process for releasing pre-orders by products:

    1. Navigate to the Product page in the Pre-Order App.

    2. Search for the desired product by Product name or Product ID.

    3. Merchandisers can view the badges displaying quantities of pre-orders, available stock, and orders in the brokering queue for that product.

    1. Merchandisers can also cancel a specific quantity of pre-orders by clicking on the cancel button.

    Releasing by Orders

    When merchants specifically aim to release a particular customer's Pre-Order, they have the option to release it By Order.

    This method becomes valuable when a customer requests expedited delivery, and if the On-Order inventory has been received. Opting for the By Order release method allows the merchant to choose that specific order and release it earlier than its estimated ship date. This action caters to meeting the customer’s delivery expectations promptly. Instead of releasing all Pre-Orders together on the estimated ship date, a merchant can prioritize the fulfillment of a particular Pre-Order. Here are the steps to release pre-orders by orders:

    1. Navigate to the Orders Page in the Pre-Order App.

    2. Search for specific orders using order ID, product name, style name, SKU customer name, UPCA, or external ID from the search bar.

    3. Merchandisers can utilize filters for orders, such as:

    • Order After Date: Lists all orders after the specified date.

    • Order Before Date: Lists all orders before the specified date.

    • Promised After Date: Lists orders with a promised date after a specific date.

    • Promise Before Date: Lists orders before a specific promise date.

    1. Once orders are filtered, merchandisers can select multiple orders or use the options icon on individual orders to perform actions like:

    • Release: Initiate orders for brokering and fulfillment.

    • Release to a warehouse: Release the pre-order to a specified location for fulfillment.

    • Edit Promise date: Set a new promise date for these orders, which will be used for inventory allocation and order fulfillment.

    • Cancel: Cancel all selected orders with the cancel button available at the bottom right.

    View Order Details

    The comprehensive Order View Page within HotWax Commerce enhances user efficiency and facilitates streamlined order management. This page consolidates all essential information related to an order, providing users with a holistic view that encompasses key details such as billing and shipping information, order identification, payment terms, preferences, timelines, references, communications, and a detailed list of items. To access the order view page, simply click on the order ID on the find sales order page to view comprehensive details about the order.

    HotWax Commerce offers the following features on the Order View Page:

    Overview Section

    The overview section contains essential information related to billing and order processing. Here's a summary of each element:

    1. Bill To (To-Customer): Indicates the customer who will be billed for the order.

    2. Bill From (Company, Channel, Product Store): Specifies the origin details, including the company, sales channel, and product store associated with the transaction.

    3. Status: Reflects the current status of the order, providing insights into its progress or completion.

    4. Order Date: Records the date when the order was placed or initiated.

    This information provides a comprehensive overview of an order, facilitating effective management and customization of billing details.

    Order Identifications

    The Order Identifications section displays key information related to Shopify orders. The four main components of this section are:

    1. Shopify Order ID:

      • This is a unique identifier assigned by Shopify to each order. It serves as a reference point for tracking and managing orders within the Shopify platform. Additionally, users can conveniently view the order details directly on Shopify by clicking on the provided link associated with the Shopify order ID.

    2. Shopify Order Name:

    Payment Section

    In the Payments Section, users can easily view the payment method and total payment value made by customers on the e-commerce platform. This data is then transmitted to the ERP system. Particularly for cash on delivery orders, this information is vital as store associates need to collect payment during fulfillment.

    Order Timeline

    The timeline illustrates the progression of events from the initial order decision to the completion of the transaction, including the involvement of a broker as an intermediary. Here's a brief description of each term:

    1. Order Date:

      • The date and time when the customer made a purchase.

    2. Entry Date:

      • The date and time when the order information was officially recorded into HotWax Commerce.

    For Example:

    Event
    Date and Time

    References

    In the HotWax Commerce platform, the Reference Section offers a centralized hub for users to access critical information related to picklist status, packing details, shipment information, and returns details. This feature provides quick and easy access to essential data. Users can click on the relevant item such as return ID, picklist ID, etc. to access the order details. Users can see the following details in this section:

    • Click on the Picklist Status link to view the current status of picklists associated with orders.

    • Click on the Packing Details link to view information regarding the packing process for orders. This includes details such as items packed, and any special instructions.

    • Click on the Shipment Information link to access data related to order shipments. This may include tracking numbers, carrier information, and expected delivery dates.

    Communications

    The Communications feature in the HotWax Commerce platform acts as a central hub for users to interact with both the internal team and customers, providing updates on orders. With the capability to add notes and send personalized emails directly from this interface, users can efficiently communicate important updates or notifications to internal teams or customers. Whether it's informing customers about order changes, cancellations, or backorder notifications, or adding notes for the fulfillment team, this feature simplifies communication processes, minimizing misunderstandings and improving overall order management efficiency.

    Click on the communication and select either email or notes to start the communication.

    Bulk Upload

    The bulk upload feature makes it easy to create multiple cycle counts at once using a CSV file. Instead of entering products one by one, you can upload a formatted file, and the system will generate the corresponding cycle counts automatically. This is especially useful when working with large product lists.

    To begin, go to the Cycle Count app and select Bulk upload.

    On this page, you can:

    • Download a sample CSV template

    • Use or create saved field mappings

    • Upload new CSV files

    • Review past uploads and track their status

    Required permissions

    Access to the bulk upload feature requires the COMMON_ADMIN or INV_COUNT_ADMIN permission.

    Steps to create a cycle count using bulk upload

    Before uploading, download a sample CSV to ensure the format and data align with required fields. Using the sample file helps prevent mapping errors during the upload process.

    1. Upload a CSV file

    • Click Upload and select a CSV file from your device.

    • Once the file is uploaded, previously disabled controls on the screen become active.

    1. Map CSV fields

    After uploading your CSV, map each column to the correct system field so values like SKU, facility, or date are interpreted correctly. If unsure, check the table below to avoid errors and create your cycle count accurately.

    Field name
    Meaning
    How to get the right value
    1. Submit the upload

    • After mapping successfully, click Submit to begin processing.

    Recently uploaded counts

    Below the Submit button, you’ll find the recently uploaded counts section. This displays all bulk uploads along with their processing status.

    Each record includes:

    • Uploaded file name

    • System-generated uploaded cycle count ID

    • Status

    • Action menu (three dots), where users can view details or cancel uploads still in Pending status

    File status indicators

    Status
    Description

    Once processing is complete, the cycle counts from the bulk upload appear under the Assigned tab in the Cycle Count app. Store teams can then begin execution.

    Inventory Upload

    Effortlessly upload bulk inventory data, map fields, and identify errors for seamless integration, even with legacy systems lacking API integration.

    The HotWax Commerce Import App enables bulk updates to inventory, especially when dealing with legacy systems that lack API-based integration. This app eliminates the need for manual editing of CSV formats. Merchandisers can efficiently upload CSV files, map CSV fields directly, and identify errors before finalizing the upload.

    Step-by-Step Guide: Updating Inventory in Bulk through CSV File

    1. Access the Import App:

      • Locate the HotWax Commerce Import app in the app launchpad. Log in with your user credentials.

    2. Navigating to Inventory Page:

      • Within the Import app, the default page opened is the Purchase Order page. Navigate to the Inventory page from the left menu.

    Only users with Super or Admin user permissions can access the inventory page in the Inventory App.

    1. Uploading CSV File with Saved Mappings:

      • Click on the upload button and select the preferred CSV file.

    2. Mapping Fields and Identifying Errors:

    Shopify Product SKU field is the default product identifier but users can choose the preferred product identifier from the options in the dropdown menu. HotWax Commerce supports the following product identifiers.

    Field
    Description
    1. Saving Custom CSV Mappings:

      • Save custom CSV mappings directly within the Import App for future use by clicking on the New Mappings Button.

      • In the future, you can utilize the saved mappings within the Import App to expedite the process of mapping.

    Once the inventory is updated you can verify whether the inventory is accurately reflected in HotWax Commerce.

    • Confirm the updated inventory by going to the Product page in your OMS instance.

    • Find the product SKU by utilizing the search bar. You can also search for products using the product name or HotWax Commerce ID.

    • Navigate to the Product Details page by clicking on the product.

    Please ensure that all the products are synchronized in HotWax Commerce from e-commerce. If a product does not exist in HotWax Commerce, the corresponding records will not be processed.

    Update Sales Orders

    Discover how sales orders are updated in HotWax Commerce OMS.

    To perform the order allocation tasks, we first navigate to the View Sales Order page:

    1. Go to the Hamburger Menu in the OMS > Order Management section > Sales Orders to open the Find Sales Order page.

    2. Search for the order ID for which you want to update the order details.

    3. Select the order ID to open the View Sales Order page.

    Update Shipping details

    Users can easily access and review the shipping details associated with orders. This includes shipping address, communication details, shipping method, estimated delivery date, and tracking details.

    Edit function is available only for approved orders.

    Details need to be updated for each shipgroup of an order.

    Here's how you can update shipping address for the order:

    Updating Shipping Address:

    • Click on the Edit function available for the order.

    • Fill in the required shipping details that needs to be changed in the form provided.

    • Save the changes by clicking on the save button

    Updating Shipping Method:

    • Within the order, locate the shipping method section.

    • Click on the Edit function next to the current shipping method.

    • Choose the desired shipping method from the provided list.

    • Save the changes.

    Users only change the shipping method directly for orders in the brokering queue. If inventory has already been allocated to the order, users need to reject the item from the store, update the shipping method, and then broker the order again.


    Cancel Sales Order

    Orders can only be canceled in HotWax Commerce when they are in the created state. Additionally, it's important to note that the sales orders canceled on HotWax Commerce are not automatically updated on Shopify. Therefore, it is recommended for users to cancel orders directly on Shopify for seamless synchronization and accurate order status across platforms. Cancelling a sales order will automatically cancel all other sales order items in the order.

    Cancellation Process:

    1. Select the required order to open the Sales Order Detail page.

    2. Click the Status dropdown located at the top left of the page.

    3. Select the Cancel function to cancel the entire sales order.


    Cancel Sales Order Items

    1. Once the View Sales Order page is open, scroll down to locate the Item section. This section displays all items included in the selected order.

    2. Within the Item section, locate and click on the Edit Items function. This action will enable editing options for the items within the order.

    3. Identify the line item/s that need to be canceled due to inability to fulfill and click on the Delete function next to each respective item.


    Refresh Sales Order

    Refreshing sales order allows retailers to reimport a sales order from Shopify to HotWax Commerce. Refreshing is required if an order update in Shopify is not included in the sync order update job.

    HotWax Commerce can update the following details from Shopify:

    1. Adding items to an order

    2. Removing items from an order

    3. Changing item quantities

    4. Changing shipping addresses

    Step-by-Step Usage Instructions

    Verification at Shopify:

    1. Log in to the Shopify admin portal.

    2. Locate the specific order that requires updates.

    3. Review the order details to verify any changes or make necessary updates, such as adding/removing items, adjusting quantities, or modifying customer and shipping information.

    4. Once verified or updated, ensure to save the changes within Shopify.

    Refresh Order in HotWax Commerce:

    1. Return to the HotWax Commerce platform and access the order view page for the corresponding order.

    2. Locate and click on the "Refresh Order" button available in the header section of the order view page.

    3. After refreshing, verify that the order status and item status are updated accordingly. This may involve checking for any cancellations or changes in item availability.

    4. Go back to the Sales Order Find Page and select "Approved" and "Canceled" statuses from the order status filter dropdown.

    The existing orders get canceled with the Old Version tag. A new Order with the same order ID gets created with updated items in HotWax Commerce. The updated information will be reflected in the item section on the sales order detail page.

    Allow Splitting

    Splitting an order into separate shipments for fulfillment across multiple locations occurs when all items are not available at a single facility. The order splitting settings on the order view page is shown as per the product store settings. However, if the CSR team want to split a specific order, they can click on the checkbox against the allow splitting function.

    Add Gift Message

    CSR teams can manually input personalized messages on behalf of customers upon request. These gift messages can be added along with the order at the time of fulfillment by the store associates by clicking on the Add Buttion against the gift message

    Add Handling instructions

    Any special instructions or handling requirements associated with the items in the group can be added by clicking on the Add button against Handling instruct. The handling instructions added here will be visible in the fulfillment app for store associates

    Add Ship By and Ship After Date

    Ship By specifies the date by which the items should be shipped to ensure timely delivery, while Ship After indicates the date after which the items need to be shipped. Both Ship By and Ship After details can only be added upon customers' requests.

    Pre-Orders

    Learn about the Pre-Order job in HotWax Commerce.

    Jobs for Pre-Order Catalog Management in HotWax Commerce

    Frequency for Pre-Order Jobs

    All Pre-order jobs have a defined frequency of 15 minutes by default which can be modified and adjusted at any point of time as per the requirement. The user may have various options to modify the job, such as altering the run time, adjusting the frequency, and adding custom parameters if required, or can also cancel the job to reduce system load. Users can follow the given steps to execute any changes in the existing jobs to update the runtime and the scheduled frequency of the job whenever required.

    Runtime: Time at which a job is scheduled particularly. Scheduled Frequency: A time duration for repeated occurrence.

    1. Go to the Pipeline and search for the Job, by job name or related keyword.

    2. Click on the Job Card to refer to the job detailed view.

    3. Select the runtime function dropdown to change the run time from the dropdown or make custom changes.

    4. Or change the scheduled frequency by choosing it from the dropdown or make a custom requirement.


    Auto Refresh Pre-Sell Catalog

    Job Name: Auto Refresh Pre-Sell Catalog Job Enum Id: JOB_PREORDER_CAT_SYNC Service Name: uploadPreorderCatalogToShopify Flow: Catalog Update to Shopify

    A product is eligible for pre-order only if:

    • PO ATP is greater than 0: This means there is incoming stock confirmed through a Purchase Order.

    • Current ATP is less than or equal to 0: This means that the current ATP of the product should be 0 only then the product will be eligible for Pre-order.

    Retailers organize products into different catalogs for better segregation, including a dedicated catalog for pre-order items. The Auto Refresh Pre-Sell Catalog job adds or removes products from the pre-order catalog based on their eligibility criteria for pre-orders.

    Note: This job is specifically for OMS and is used to maintain the pre-order catalog. However, there are separate jobs that sync the same products as pre-orders on Shopify


    Pre-Sell on Shopify

    All jobs in this category synchronize changes and updates from HotWax to Shopify.

    Products

    Note: HotWax and Shopify both maintain product details. The jobs listed in the product section below are used to sync product level changes and updates from HotWax to Shopify.

    Sync Variant Details

    When a product becomes eligible for pre-order in OMS, it is responsible for syncing the updated product details to Shopify. Only after this synchronization can Shopify accept pre-orders or backorders for that product. The Sync Variant Details job is used to sync meta-fields (like promise date, etc) of pre-order/backorder-eligible products from HotWax to Shopify.

    Other jobs, such as Add Promise Date and Update Sales Order Item Promise Date, must be scheduled in HotWax to ensure accurate synchronization of updated promise dates with Shopify. These jobs are discussed in detail later in this document.


    Add Pre-Order Tags

    This job is used to apply tags on products that are eligible for pre-order in HotWax product catalog, to products in Shopify. For example, if Product A is eligible for pre-order in HotWax, the Add Pre-Order Tags job is used to apply the pre-order tag in Shopify, ensuring integrity between both systems.

    Internally, when this job is toggled on, HotWax makes a POST API call to Shopify and enables the Continue selling when out of stock toggle in Shopify. This ultimately allows the product to be available for pre-order in Shopify.


    Remove Pre Order Tags

    This job is used to remove pre-order tags on products in Shopify. For example, if Product A is now in-stock and considered as a normal product. the Remove Pre-Order Tags job is used to remove the pre-order tag in Shopify, ensuring integrity between both systems.

    Internally,Remove Pre-Order Tags functions in a similar way to the Add Pre-Order Tags job only difference being that in the POST API call this job disables the Continue selling when out of stock toggle in Shopify.


    Add Back Order tags

    This job is used to sync products that are eligible for back-order in HotWax with Shopify. For example, if Product A is eligible for back-order in HotWax, the Add Back Order Tags job is used to apply the back order tag in Shopify, ensuring integrity between both systems.

    Internally, when this job is toggled on, HotWax makes a POST API call to Shopify and enables the Continue selling when out of stock toggle in Shopify. This ultimately allows the product to be available for back order in Shopify.


    Remove Back Order tags

    This job is used to remove back order tags on products in Shopify. For example, if Product A is now in-stock and considered as a normal product. the Remove Back Order Tags job is used to remove the pre-order tag in Shopify, ensuring integrity between both systems.

    Internally,Remove Back Order Tags functions in a similar way to the Add Back Order Tags job only difference being that in the POST API call this job disables the Continue selling when out of stock toggle in Shopify.


    Orders

    Note: The jobs listed in the order section below are used to sync Order level changes and updates from HotWax to Shopify.

    Add Pre-Order Tags

    This job applies pre-order tags to orders. For example, if a customer places an order with three items—two pre-order products and one regular product—HotWax identifies orders that contain pre-order items and tags the entire order in Shopify.

    Internally, when this job is toggled onn HotWax makes a post API call to Shopify and add tags on all orders which contains pre-order items.


    Add Back Order Tags

    This job applies back order tags to orders. For example, if a customer places an order with three items—two back order products and one regular product—HotWax identifies orders that contain back order items and tags the entire order in Shopify.

    Internally, when this job is toggled onn HotWax makes a post API call to Shopify and add tags on all order in Shopify which containing back order items.


    Add Promise Date

    When an order is placed containing a pre-order or back order items, HotWax identifies it and add the promise date in Shopify as a note on Order Level. This job is used to apply promise date to orders in Shopify.


    Update Promise Date

    When the estimated promise date on a purchase order changes, it's important to inform customers about updates to their orders linked to that inventory. The "Update Promise Date" job updates the promise date of order note in Shopify.

    Internally, through this job HotWax sends an post API call on Shopify and change the promise date on the of order note on Shopify. However, there are different jobs in HotWax which triggers notification to the customers.


    Auto Releasing

    Run Daily

    Job Name: Release pre-orders and back orders Job Enum ID: JOB_RLS_ORD_DTE Service Name: checkPreOrderItemForRelease

    After the promise date is passed, this job is used to push orders for brokering. HotWax maintains dedicated parking for pre-orders and backorders, ensuring they are managed separately. All such orders remain in this parking until they are ready for fulfillment. The "Run Daily" job runs once a day, checking the pre-order and backorder parking for orders with passed promise date and releasing them for brokering.


    More Jobs

    Update Sales Order Item Promise Date

    Job Name: Update Sales Order Item Promise Date Job Enum ID: JOB_UL_PRMS_DTE Service Name: pushPromiseDateChangedNotes

    When a customer places a pre-order, they are given a promised delivery date based on the estimated arrival of the associated purchase order. If this estimated arrival date changes, the promised delivery date for existing orders must be updated accordingly. This adjustment is handled by the Update Sales Order Item Promise Date job.

    Note: This job updates the promise date specifically in OMS. However, other jobs are responsible for syncing the updated promise date to external systems.

    Custom Parameters

    • No required parameter for this job.

    • productStoreIds is the optional parameters for this job.

    Fulfillment

    Learn about the Fulfillment jobs in HotWax Commerce.

    Ship Packed Orders

    Job Name : Ship Packed Orders Job Enum ID: JOB_SHIP_ORD_PKD Service Name : shipPackedOrders Flow : Order Fulfillment in HotWax

    The Ship Packed Orders job in HotWax's Fulfillment App updates order status from packed to shipped. Store associates mark an order as shipped by tapping the "Shipped" button. However, in some cases, failing to tap the button results in incomplete fulfillment.

    Breaking Variants Into Independent Products

    In Shopify, a parent product may have multiple variants defined by the combination of different features—say, different combinations of sizes and colors. The user can decide to break these combinations into separate products in a manner as described below:

    Initial Product Setup

    • Parent Product: HC Shoe

  • External ID: Identifier for external system.

  • Subtotal: Displays the total cost of items or services before additional adjustments.

  • Total: The overall cost of the order, which can be manually adjusted for discounts, promotions, replacements, and taxes.

  • The order name in Shopify typically refers to a customizable name or title assigned to an order on Shopify for further order identification.
  • Shopify Order Number:

    • Shopify assigns a distinct numerical identifier to each order. It acts as another unique reference for orders, often used in communication and documentation.

  • Order Attributes:

    • Shopify retailers can capture additional crucial order details through metafields. Once customer IDs are verified, they are stored as order metafields in Shopify. When HotWax Commerce enters a retailer’s Shopify ecosystem, it becomes the source of truth for all order-related information. HotWax Commerce downloads order details along with customers’ IDs as order attributes and shares this information with the retailer's accounting system. All downloaded order attributes are visible under this section.

    • Users can also add Order Attributes by clicking the Add Order Attribute + button which will open up a new form. Add the attribute name, value and description and click on the Add button to save the order attribute. This function is vital if there are some issue in importing order attributes such as metafield being added after the order has been imported in HotWax Commerce.

  • First Brokered:

    • The first brokered refers to the initial timestamp when an item is allocated to a specific facility. This timestamp remains unchanged even if the item is subsequently rejected by the facility and redirected elsewhere. It serves as a fixed reference point for tracking the item's movement history within the system.

  • Completed Date:

    • The date and time when the order was fulfilled, and the goods or services were delivered or made available to the buyer.

  • Click on the Returns Details section to review information about product returns initiated by customers for this order and the status of the return.

    Order Date

    03-08-2024 06:07 PM

    Entry Date

    03-08-2024 06:13 PM

    First Brokered

    03-09-2024 01:00 AM

    Completed Date

    03-11-2024 03:16 PM

    Ensure to save the changes.

  • Users can add custom parameters to the jobs and schedule them accordingly.

  • Users can also “Skip” or “Cancel” the jobs from the same job detailed card.

  • externalFacilityId

    External ID of the facility to which the count will be assigned.

    Find this in the Facilities app under the external mappings section.

    estimatedCompletionDate

    Due date by which the count should be completed.

    Format: MM-DD-YYYY.

    estimatedStartDate

    Date the cycle count is allowed to begin.

    Format: MM-DD-YYYY.

    countImportName

    Unique name used to identify the cycle count and differentiate multiple uploads.

    Use a meaningful naming format such as Count-Jan-Store12 or CycleCount-W1. Avoid duplicates so tracking stays clean.

    purposeType

    Type of cycle count being created.

    Choose based on the count type: HARD_COUNT for a full physical count; DIRECTED_COUNT for a targeted or partial inventory count.

    idType

    How the product will be identified in the system (for example, SKU, UPCA).

    Check which identifier your system uses as the primary key.

    idValue

    The product value based on the idType selected.

    Pending

    The file is currently being processed.

    Processed

    The system successfully created the respective cycle counts.

    Cancelled

    The upload was cancelled before completion.

    Error

    The file encountered an error during import. Resolve it by reviewing the error description in the modal.

    If you select SKU in idType, then idValue must contain product SKUs.

    button to access the Product Inventory View Page, offering comprehensive inventory information for the selected product.
    Review these logs to track inventory movements, monitor changes, and identify any discrepancies or trends.
  • If you want to view inventory details for a specific facility, use the facility dropdown menu to select the desired facility.

  • You can click on the Inventory Item ID available in the records to view the complete breakdown of when and where the inventory is received.

  • From the dropdown menu, choose the relevant reasons for the inventory variance. This could include factors such as damaged goods, discrepancies in shipment, or theft.
  • After confirming all details are accurate, click the Save button to record the variance in the system.

  • here

    High-Priority Orders: For orders requiring same-day, next-day, or two-day delivery, setting a frequency of the brokering run to every 5 minutes can quickly allocate inventory to this order batch and meet urgent fulfillment deadlines.

  • Medium-Priority Orders: For orders on standard deliveries, a separate brokering run with a 6-hour interval can balance routine order routing with the available resources.

  • Seasonal run adjustments: During peak seasons, like holidays, retailers can activate a dedicated high-frequency brokering run to handle increased order volumes. For example, a run set to every 5 minutes for all orders that can remain in draft mode on regular days but be activated to handle seasonal surges.

  • For example, if there is a single brokering run "Everyday order routing", you can write: “Hourly routing for all online orders” or if the run focuses on urgent orders, you can write: “Prioritized routing for same-day, next-day, and two-day delivery orders.”

    Run Every 15 Minutes Between 6 AM and 6 PM

    */15 6-18 * * *

    Triggers the brokering run every 15 minutes from 6 AM to 6 PM.

    Run Every 5 Minutes

    */5 * * * *

    Triggers the brokering run every 5 minutes throughout the day.

    Run Every Hour

    0 * * * *

    Triggers the brokering run every hour throughout the day.

    Run Every Hour Between 8 AM and 2 PM

    0 8-14 * * *

    Triggers the brokering run at the top of every hour, between 8 AM and 2 PM.

    Run Every Day at 7 AM

    0 7 * * *

    routing rules
    product stores
    routings
    Initiate a New Run
    Single Brokering Run
    Multiple Brokering Runs
    Brokering Run Description
    Schedule Brokering Run

    Triggers the brokering run every day at 7 AM.

    job to prompt Shopify for the next GraphQL file upon receiving
    Upload
    Status updates.
    shopify integration page.
    Shopify Pre-order integration guide.
    Process Upload
    Sales order jobs
    Adjust ATP on Early PO in Bulk
    Update Promise date changes to customers
    To release a specific quantity, merchandisers can input the desired quantity in the Pieces field. Alternatively, to release all pre-ordered quantities, simply click on the badge to insert the total quantity at once.
  • Finally, click on the release button at the bottom of the page to release the ordered quantities from the pre-order queue to the brokering queue for fulfillment.

  • Merchandisers can also select the Release to the Warehouse button to specify the location for brokering. This action bypasses the brokering queue and directly releases the order from the pre-order queue to the warehouse for fulfillment.

  • Loyalty Status: Filters orders based on loyalty status awarded to customers based on their purchase history.

    Pre-order Automatic release
    Map CSV file fields with corresponding HotWax Commerce fields.
  • The following fields need to be mapped in HotWax Commerce:

    Field
    Description

    Shopify Product SKU

    The unique product identifier used by Shopify.

    Quantity

    Represents the updated inventory count for the product.

    Facility ID

    Identifies the specific facility associated with the product.

  • UPCA

    Universal Product Code is the unique barcode of the product

    Reviewing Inventory:
    • Click on the Review button to inspect and verify all mapped inventory updates.

    • This will open an Inventory review page where you can ensure data accuracy and completeness before finalizing.

  • Handling Missing Facilities:

    • Merchandisers sometimes make errors in their CSV files when creating them. For example, if the CSV file has "Time Square" as the facility name instead of "Times Square" it can cause an error when updating inventory. If any missing facilities or errors are detected during the process, click on Missing Facilities.

    • This will open up a new module where you can rectify the mistake by specifying the accurate facility.

    • Click on the Save icon to save and rectify the facility.

  • Finalizing Update:

    • Once you have verified all the items, proceed by clicking on the Upload icon.

    • This will open up a confirmation module; confirm inventory upload by clicking on the Upload Button.

    • You will get a success message indicating that the inventory has been updated successfully.

  • Item Inventory Verification:

  • Click on the View Inventory button to open the Product Inventory View page of that product.
  • Here you will be able to verify the inventory changes under the Inventory Items section.

  • Shopify Product SKU

    The Stock Keeping Unit number assigned to products

    Product ERP ID

    Unique identifier of the product in the ERP system

    GTIN

    Global Trade Item Number is an identifier for trade items

    ISBN

    International Standard Book Number (ISBN) is a numeric commercial book identifier

    Manufacturer (Model) Number

    Unique number issued by manufacturers to identify individual products

    Shopify Product ID

    Unique product identifier on Shopify

  • After deleting the unwanted items, ensure to click on the Save function to apply the changes to the order.

  • Changing customer contact detail
  • Change in Order Fulfillment Status

  • Review the refreshed order details to ensure that the updates from Shopify have been successfully synchronized with HotWax Commerce.

    This job is generally scheduled to run at midnight and marks all the orders in the packed status as updated to shipped. Retailers generally assume that once the carrier has arrived, it is highly likely that all packed orders have been shipped.

    No custom parameters for this job


    History

    Order Fulfillment History

    Job Name: Order Fulfillment History Job Enum ID: JOB_ORD_FLMNT_HST Service Name: ftpImportFile Flow: Order Fulfillment in HotWax

    HotWax and Shopify both maintain order fulfillment statuses. A Moqui job in HotWax ensures system integrity by synchronizing order fulfillment history between the two platforms. This job ensures that any orders marked as fulfilled in Shopify are also updated as fulfilled in HotWax, maintaining consistency across systems.

    How does this job work? HotWax sends an API request to Shopify to provide all the orders fulfilled from the last job run until the current timestamp. In response to this request, Shopify provides a JSON file that is imported by the ‘Order Fulfillment History’ job in HotWax and uploaded to MDM_UPD_ORD_FMNT_HST in MDM. From there, the Process Bulk Import Files job runs, and the fulfilled status is marked.

    Custom Parameters

    • The recommended frequency for this job is 15 minutes.

    • This job has configId and propertyResource as the required parameters.

    • It has some optional parameters.


    Notification

    Open BOPIS Order Notification

    Job Name: Open BOPIS Order Notification Job Enum ID: JOB_OPN_BOPIS_ORD_NT Service Name: sendOpenBopisOrderNotification Flow: Order Fulfillment from HotWax

    This job is used for notifying store associates of the open BOPIS orders allocated to their store. Basically, when a BOPIS order is allocated to a store, it is generally expected that the BOPIS order must be catered to as soon as possible. So it is important to get notified for BOPIS orders when they are allocated to stores.

    How are stores notified?

    Basically, this job checks all the BOPIS orders placed between the timeframe of the last job run and the current timestamp. And sends push notifications on the BOPIS App for the respective stores.

    It is important to note that if this job is not scheduled, stores will not be notified about BOPIS orders allocated to them.

    Custom Parameters

    • There are no custom parameters for this job.

    • The recommended frequency for this job in 15 minutes.


    Ready to Pick BOPIS order Notification

    Job Name: Ready to Pick BOPIS Order Notification Job Enum ID: JOB_RP_BOPIS_ORD_NT Service Name: sendOrderNotification Flow: Order Fulfillment from HotWax

    This job is used for notifying customers when their BOPIS order is ready for pickup. Basically, when a store associate fulfills a BOPIS order and clicks the 'READY FOR PICKUP` button, this job internally triggers marketing platforms (like Klaviyo) to automate the notification process.

    Custom Parameters

    • The recommended frequency for this job is 15 minutes.

    • This job has topicEnum Id as required Parameter.


    Open Shipping Order Notification

    Job Name: Open Shipping Order Notification Job Enum ID: JOB_OPEN_SHIP_ORD_NT Service Name: sendOrderNotification Flow: Order Fulfillment from HotWax

    This job is used for notifying store associates of the open shipping orders allocated to their store. Basically, when an order is allocated to a store, it is generally expected that the order must be catered as soon as possible. So it is important to get notified for orders when they are allocated to stores.

    How Are Stores Notified? The Open Shipping Order Notification job fetches all those orders created in HotWax ‘topicEnum Id’ within the timeframe of the last job run to the current timestamp. It then sends a push notification to the relevant stores about these orders.

    Custom Parameters

    The recommended frequency for this job is 15 minutes. This job has topicEnum Id as required Parameter


    Auto cancellations

    Job name: Auto cancellations Service: autoCancelOrderItems Flow: Auto Cancellation From HotWax

    HotWax Commerce facilitates retailers to set an auto cancellation date on orders that are unfulfilled. The Check Daily toggle on the job card enables the job, and also the operations team can set the days in which the order will get auto-cancelled.

    How does cancellation flow work? Basically, this job checks for the orders that are in the unfillable parking, and the cancellation date is reached. This job simply changed their status to cancelled in HotWax.

    Note: The cancelled orders will only be synced from HotWax to Shopify only if the Upload Canceled Order job is enabled.


    More Jobs

    Send Packed Order Mail

    Job Name: Bulk Send Packed Order Mail Job Enum id: JOB_PACKED_MAIL_ODR Service Name: bulkSendPackedOrderMail Flow: Order Fulfillment Flow

    This job is used to send email notifications to customers when their orders are in packed status. When an order item is marked as packed in the Fulfillment App, HotWax Commerce communicates the shipment status to the retailer’s marketing platform, notifying customers that their order has been shipped from the facility.

    Customer Parameters

    • This has no required parameters.

    • frequency and emailType is the required parameters


    Packed BOPIS Order Reminder Notification

    Job Name: Send Packed BOPIS Order Reminder Notification Job Enum id: JOB_PCK_ORD_RMDR Service Name: pickReminderAtRegularInterval Flow: Packed Order Notification from HotWax to Klaviyo

    This job is for notifying customers to pick up their BOPIS order after a specified duration from when their order is packed. There can be a scenario when, after a ready-to-pickup email has been sent, the customer has not responded. In such cases, this job is used to trigger marketing platforms (like Klaviyo) to send a reminder email to customers.

    How is the reminder notification sent?

    When the order is marked “Ready for pick up,” it’s moved to packed status and shown in the Packed tab of the BOPIS app. When an order is in packed status for more than 7 days, a reminder pick-up email is sent to the customer. The email trigger request should be sent to Klaviyo every 7th, 14th, and 21st day.

    Custom Parameters

    • This job has no required parameters.

    • The recommended frequency for this job is 15 minutes.

    • It has intervalDays, maxOccourrences, emailType as the optional parameters.


    Notification using communication events

    Job Name: Notification using communication events

    Job Enum ID: JOB_SND_ML_COMM

    Description The Notification Using Communication Events job enables retailers to communicate to internal users by the help of the communication event feature on the view order page. This job ensures that internal teams are promptly alerted to important events for that particular order, facilitating efficient communication within the organization. No custom parameters for this job


    Packed BOPIS Order Reminder Notification

    Job Name: Packed BOPIS Order Reminder Notification

    Description

    The Packed BOPIS Order Reminder Notification job sends a reminder notification to customers informing them that their Buy Online, Pick Up In Store (BOPIS) order has been packed and is ready for pickup. This reminder is sent every 7 days, up to 3 times, ensuring the customer is informed and reminded to collect their order.

    Custom Parameters

    Parameter
    Type
    Description
    Default Value

    intervalDays

    Optional

    Number of days between each reminder

    7

    maxOccurrences

    Optional

    Maximum number of occurrences of the reminder

    3

    emailType

    Optional

    Specific type of email template to use for a notification


    Variants:

    Colour
    Size
    SKU

    Black

    7

    7B

    Black

    8

    8B

    Tan

    7

    7T

    Tan

    8

    8T

    Desired Product Setup

    • Parent Product: HC Shoe

      • Variants:

        Colour
        Size
        SKU

        Black

        7

    • Parent Product: HC Shoe (Tan)

      • Variants:

        Colour
        Size
        SKU

    Here, the user has decided to divide the initial parent product into two, each for a separate color, which are further categorized into variants of different sizes. To successfully sync such edits made in Shopify into HotWax OMS without corrupting data (specifically product duplication), the user must follow the process detailed in this manual.

    Steps to break the variants into separate products

    Step 1: Pause Product Import and Sync Jobs

    • In the Job Manager App, go to the Products section.

    • Pause the following jobs (Learn more):

      • Import Products: imports new products from Shopify.

      • Sync Products: updates existing products from Shopify.

    Step 2: Edit Variants in Shopify

    • Make the required edits in Shopify to separate the variants.

    • Ensure the SKUs for the separated variants remain the same as before the edit.

    Step 3: Unlink Variants in HotWax Admin

    • Open the product page of the variant in HotWax Admin.

    • Scroll to the Shopify Shop Product section on the page.

    • Unlink the existing Shopify Link.

    If the variants are linked to multiple Shopify shops, only unlink them from the specific shop where the edits were made. Keep the links to other shops intact.

    Step 4: Sync changes in the OMS

    • Run the following jobs from the Products section of the Job Manager App

      • Sync Product Job: Run this job to update the old product. (Learn more)

      • Import Products Job: Run this job to create the separated variants as a new product.

      • Re-enable the Sync Product Job. (Learn more)

    Restock Name

    Retailers can give a detailed name to the restock such as SeasonEndSale Restock or use the default date-time restock naming.

    UPCA

    Universal Product Code is the unique barcode of the product.

    Reports

    Discover how HotWax Commerce OMS provides out-of-the-box pre-order reports to monitor and track pre-order operations, ensuring efficient management of all pre-orders.

    HotWax Commerce OMS offers out of the box pre-order reports to help monitor and track your pre-order operations. Putting all of these reports together, retailers can ensure that they're efficiently managing all their pre-orders.

    Hourly ON Pre-Order and OFF Pre-Order Report

    A merchandiser wants to determine which items should be available for Pre-Orders based on purchase orders and the queue of sales orders. They use a Pre-Order Management System to automatically list and delist pre-order products on eCommerce based on multiple rules.

    Technical or operational challenges may prevent products from being available for pre-orders on eCommerce, or vice versa. So merchandisers want to spot-check on products that should be listed or delisted as pre-orders on eCommerce to avoid over-selling or underselling.

    The Hourly ON and OFF Pre-Order Report helps merchandisers quickly identify products that are listed for accepting pre-orders and products that are recently delisted for taking Pre-Orders from eCommerce. With the help of these Shopify reports, merchandisers can quickly identify gaps and take action to fill the gaps.

    User- Head of eCommerce, Merchandising Team

    Glossary

    Item
    Item Details

    Daily Pre-Order Summary Report

    Merchants with successful pre-order strategy implemented with the help of a Pre-Order Management System can get up to 10% of their revenues from Pre-Order sales. To measure the performance of their Pre-Order initiative, merchandisers like to know how many pre-orders are received as compared to the overall revenue.

    Using the Daily Pre-Order Summary Report, merchants can get the contribution of pre-order revenue to the overall revenue and the number of pre-order units sold.

    User- Head of eCommerce, Merchandising Team

    Glossary

    Item
    Item Details

    Daily Pre-Order Product Performance report

    Merchandisers want to measure the best and least-performing Pre-Order products to guide their future strategies. For example, if a product does not perform well after its launch, merchandisers may want to discontinue the product. The Daily Pre-Order Product Performance report helps merchandisers analyze the performance of products on Pre-Order. The report also helps merchandisers make better decisions at the time of product assortment.

    User- Head of eCommerce, Merchandising Team

    Glossary

    Item
    Item Details

    Daily Released Pre-Order report

    When inventory is received at a warehouse, an effective Pre-Order Management System enables merchandisers to allocate inventory for accepted customer Pre-Orders both manually and automatically. When merchandisers manually allocate inventory for Pre-Orders, they already know how much inventory is consumed by existing pre-orders. However, when the system automatically allocates the inventory, merchandisers have no idea how much inventory is available to promise, which orders have been allocated the inventory, and which ones haven’t. Therefore, merchandisers prefer a daily summary of all pre-orders for which inventory is allocated automatically. The Daily Released Pre-Order report gives a daily summary of all the pre-orders for which the Pre-Order Management System has automatically allocated the inventory.

    User- Head of eCommerce, Merchandising Team

    Glossary

    Item
    Item Detail

    Daily Promise Date Changed Report

    The customer expects their pre-orders to be shipped by/on the promised date. Due to supply-chain constraints or any other reasons, expected inventory may occasionally be delayed. For all pre-orders, OMS integrates with merchants' Marketing Automation Platform to notify the customers of updated promised dates.

    Merchants accept pre-orders on multiple items every day. So, inventory delays can impact many pre-orders. Therefore, merchandisers prefer a daily summary of these date changes, to verify if the updated promise dates are communicated to customers or not.

    The Daily Promise Date Changed Report shows all date changes made for previously accepted Pre-Orders.

    User- Head of eCommerce, Merchandising Team

    Glossary

    Item
    Item Details

    Product Management

    The Find Product page within HotWax Commerce serves as a centralized hub for managing products. This page offers a consolidated view of all the products with individual variant information, displaying product category, product name, product ID, and product features viz, size, colors, etc. It enables users to have a quick view of all existing products and carry out product management efficiently.

    HotWax Commerce's Find Product page also empowers users to use multiple filter options to refine their product search. The prominent Pre-orders and Backorders filters help users to search out specific products, under these categories, enabling retailers to view the products currently on pre-order and backorder.

    Step-by-Step Usage Instructions:

    1. Log in to HotWax Commerce by entering your credentials on the login page.

    2. Within the hamburger menu, find and select the PIM (Product Information Management) option. This will open a submenu with various product-related functionalities.

    3. From the PIM submenu, choose the Product option. This action will direct you to the Find Product page.

    Search Products

    The Search Bar on the Find Product page provides users quick access to get information regarding any product. It streamlines the search process about various identifiers such as Product ID, Product name, SKU, UPC, Parent product, or any other related keywords. For a search with any keywords, all related products and variants are listed alphabetically as per the parent product name.

    Search Products using Filters

    Enables users to search products, simultaneously using single or “multiple filters'', and allows users to choose required options from the selected filter dropdowns to refine the search results. This feature is significant for looking up the required set of products to efficiently manage and monitor the specified products and their variants by “Category”, “Features”, “Tags”, and “Price”, or group search by Pre-orders and Backorders.

    Generally, for a keyword search, all the related products appear and are displayed on the screen. To search for a specific product, users can either choose the options from available filters or enter a value set of product names and features or any other value together to excel the search. For example, if a product has different sizes and is available in multiple colors, and want to search “Checked Shirt, Size S, and Colour Black” users can put in the value in the search bar as “Check Shirt” and use Feature Filter to get the specific product.

    Export CSV

    For having a quick view of a certain set of products, users can filter out the products and run the export function to download the CSV into their system.

    Manage Safety Stock

    Enables users to search selected products and export CSV by specifying safety stock value and uploading it back using EXIM for bulk products. Safety Stock will be established at all the associated facilities for the entire set of selected products. Users are allowed to manually create CSV, set safety stocks, and upload using EXIM for bulk products. Read more about safety stock in our complete .

    Threshold

    Enables users to search and create CSV of all displayed products. A threshold will be established for the entire set of selected products. Users can manually create CSV and upload using EXIM for bulk products.

    View Product Details

    The Product View page in HotWax Commerce helps users manage products more efficiently by showing all key details in one place, including product specifications and sales channels. To open it, search for the product on the Find Product page and click the Product ID.

    Here is the list of details displayed on the Product View page:

    Overview Section

    The overview section contains essential information related to “product specifications”, “features”, and “identifications”. Here's a summary of each element:

    This information provides a comprehensive overview facilitating effective management and customization of a product and also empowers users to add and delete any product specifications.

    Sync Products to Multiple Shopify Shops

    Retailers who operate in multiple countries use Shopify shops in Hotwax commerce to manage the same product catalogs in different countries. A master catalog holds all products, while associations are formed to sync these products across different country-specific catalogs. These associations are automated through a job in HotWax Commerce that creates associations between products in the master catalog and the product catalog of other countries by matching the SKU codes. Retailers can view the product association with the different shops in the Shopify Shop section, and add new product associations with Shopify Shop by following these steps:

    1. Click on the Add button in the Shopify Shop section, which will open a new module

    2. Select the Shop from the dropdown menu for which you want to create the association.

    3. Add Shopify Product ID and Shopify Inventory ID

    Troubleshooting

    Reindex Product Button

    The Reindex button on the View Product page in OMS is used to refresh product data in the Find Product page. If you click on a parent product, it reindexes the parent along with all its variants. When used on a variant product, only that specific variant is reindexed. This is particularly useful when product information is missing or outdated (like product name or SKU updates) on the Find Product page.

    Pending Review

    Pending review page

    Use the Pending review section in the Cycle Count app to review submitted counts before they are finalized. This page lists inventory counts completed by store associates that are waiting for admin review so you can check variances, validate accuracy, and take action.

    Required permissions

    • COMMON_ADMIN: Grants access to view pending cycle counts, review submitted counts, accept or reject items, and close counts.

    Search and filter counts

    Search

    Use the search bar to find a specific count by name or ID.

    Filter by type

    Filter pending counts by inventory count type:

    • Hard count

    • Directed count

    Filter by facility

    Filter by store or warehouse to see counts submitted at a specific location (for example, Brooklyn). Combine facility and type filters to refine results further.

    Viewing count details

    Each item in the list represents one cycle count and displays the following details:

    • Count type: Indicates the type of inventory count submitted by the store team.

    • Count name: A user-assigned name that identifies the count.

    • Facility name: Specifies the facility where the inventory count was performed.

    • Created date: Shows when the count was initially created.

    For example:

    A Hard count named 03 December Count created on 3 Dec 2025 at Brooklyn appears as a row on this page.

    Admins can click any count card to open the detailed review screen.

    Review count page overview

    This page is used by admins to review the inventory counts submitted by store associates. It highlights mismatches between the counted quantity and system inventory, giving the admin full control to approve or reject each item.

    Page header information

    At the top of the page, you will find key details about the count:

    Count information

    • Count name: The name of the count (for example, 26 December Count).

    • Facility name: The facility where the inventory count was performed.

    • Start date: When the store was supposed to start the count.

    • Due date: The scheduled completion date.

    Review progress

    • Shows the percentage of items reviewed.

    • Displays how many items have been reviewed out of the total.

    Overall variance (filtered)

    This metric shows the total variance across all filtered items in the current count. Variance means the difference between what was physically counted and what the system expected.

    Example:

    • 90 units of variance

    • Based on 10 results

    This means that out of the items currently displayed (based on filters applied), the combined difference between counted and system quantities is 90 units across 10 items.

    Search and filters

    The section provides search and filtering options to refine the list of items.

    Search bar

    • Allows searching for products by name or SKU.

    Status filter Filter items by review status:

    • All

    • Open: Items that need review.

    • Accepted: Items approved.

    Compliance filter

    The compliance filter helps reviewers identify items that fall within or outside the acceptable variance thresholds during a cycle count.

    Filter options

    • Compliant: Shows items whose variance is within the defined threshold.

    • Uncompliant: Shows items whose variance exceeds the threshold.

    • Configure threshold: Allows admins to define the acceptable variance limit.

    Configure threshold Admins can configure how much variance is allowed before an item is flagged as out of compliance.

    Admin options

    • Select unit of measurement: Choose the basis for calculating variance.

      • Units: Compares the difference between counted and system quantities in absolute units.

      • Percent: Calculates variance as a percentage difference between counted and system quantities.

      • Cost: Flags variance based on the cost impact of the quantity difference.

    How it works (example)

    If the threshold is set to 10 units:

    • A product with a variance of 8 is compliant.

    • A product with a variance of 25 is uncompliant.

    This allows admins to quickly focus on items with major mismatches instead of reviewing every minor deviation.

    Sort by

    • Sort items alphabetically or by variance.

    Item list section

    The item list displays all items included in a count event, along with their relevant details and actions for review.

    Item row details Each item row contains the following information:

    1. Product details

    • Product image: Visual representation of the product.

    • SKU and name: SKU and the product name.

    1. Count information

    • Counted quantity / System quantity: Shows the quantity counted versus the system-recorded quantity.

    • Variance: The difference between the counted and system quantity.

    1. Actions

    • Accept: Approve the counted quantity.

    • Reject: Reject the count and send the item for recount.

    Note: Bulk actions can be applied when multiple items are selected using the checkboxes.

    Bulk review actions

    At the top of the item list, you can perform bulk actions for all selected items:

    • Accept: Accepts the counted quantities of selected items.

    • Reject: Rejects selected items and sends them for recount.

      Clicking these buttons will apply the chosen action to all selected rows simultaneously.

    Additional information (expanded view)

    When you click on an item row, it expands to display additional details:

    1. Count details

      • Count name: The name of the count.

      • Count performed by: The user who performed the count.

      • Total quantity counted: The total counted quantity for the item.

    Items that have already been reviewed and accepted display an Applied status, indicating that the final counted quantity has been submitted to the system.

    Closing the review

    Once the admin has finished reviewing all items in the count, they can use the Close count button to finalize the cycle count. Closing a count means the admin has reviewed all variances and is ready to complete the process.

    When the admin clicks Close count, the system opens a confirmation modal with two options:

    Options when closing a count

    1. Accept all outstanding variances and close

      • Automatically accepts all remaining items that were not manually accepted or rejected.

      • Useful when the admin is confident the remaining variances are correct.

      • Example: If three items are still open and the admin wants to approve them at once, selecting this option completes the review quickly.

    Closing the cycle count ensures that the cycle count lifecycle is completed and that the inventory updates are accurately reflected in the system.

    After closing the count

    • The count moves from the Pending review section to the Closed section.

    • The review is fully completed and no further changes can be made.

    • The system posts adjustments based on the accepted items.

    Inventory

    Discover how Inventory job works in HotWax Commerce.

    Adjustments

    Hard Sync

    Job Name: Upload Inventory Job Enum ID: JOB_UL_INV Service Name: bulkResetShopifyInventoryLevel Flow: Inventory Sync from HotWax to Shopify.

    The Hard Sync job is used to synchronize the inventory of all the products from HotWax to Shopify once a day. This job fetches the inventory counts of all products in Shopify and compares them with the inventory counts of all products in HotWax Commerce. Then it prepares the delta file in GraphQL format for all the products where there is a difference in inventory counts in HotWax compared to Shopify. This delta file is then sent to Shopify, and Shopify updates the inventory counts by recording deltas.

    Note: The ShopifyFacilityGroupId parameter allows retailers to push inventory of specific facilities included in that group.

    Custom Parameters

    • This job has no required parameters.

    • It has facilityGroupId,shopifyFacilityGroupId,includeAll, useVaildATP as optional parameters.

    To know more about inventory synchronization between HotWax and Shopify, refer to this .

    Webhooks

    Webhooks can be subscribed to from the category pages within the Job Manager app for specific categories.

    Automated messages sent from eCommerce (Shopify) to OMS whenever an event occurs. They contain data about the event and are received in OMS, allowing real time communication between eCommerce and OMS.

    Subscribe to Shopify eCommerce Webhooks from OMS for:

    Inventory

    Webhooks available for:

    Inventory level update This webhook is used to receive inventory level updates from Shopify to HotWax, especially when a retailer is not using HotWax Commerce as master of inventory availability (ATP inventory) and managing fulfillment out of HotWax.. In such cases, HotWax relies on other systems like Shopify for inventory updates. However, since Shopify webhooks may not always be reliable, it is recommended to schedule jobs.

    More Jobs

    Import Inventory

    Job name: Read Reset Inventory File From SFTP Job Enum id: JOB_IMP_INV Service Name: ftpImportFile Flow: Inventory Reset in HotWax from NetSuite

    The Import Inventory Reset job is used for importing inventory reset files from SFTP locations uploaded by ERP systems (like NetSuite).

    How is the reset file received?

    NetSuite runs a scheduled script and generates the CSV format file of updated inventory on each location, then uploads this file to the SFTP location. Then, the Import Inventory Reset job is used to import this file from the SFTP location to HotWax and upload this on RESET_INVENTORY MDM. Further Process Bulk Imported Files jobs run to process data into HotWax.

    Custom Parameters

    • The recommended frequency for this job is 15 minutes.

    • This job has configId and propertyResource as the required parameters.

    • It also has some optional parameters.


    Import Item Receipt

    Job name: Import Item Receipt Job Enum ID: JOB_ITM_RECEIPT Service Name: ftpImportFile

    The Import Item Receipt job is used for importing updates from NetSuite to HotWax on all the items that are completed in NetSuite.

    When an order is brokered to a warehouse, HotWax relies on Warehouse Management Systems (like NetSuite) to get the fulfillment update. In cases when NetSuite is also used as a WMS, it uploads a JSON format file containing details of all the items that are fulfilled from the warehouse in an SFTP location.

    How is the item receipt synced?

    After NetSuite uploads a JSON file to the SFTP location, the Import Item Receipt job imports the JSON into HotWax and uploads it to the IMP_ITM_RECEIPT MDM. Further Process Bulk Import Files job runs, which finally marks the item as completed in HotWax.

    Custom Parameters

    • The recommended frequency for this job is 15 minutes.

    • This job has configId and propertyResource as the required parameters.

    • It also has some optional parameters.


    Import Product Facility

    Job Name: Import Product Facility Job Enum ID: JOB_IMP_PROD_FAC Service Name: ftpImportCSVFile Flow: Applying ATP rules in HotWax.

    HotWax Commerce allows retailers to configure rules for inventory computation based on product tags and facility types or groups, reducing manual work. Based on these rules, the available-to-promise (ATP) of a product is calculated, which is then synchronized to Shopify or other sales channels.

    A job in the ATP app generates a CSV file based on rules configured for calculating ATP and puts it in the SFTP location. **The Import Product Facility job is used to download this CSV from the SFTP location and upload it on the file system of HotWax Commerce. ** Further, the Process Bulk Import Files job runs and processes all the files in HotWax. And finally, all the rules configured from the ATP app by the retailer are created.

    It is important to note that this job is responsible for applying ATP rules configured by retailers on ATP computation.

    Custom Parameters

    • The recommended frequency for this job is 15 minutes.

    • This job has configId and propertyResource as the required parameters.

    • It also has some optional parameters.


    Bulk recent kit product inventory setup

    Job Name: Bulk recent kit product inventory setup Job Enum ID: BLK_RCNT_KIT_INV Service Name: bulkKitProductInventorySetup Flow: Kit Product Inventory Computation

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

    Note: Retailers who don't use Shopify's Bundle App for kit inventory calculation rely on this job in HotWax to compute the inventory.

    Custom Parameters

    • This job has no required parameters.

    • includeAll is the optional parameter of this job.

    To know more about kit inventory calculation, refer to this .


    Import Inventory Transfer

    Job Name : Import Inventory Transfer Job Enum Id : JOB_INV_TRANS Service Name: ftpImportFile Flow: Importing Inventory Update from NetSuite to HotWax

    Retailers with one warehouse for both B2C and B2B create two virtual locations in NetSuite: one for online orders (B2C) and one for wholesale (B2B). This helps manage inventory better. If one runs low on stock, they transfer inventory between them as needed.

    In ERP systems (like NetSuite), retailers generally create inventory transfers, and these inventory transfers need to be synced from NetSuite to HotWax to maintain better inventory synchronization. Import Inventory Transfer job is used for importing the inventory transfers created in NetSuite to HotWax, and further inventory is adjusted in HotWax accordingly.

    How are inventory transfers are synced ?

    A scheduled script in NetSuite generates a CSV file of inventory transfers and uploads it to an SFTP location. The Import Inventory Transfer job in HotWax then fetches the file and uploads it to HotWax’s internal system. Finally, the Process Bulk Imported Files job runs to create records in HotWax.

    To know more, refer to the inventory transfer .


    Import Inbound Shipment

    Job name: Import Inbound Shipment Job Enum ID : JOB_IMP_TO_SHPMNT Service Name: ftpImportFile Flow: Inventory Synchronization

    This job is used to create inbound shipment in HotWax so that store associates can see an upcoming inbound shipment in their . In case of a warehouse to store TO or store to store TO is created in NetSuite, HotWax imports it as an inbound shipment for the receiving store through this job.

    Custom Parameters

    • The recommended frequency for this job is 15 minutes.

    • This job has configId and propertyResource as the required parameters.

    • It also has some optional parameters.


    Schedule Restock

    Job Name: Schedule Restock Job Enum ID: JOB_SCHEDULED_RSTK Service Name: receiveAndUpdateInventoryToShopify Flow: Schedule restock

    Retailers often schedule new product launches and require inventory to be available for sale at specific future dates and times. For example, if a retailer plans to launch a product at 10 AM a month from now, the inventory must sync precisely at that moment.

    The HotWax Commerce Import App simplifies this process by allowing retailers to schedule restocks via a CSV upload. Once uploaded, the Import App transfers the CSV to an SFTP location, and the Schedule Restock job imports it into HotWax database.

    Custom Parameters

    • ShipmentId is the required for this job.


    Sync Invnetory from Shopify

    Job Name: Sync Inventory from Shopify Job Enum Id : JOB_SYNC_INV_FRM_SHPY Service Name: bulkInventorySyncFromShopify Flow: Inventory Synchronization from Shopify

    In cases where HotWax is not used as the source of truth for inventory availability—meaning retailers do not use HotWax for fulfillment and do not have an ERP system for inventory management—HotWax relies on Shopify for inventory updates. To ensure accurate inventory data, this job runs once a day to reset inventory updates for all products.

    How Does This Job Work? HotWax sends an API request to Shopify to fetch the latest inventory data for all products. In response, Shopify provides a JSON file, which is then uploaded to HotWax’s internal file system. After that, the Process Bulk Imported Files job processes the JSON file, updates the inventory, and syncs the changes in HotWax.

    This job is an alternative to Shopify Webhooks, but since Shopify Webhooks are reliable, it is recommended to schedule this job in HotWax.

    Custom Parameters

    • This job does not have any required parameters

    • It has some optional parameters.


    Upload Recent Inventory Changes

    Job Name: Upload Recent Inventroy Changes Job Enum Id: UL_RCNT_INV Service Name: bulkRecentShopifyInventroyLevel Flow: Inventory Synchronization

    The Upload Recent Inventory Changes job is used to update Shopify with the latest inventory changes for products. It functions similarly to Hard Sync, but instead of syncing updated inventory for all products, it only uploads changes for products whose inventory has fluctuated.

    Custom Parameters

    • This job does not have any required parameters.

    • It has some optional parameters.

    To know more about uploading recent inventory changes refer to this .


    Assigned

    The assigned counts section allows you to monitor cycle counts that have been assigned to facilities and are currently pending completion. This view supports tracking progress, identifying delays, and managing workload across locations.

    Assigned counts remain in this stage until the responsible facility submits the count for review.

    Required Permissions

    To access the Assigned view and manage assigned counts, users must have the following permission:

    • COMMON_ADMIN

    Without this permission, users will not be able to view or interact with assigned cycle counts.

    Search, sort, and filter assigned counts

    The Assigned view includes search and filtering options:

    Status filter

    Filter assigned counts by their current status:

    Status
    Description

    This helps quickly identify pending counts that require follow-up.

    Type filter

    Filter counts based on type:

    Type
    Description

    Facility filter

    Narrow results to one or multiple facilities:

    • Search facilities by name.

    • Select multiple locations.

    Assigned counts list view

    Each count in the list provides the following information:

    • Count name

    • Assigned facility

    • Type

    • Created date

    This view provides a snapshot, allowing administrators to monitor the progress and deadlines across stores.

    Assigned count detail page

    The assigned count detail page provides a view of a specific cycle count assigned to a store or facility.

    Overview

    At the top of the page, you will find a summary of the assigned count. This section is divided into two areas: count details (left) and counting activity (right).

    Count details

    Clicking on a count displays the information provided during count creation:

    • Count name: Name of the assigned count.

    • Assigned facility: The store or location to which the count is assigned.

    • Start date: The date and time when the count is scheduled to begin; update using the date picker.

    • Due date: The target completion date for the count; update using the date picker.

    These fields define the timeline and location of the count and can be adjusted if scheduling changes occur.

    Counting activity

    This section shows system-generated timestamps reflecting real-time user activity at the assigned facility:

    • First item counted: Date and time when the first product in the assigned count was submitted.

    • Last item counted: Most recent date and time a user entered or updated a count.

    These timestamps reflect actual system activity during product counting and help administrators assess whether the store has begun counting, whether work is ongoing or paused, and if follow-up is needed.

    Product search

    A search bar is available directly below the overview section to quickly find specific items within the assigned count.

    • Enter any portion of a product name or code.

    • Results instantly filter based on the entered text.

    • This is helpful when reviewing large product lists.

    Sorting items

    Use the Sort by dropdown to organize the product list:

    • Alphabetic: Sorts product names A to Z.

    • Variance: Sorts products based on the variance recorded between counted and system quantities; sort ascending or descending to spot items needing review.

    Counted item details

    The product list section displays all products included in the assigned count. For every product, the following information is shown:

    • Product image

    • Product name

    • Counted quantity (entered by the store user during the cycle count)

    • System quantity (the quantity recorded in the system at the time of assignment)

    This view allows reviewers to quickly identify how complete an item’s count is.

    Viewing count session details

    To view the session details for an item, click the item in the list; the system opens the Count session detail panel for that specific item. The panel includes:

    • Session name

    • User name (who performed the count)

    • Quantity counted in that session

    • Session start date and time

    This detail helps track who counted the item and when it was recorded, providing traceability during cycle count audits.

    Viewing additional product information

    Inside the Count session detail panel, select the More options icon. This displays:

    • Product information

    • The last time the product was counted

    Closed

    Closed cycle counts page

    The Closed page in the Cycle Count app lets you review every cycle count that has been completed. On this page you can search for counts, apply filters to narrow results, export filtered data, and drill into the details of each closed count.

    Required permissions

    • View closed counts, open details, and export: COMMON_ADMIN.

    Navigating to the closed counts page

    1. Open the Cycle Count app. Use the navigation drawer on the left side of the screen.

    2. Select Closed from the menu. The Closed Counts view displays all cycle counts that have been completed (previously known as “cycle counts history”).

    3. The main pane shows a list of closed counts along with filters at the top. Each row corresponds to a completed cycle count and shows the count name, ID, facility, created date and closed date.

    Understanding the closed counts list

    The list view is designed to help you quickly find and filter completed counts:

    • Search bar: Use the search box to find a cycle count by name or ID. When you enter text and press Enter, the list updates to show matching counts. You can clear the search using the × button in the field.

    • Facility filter: The Facility drop‑down shows All by default. Clicking the bubble opens a modal with a searchable list of facilities. You can select one or more facilities and confirm with the blue check button; the selected facility appears as a pill next to Facility and the list refreshes to show counts from that facility.

    Filtering and searching closed counts

    1. Search by name or ID: Click in the search bar, type the count name or part of the ID and press Enter. The list will narrow to items containing the search term.

    2. Filter by facility: Click the All bubble in the Facility filter. Use the search field in the facility modal to find a store, select its checkbox and click the blue check icon to apply the filter. The facility name appears as a pill.

    3. Filter by type: Click the current type (e.g., All types). Choose Hard count or Directed count

    Exporting filtered cycle counts

    You can export the closed counts you are viewing (according to the current filters):

    1. Apply any filters you want so that only the desired counts are visible.

    2. Click the blue export button in the bottom right corner of the page. The button displays an arrow pointing down. A message appears saying “Requesting export…”.

    3. The application prepares an export file containing the filtered cycle counts. Depending on your configuration, the file downloads automatically or is delivered through your configured export service. You can continue using the app while the export is processed.

    Viewing the details of a closed cycle count

    Click any row in the closed counts list to open the Closed count details view. This page lets you examine item‑level variance and compliance.

    Header

    At the top of the details page you’ll see several cards summarizing the count:

    • Count card: Shows the cycle count name, ID and facility. It also displays the due date if one was set.

    • Time card: Shows the timestamp when the first item was counted and when the last item was counted.

    • Progress and completion card: Displays a progress bar with “x out of y items complete.” This indicates how many items have been reviewed and accepted.

    • Overall variance (filtered): Shows the total variance units based on the items currently displayed.

    Use the back arrow in the page header to return to the closed counts list.

    Item list and filters

    Below the header, you’ll find filters to help locate specific products within the count:

    • Search product name: Enter all or part of a product’s name or SKU to filter the list.

    • Status filter: Choose from All, Accepted or Rejected to show products based on whether their counts were accepted or rejected during review.

    • Compliance filter: Options include All, Acceptable

    Reviewing item‑level details

    • The item list shows each product counted during the cycle count along with an image, SKU, counted quantity vs system quantity, and calculated variance.

    • Clicking a product row expands it to reveal count sessions. Each session row displays the counter’s name (user), counted quantity, the time the counting started and when it was last updated. These details help you trace who counted the item and when.

    • If there are discrepancies (variance ≠ 0), you can use the Status and Compliance filters to isolate non‑compliant items for review and acceptance or rejection.

    Tips for using Closed Counts

    • Combine filters for targeted exports. For example, set the Type to Hard Count and choose a facility before exporting; the exported file will include only hard counts from that store.

    • Use the More Filters date ranges to retrieve counts completed within a specific window.

    • Within the details view, sorting by Variance quickly surfaces products with the highest discrepancies, allowing you to prioritize review.

    • The Overall variance card updates dynamically based on applied item‑level filters, providing an at‑a‑glance summary of variance for the items you’re examining.

    By leveraging search, filters and exports, the Closed Counts page makes it straightforward to locate completed counts, review item‑level variances and compliance, and extract data for auditing or reporting.

    Inventory Based Shipping

    Business Overview for the Retailer

    The retailer, a prominent footwear company with over 200 stores across multiple countries, produces its own footwear and partners with global brands to offer a diverse range of products in both online and physical stores.

    Previously, the retailer focused primarily on physical stores and fulfilled online orders from a single retail location, as they did not have any dedicated warehouses. With the implementation of HotWax Commerce, they have transitioned to using all their stores as fulfillment centers. This shift optimizes inventory management and enhances order fulfillment efficiency across their entire store network, benefiting both in-store and online orders.

    Products

    Learn about the Products job in HotWax Commerce.

    Sync

    Import New Product

    Job Name: Import new products Job Enum ID: JOB_IMP_PROD_NEW

    Due date: Indicates the deadline for completing the count.

    First item counted: Timestamp of when counting began.

  • Last item counted: Timestamp of when the last item was counted.

  • Rejected: Items rejected.

    Enter threshold value: Example: 10 units, 5%, or a cost value depending on the selected unit.

  • Save threshold: Click the blue check button to apply the threshold settings.

  • Timestamps: Time when counting started and when it was last updated.

  • More options

    • Last counted: Displays the last counted quantity for the item.

    • Edit count: Allows editing the counted quantity if adjustments are needed.

    • Remove count: Removes the current count for the item.

  • Reject all outstanding variances and close

    • Automatically rejects all remaining open variances.

    • Useful when the admin wants those items to be recounted or corrected later.

    • Example: If several items show unusual variances, the admin can reject all of them in one action.

    Type filter: The Type drop‑down lets you filter counts by type. Options include All types, Hard count and Directed count. Selecting a type updates the list; for example, choosing Hard count shows only hard counts.
  • More filters: Click More filters to open a modal with date‑range filters. You can specify Created before/after and Closed before/after dates using the calendar pickers, then click Apply to filter the list.

  • List columns: Each closed count row displays:

  • Count name and ID: e.g., CycleCountSample‑Nov4 (ID M1000204).

  • Facility: shown as a pill with the facility name.

  • Created date: date the count was created.

  • Closed date: date the count was completed.

  • Type label: for hard counts or directed counts, a small label (e.g., HARD COUNT) appears above the name.

  • . The list refreshes to show only counts of that type.
  • Apply date filters: Choose More filters. In the modal, specify any combination of creation or closing dates and click Apply.

  • Clear filters: To remove a facility or type filter, click the small × on the pill. Clear date filters by reopening More filters and clearing the date fields.

  • ,
    Rejectable
    and
    Configure threshold
    .
    Acceptable
    shows items whose variances are within the compliance threshold;
    Rejectable
    shows items outside the threshold.
  • Sort by: Use this drop-down to sort products Alphabetically or by Variance.

  • Business Requirements for Order Fulfillment

    1. Time-in-Transit Requirements

    The retailer offers several shipping options, including:

    • Next-Day Delivery

    • Two-Day Delivery

    • Three-Day Delivery

    • Standard Shipping (Within 7 days)

    2. Minimum Stock Availability

    The retailer aims to maintain a minimum stock level at each store before allocating orders. This ensures inventory availability at all locations, optimizing fulfillment efficiency and reducing the risk of stock shortages and order cancellations.

    3. Order Fulfillment Priority

    Since the retailer operates within a limited geographical area, proximity is not a major concern. Instead, order routing is based solely on stock availability to ensure efficient fulfillment and prevent inventory shortages.

    4. Inventory Unavailability

    If no store has sufficient inventory to fulfill an order, the order should be flagged and brokered again after a set time to check for inventory replenishment, ensuring the order can eventually be fulfilled.

    5. Routing Interval

    The retailer requires regular brokering to ensure timely processing of both regular and rejected orders. For unfillable orders, the brokering process should occur within a predefined interval, allowing time for potential inventory replenishment.

    Key Routing Considerations

    Minimum Stock Availability Rules

    The routing process for the retailer must filter locations based on Minimum Stock availability. Locations with 15 or more units of an item should be prioritized first.

    If inventory is insufficient, the criteria need to be adjusted to include locations with 10 or more units, then 5 or more units, expanding the search while still focusing on locations with higher stock levels.

    If no location has the minimum stock, any location with available inventory should be included to ensure that orders are fulfilled.

    If no single location can fully meet the order requirements, partial fulfillment should be allowed. This approach optimizes inventory usage and improves order completion rates by combining stock from multiple locations.

    Order Routing Priority

    Expedited Orders should be prioritized before standard orders when routing orders. Furthermore, if there are orders that are rejected once from any fulfillment location due to inventory unavailability, these orders should be prioritized before regular orders that are being routed for the first time.

    Setting Up Order Routing for the Retailer

    Create Run

    We begin by creating a Regular Order Run. This run will manage all regular orders, excluding unfillable orders, which the retailer prefers to broker separately since the schedule of these run would be different. The regular run will consist of multiple routing rules, each configured based on different shipping methods and fulfillment priorities. The regular order runs are scheduled every 15 minutes for timely order processing and fulfillment.

    Create Routing Rule

    1. Standard Orders

    Within the Regular Order Run, set up an Order Routing Rule to define which orders will be routed in this batch based on queues, shipping methods, and priority. The orders are fetched based on the following configurations:

    Order Filters

    The retailer applies multiple filters to ensure proper order routing:

    • Queues: Orders are filtered from the Brokering Queue to broker all orders that will be fulfilled for the first time.

    • Shipping Method Filter: Only orders using Standard Shipping are included.

    Order Sort

    Orders are sorted by Order Date, ensuring that the oldest orders are fulfilled first.

    Create Inventory Rule

    For inventory management, the retailer sets up five inventory rules to ensure orders are routed to stores based on stock availability.

    1st Inventory Rule

    • Inventory Filter: Orders will be routed to stores that have 15 or more units of inventory available for the ordered items.

    • Inventory Sort: Orders are sorted by inventory balance, ensuring stores with the highest available stock are prioritized.

    • Action: If this rule is not met, the order is sent to the next inventory rule.

    2nd Inventory Rule

    • Inventory Filter: Stores must have at least 10 units of inventory available.

    • Inventory Sort: Orders are sorted based on inventory balance.

    • Action: Orders that do not meet this rule are sent to the next rule.

    3rd Inventory Rule

    • Inventory Filter: Stores must have at least 5 units of inventory available.

    • Inventory Sort: Orders are sorted by inventory balance.

    • Action: If the stock requirement is still not met, the order moves to the next rule.

    4th Inventory Rule

    • Inventory Filter: No specific stock limit is required; any store with available inventory is considered.

    • Inventory Sort: Orders are sorted by inventory balance.

    • Action: Partial fulfillment is not allowed. If inventory is still unavailable, the order moves to the next rule.

    5th Inventory Rule

    • Inventory Filter: No specific stock limit is required; any store with available inventory is considered.

    • Inventory Sort: Orders are sorted by inventory balance.

    • Action: Partial fulfillment is allowed so that available inventory can be allocated to the orders. If the orders remain unfulfilled, they can be sent to the unfillable queue.

    This system aligns with the retailer’s Minimum Stock Availability and Order Fulfillment Priority requirements by ensuring orders are routed based on stock availability and fulfillment efficiency.

    2. Expedited Orders

    The second routing rule handles all orders with expedited shipping options, including Next-Day, Two-Day, and Three-Day Delivery. The orders are fetched based on the following configurations:

    Order Filters

    The retailer applies multiple filters to ensure proper order routing:

    • Queues: Orders are filtered from the Brokering Queue to broker all orders for the first time.

    • Shipping Method Filter: Only orders using Next-Day, Two-Day, and Three-Day Shipping are included.

    Order Sort

    Orders are sorted by Shipping Method (prioritizing Next-Day, Two-Day, and then Three-Day) and by Order Date.

    Note: The inventory rules for this order batch are the same as the rules for standard orders, focusing on maintaining inventory balance.

    3. Rejected Standard Orders

    This routing rule manages rejected standard orders that were previously rejected due to stock unavailability. The orders are fetched based on the following configurations:

    Order Filter & Sort

    • Order Filter:

      • Queue Filter: Orders are fetched from the Rejected Queue.

      • Shipping Method Filter: Only orders using Standard Shipping are included.

    • Order Sort: Orders are sorted by Order Date, ensuring that orders rejected earlier are processed first for potential fulfillment.

    Note: The inventory rules for this order batch are the same as the rules for standard orders, focusing on maintaining inventory balance.

    4. Rejected Expedited Orders

    This routing rule manages rejected expedited orders, including Next-Day, Two-Day, and Three-Day Shipping orders that were not fulfilled initially due to stock unavailability. The orders are fetched based on the following configurations:

    Order Filter & Sort

    • Order Filter:

      • Queue Filter: Orders are fetched from the Rejected Queue.

      • Shipping Method Filter: Only orders with Next-Day, Two-Day, and Three-Day Shipping are included.

    • Order Sort: Orders are sorted by Shipping Method (Next-Day first, followed by Two-Day, and then Three-Day) and by Order Date to ensure expedited orders are prioritized appropriately.

    Note: The inventory rules for this order batch are the same as the rules for standard orders, focusing on maintaining inventory balance.

    Routing Rule Sequence

    Since the client wants Rejected order routing first before the regular orders and wants to prioritize expedited orders, the routing Rules should be sequenced in the following manner:

    1. Rejected Expedited Orders

    2. Rejected Standard Orders

    3. Expedited Orders

    4. Standard Orders

    Create Second Runs

    Retailers need to create a separate run to handle orders when inventory is unavailable across all stores. This is created as a separate run since inventory replenishment can take time so checking for inventory in every 15 minutes is not required. Therefore, this run is scheduled to run in every 6 hours and once stock is available, the orders are re-brokered.

    Create Routing Rule

    1. Unfillable Expedited Orders

    This routing rule manages unfillable expedited orders, including Next-Day, Two-Day, and Three-Day Shipping orders that were not allocated initially due to stock unavailability. The orders are fetched based on the following configurations:

    • Order Filter:

      • Queue Filter: Orders are fetched from the Unfillable Queue.

      • Shipping Method Filter: Only orders with Next-Day, Two-Day, and Three-Day Shipping are included.

    • Order Sort: Orders are sorted by Shipping Method (Next-Day first, followed by Two-Day, and then Three-Day) and by Order Date.

    Note: The inventory rules for this order batch are the same as the rules for standard orders, focusing on maintaining inventory balance.

    2. Unfillable Standard Orders

    This routing rule manages unfillable standard orders that were previously rejected due to stock unavailability. The orders are fetched based on the following configurations:

    • Order Filter:

      • Queue Filter: Orders are fetched from the Unfillable Queue.

      • Shipping Method Filter: Only orders using Standard Shipping are included.

    • Order Sort: Orders are sorted by Order Date, ensuring that orders rejected earlier are processed first for potential fulfillment.

    Note: The inventory rules for this order batch are the same as the rules for standard orders, focusing on maintaining inventory balance.

    Routing Rule Sequence

    Since the client wants to prioritize expedited orders, the routing Rules should be sequenced in the following manner:

    1. Unfillable Expedited Orders

    2. Unfillable Standard Orders

    Activating Runs

    Step 1: Activate Inventory Rule

    Ensure all inventory rules are active. Move the order routing from "Draft" to "Active" to ensure it's live and processing orders.

    Step 2: Schedule the Routing Run

    Set a schedule for how frequently each routing run will execute. For regular orders, schedule the run every 15 minutes for timely order processing, while for unfillable orders, schedule the run every 6 hours.

    Conclusion

    This retailer utilizes HotWax Commerce’s advanced routing system to streamline order fulfillment. By leveraging Brokering Safety Stock, the retailer ensures orders are prioritized based on available inventory, optimizing fulfillment for both expedited (Next-Day, Two-Day, Three-Day) and standard shipping. Orders that cannot be fully or partially fulfilled are routed to a separate unfillable queue, with regular brokering runs every 15 minutes and unfillable runs every 6 hours, ensuring efficient handling and timely delivery across their retail network.

    Service Name:
    CreateProductsFromShopify
    Flow: Importing new products from Shopify to HotWax.

    Import new product job is used for importing new products from Shopify to HotWax. For maintaining the system integrity, it is important to sync new products from Shopify.

    If a new product created in Shopify and its not synced in HotWax Commerce (may be because job scheduled to run after 10 mins) and if an order is created for this new product in Shopify (before the job in run) and that order is now downloaded in HotWax, then a a placeholder for this new product will be created in HotWax. Once the job runs, the actual product will be imported and replace the placeholder.

    How does HotWax import products? HotWax makes an API call on Shopify to retrieve all the newly created products in Shopify between the time frame of the last job run and the current timestamp. In response to this request, Shopify provides a JSON file containing details of such products. Further, the Import New Products job imports this JSON into HotWax OMS and uploads it to the IMP_SHOPIFY_PROD MDM in HotWax. Finally, the Process Bulk Import Files job runs and processes the JSON file to create products in HotWax OMS.

    It is important to note that the Import New Product job must not be scheduled while creating new products on Shopify, as it can import incomplete data and cause data corruption. So the recommendation is to pause this job and reschedule it only after all products are fully created.

    Custom Parameters

    • frequency is the required parameter for this job.

    • It has some optional parameters.

    To know more about product import refer to this document.


    Import Product Updates

    Job name: Import Product Updates Job Enum ID: JOB_IMP_PROD_UPD Service name: updateProductsFromShopify Flow: Import product updates from Shopify to HotWax

    When a retailer updates a product in Shopify, it is important for HotWax Commerce to sync these updates. The Import Product Updates job is used for importing updates on products from Shopify to HotWax.

    How are product updates synced? HotWax makes an API call on Shopify to retrieve all the products that are updated between the last job run time and the current timestamp by checking the updated_at field in Shopify. In response to this request, Shopify provides a JSON file that is imported into HotWax by the Import Product Update job. Further, the Process Bulk Imported Files job runs and processes the JSON to sync product updates in Shopify.

    Custom Parameters

    • frequency is the required parameter for this job.

    • It has some optional parameters.

    To know more about importing product updates refer to this document.


    Webhooks

    Webhooks can be subscribed to from the category pages within the Job Manager app for specific categories.

    Automated messages sent from eCommerce (Shopify) to OMS whenever an event occurs. They contain data about the event and are received in OMS, allowing real time communication between eCommerce and OMS.

    Subscribe to Shopify eCommerce Webhooks from OMS for:

    Products

    Webhooks available for:

    1. New products

    2. Delete products

    More Jobs

    Product HS Code Identification

    Job Name:Product HS Code Identification Job Enum ID: JOB_HS_IDENT Service Name: ftpImportFile Flow: Product Setup from NetSuite

    The product HS code identification job imports Harmonized System (HS) codes from NetSuite to HotWax Commerce. The HS code is a standardized numerical system used to classify and identify products that are traded internationally.

    An ERP system (like NetSuite) provides a CSV format file containing HS codes for all the products. Which is then imported by this job into HotWax OMS. This job is used in special scenarios when the retailer is shipping products internationally.

    How are HS codes synced with HotWax? Through a scheduled SuiteScript, NetSuite uploads a CSV file of HS codes for all the products to an SFTP location. From there, the Product HS code Identification' job imports that CSV into HotWax and uploads it on IMP_HS_IDENTMDM. Further, theProcess Bulk Imported Files` job processes the CSV to apply HS codes to products.

    Custom Parameters

    • The recommended frequency for this job is 15 minutes.

    • It also has some optional parameters.

    • This job has configId and propertyResource as the required parameters.


    Import Kit Component

    Job Name: Import Kit Component Job Enum ID: JOB_KIT_COMP Service Name: ftpImportFile Flow: Importing Kit Product Information from ERP to OMS

    When a retailer chooses not to use Shopify’s Bundles App for Kit products. Generally in such cases, ERP systems (like NetSuite) are used to manage kit products. So, HotWax needs to import kit components from NetSuite.

    Import Kit Component job is used for importing kit products from NetSuite to HotWax.

    How are kit components synced? When NetSuite manages the kit products, it uploads a CSV format file of kit product details to an SFTP location. From there, the Import Kit Component job imports the JSON in HotWax and uploads it on IMP_KIT_COMP MDM. Further, the Process Bulk Imported Files job processes the JSON to sync kit products in HotWax.

    Custom Parameters

    • The recommended frequency for this job is 15 minutes.

    • This job has configId and propertyResource as the required parameters.

    • It also has some optional parameters.

    To know more about kit products, refer to this document.


    Import Promo Codes

    Job Name: Import Promo Codes Job Enum ID: JOB_IMP_PRMO_CODE Service Name: createUpdateProductPromo

    This job is used to import promo codes from NetSuite to HotWax.

    Promo codes are those codes applied by customers while shopping to get some discounts. If an order has a discount code applied to it, during order sync to NetSuite, HotWax OMS checks if the applied code is available in NetSuite. If the code is available, then the exact code is used, and the value of the discount is shared as the "Rate.".

    Custom Parameters

    • The recommended frequency for this job is 15 minutes.

    • This job has configId and propertyResource as the required parameters.

    • It also has some optional parameters.

    To know more about promo code refer to this document.


    Product Identification

    Job Name: Product Identification Job Enum ID: JOB_PROD_IDENT Service Name: createUpdateProductErpId Flow: Importing Product Details from ERP to OMS

    This job is used to import product IDs from ERP systems like NetSuite into HotWax OMS. By fetching product IDs from NetSuite, it ensures proper integration and accurate product identification within HotWax OMS.

    How is the NetSuite product ID mapped? A scheduled script in NetSuite retrieves the “NetSuite Product ID” for all the products in a JSON format file and uploads it to an SFTP location. From their Product Identification job, imports that JSON in HotWax and uploads it on IMP_PROD_IDENT MDM. Further, the Process Bulk Imported Files job runs and processes the file to map the NetSuite product ID in HotWax OMS.

    Custom Parameters

    • The recommended frequency for this job is 15 minutes.

    • This job has configId and propertyResource as the required parameters.

    • It also has some optional parameters.


    Activate Product on Shopify

    Job Name: Activate Product on Shopify Job Enum ID: JOB_ACT_PROD_SHPFY Service Name: activateProductOnShopifyLocation Flow: Order Fulfillment Flow

    Products in HotWax are mapped to their physical facilities, and the same applies to Shopify. When a product is mapped to a facility in HotWax OMS but not in Shopify. The Activates Product on Shopify job identifies these products by querying the HotWax database. It then activates them on Shopify, ensuring a one-to-one mapping between products and facilities in both systems.

    Custom Parameters

    • This job has no custom parameters.


    Associate Product with sub catalog

    Job Name: Associate Product with sub catalog Job Enum ID: JOB_ACT_PROD_SHPFY Service name: activateProductsOnShopifyLocation Flow: HotWax to Shopify

    Retailers usually maintain a master catalog containing all their products. When selling some specific products in a particular country, they create a sub-catalog derived from the master catalog.

    The Associate Product with Sub Catalog job maps specific products to their respective sub-catalogs, verifying accurate product linkage within the catalog.

    How are products mapped? ERP systems (like NetSuite) generally maintain the mapping of the product and catalog. A suite script from NetSuite generates a JSON format file containing details about product mapping with the catalog and uploads it to an SFTP location. Then the Associate Product with sub catalog job is used to import the JSON in HotWax and upload it on IMP_SHPFY_SHOP_PROD MDM. Further, the Process Bulk Import Files job processes the file in HotWax OMS.

    Custom Parameters

    • Frequency is the required parameter for this job.

    • It has some optional parameters.


    PRDS_READY_TO_PICKUP

    From Date

    The date from which a product is available for accepting pre-orders

    THRU Date

    The date from which a product is not available for accepting pre-orders

    Units

    The unit demand received for the item

    Units released

    The number of units which are released for the products

    Auto released

    Indicates if the order is released automatically or manually

    Data for last 24 hours

    Data summary for the last 24 hours

    Product ID

    The ID of product on Shopify

    Style

    The category of the product/item

    SKU

    The unique product code

    Color

    The color of the product

    UPC

    The unique product code

    Size

    The size of the product

    Order Date

    The date of the orders received

    Total Revenue

    The total revenue earned

    Pre-Order Revenue

    The part of pre-order revenue from earned revenue

    Pre-Order Unit

    The unit of pre-orders

    Pre-Order %

    Pre-Order revenue / Total revenue x 100

    Style

    The category of the product/item

    SKU

    The unique product code

    Color

    The color of the product

    UPC

    The unique product code

    Size

    The size of the product

    Demand

    The revenue demand received for the item

    HC Order ID

    The ID of order in HotWax Commerce

    Shopify ID

    The ID of order in Shopify

    Style

    The category of the product/item

    UPC/SKU

    The unique product code

    Color

    The color of the product

    Size

    The size of the product

    Shopify Order Id

    The ID of the order on Shopify

    Purchase Order ID

    The ID of the purchase order

    From Promised Date

    The previous promise date for the order

    To Promised Date

    The updated promise date for the order

    Customer Name

    The name of the customer

    Customer Email

    The email of the customer

    Due date
  • Status (Created / In progress)

  • Variance (calculated difference between the counted quantity and the system quantity)

    Last updated date and time

    All

    Displays all assigned counts

    Created

    Assigned but not yet started by the store

    In progress

    Store has started counting but has not yet submitted

    All types

    Displays all assigned counts

    Hard count

    Full inventory count

    Directed count

    Targeted or partial inventory count

    document
    ATP App
    document
    document
    Receiving App
    document
    Video: Inventory Page
    Video: Identify Failed Jobs Reason
    Audit Product's Pre-Order Status
    Set Brokering Shipment Threshold
    Video: Filter Inventory Channel
    Video: Search Product
    Video: Filter Facility
    Video: Schedule a job
    Video: Configurable Order Routing
    Video: Add Facility
    Video: Add Location
    Video: Record Variance
    Video: Upload Inventory
    Schedule Pre-order jobs

    8

    8T

    7B

    Black

    8

    8B

    Tan

    7

    7T

    Tan

    Filter out all existing products under the backorder category.

    Include Parent Product

    Helps users view parent products with respective variants.

    Feature particulars specified for product variants like size, and color.

    Product Identifications

    Displays associated product ID and Inventory ID with eComm stores. When HotWax Commerce enters a retailer’s Shopify ecosystem, it becomes the source of truth for all product-related information, viz: ECom Product Id, Product SKU, UPCA, GTIN, ISBN.

    Product Categories

    Displays the parent product category for the variants.

  • Click on the Add button to save the product association

  • Filter Type

    Description

    Store Filter

    Filter out store-specific products, every brand product store has a unique product catalog and if you'd like to view the product catalog of a specific brand, you can filter out the products using the Store filter

    Category Filter

    Filter products belonging to single or multiple categories, for example, “Men’s shoes”, “Kids' wear”, “accessories”, “apparel”, “Jewellery”, etc.

    Feature Filter

    Filter products by choosing product features like “color” “shades”, “sizes”, “donations”, etc.

    Tags Filter

    Filter products by choosing any tags available on them like ‘sale”, “discount”, “size range”, “men”, “women”, etc. For example, if a retailer wants to view shirts on discount, they can search for shirts using the search bar and Discount from Tags filter to get specific products in search results.

    Exclude Tags Filter

    It refines the search by excluding product tags. This will help users to streamline bulk product lookup, where the products having those tags will not be displayed during the search.

    Pre-order Filter

    Filter out all existing products under the pre-order category.

    Specifications

    Description

    Product Type

    Displays Product Type as “Finished Goods”, “Digital Goods”, “Accessories”, or others as specified.

    Product Name

    Universal name or title assigned to the Product.

    Product SKU

    Universal product identifier, that retailers assign to products to keep track of stock levels internally at ecom stores which acts as a unique identifier for HotWax Commerce and ERP.

    Product Brand

    Specifies the brand the product is associated with. Multiple Brands may have the same Product but have a unique SKU for each brand. Product Brand name determines the products to which it belongs when multiple brands are configured.

    Tags

    Product Tag identifications, added at e-commerce stores like “sale”, “discount”, “size range”, “men, women”, etc.

    Shippable Dimensions

    Product dimensions with ideal height, width, depth, and weight for shipping and ascertain the shipping box dimensions accordingly.

    document

    Backorder Filter

    Product Features

    Miscellaneous

    Learn about the miscellaneous jobs in HotWax Commerce.

    Process Bulk Imported Files

    Job Name: Process bulk imported files Job Enum id: JOB_PRC_PND_DML Service Name: processPendingDataManagerJob Flow: Processing Files in HotWax

    As all the other jobs bring a file to HotWax and upload it into HotWax internal file system, there is a need for a job, which processes these uploaded files to create or update records in HotWax. The Process Bulk Imported Files job processes files which are in pending status in HotWax Commerce internal file system.

    Custom Parameters

    • This job has no required parameters.

    • Recommended frequency for this job is every 5 mins.

    • It has some optional parameters.


    Process upload to eCommerce

    Job Name: Process uploads to eCommerceJob Enum ID: JOB_UL_PRCS

    This job is used in scenarios where multiple uploads to Shopify are queued, and it's crucial to ensure that these uploads are processed one at a time. This could be part of a larger system where inventory, product data, or other information needs to be synced with Shopify in an orderly and managed way, preventing conflicts and ensuring data integrity.


    Import Historical Shopify Customer

    Job Name: Import Historical Shopify CustomerJob Enum ID: JOB_SHOP_CUST

    Description

    The Import Historical Shopify Customer job downloads historical customer data from Shopify and imports it into HotWax Commerce. This is crucial for integration with NetSuite, as NetSuite allows order creation only for customers that already exist in the system. By importing historical Shopify customers, this job ensures that all necessary customer records are available in HotWax Commerce, enabling seamless order transmission from HC to NetSuite alongside the customer data.

    Custom Parameters


    Bulk Send Brokered Order Mail

    Job Name: Bulk Send Completed Order Mail Job Enum ID: JOB_COMPLET_MAIL_ODR Service Name: bulkSendCompletedOrderMail Flow: HotWax to Klaviyo

    The Send Broker Order Mail job facilitates the bulk sending of email notifications for brokered orders. This job ensures that customers receive timely updates on the status of their brokered orders, enhancing communication and order tracking.

    Internally, This job fetches all those orders, and corresponding email addresses on orders for which inventory is allocated, form HotWax database and triggers mails to customer through marketing platform (like Klaviyo).


    Bulk Send Completed Order Mail

    Job Name: Send Broker Order Mail Job Enum ID: JOB_BROKER_MAIL_ODR Service Name: bulkSendOrderBrokeredMail Flow: HotWax to Klaviyo

    The Send Completed Order Mail job enables the bulk sending of email notifications for completed orders, ensuring customers are promptly informed when their orders are fulfilled and ready for receipt.

    Internally, this job fetches orders for which order status is marked as completed between the last job run and current timestamp, from HotWax Database, and also fetches the associated customer email ID’s on those orders. And then triggers email to customers through marketing platforms (like klaviyo)


    Packaged Multi-Stream Import

    Job Name: Packaged multi-stream ImportJob Enum ID: JOB_IMP_GN_JSON_LIST

    Description This job is useful in scenarios where multiple pieces of JSON data need to be imported and processed by different services. For instance, in a data integration or ETL (Extract, Transform, Load) system, this function can be used to import and process batches of data from JSON files or API responses. It ensures that each data item is processed through the correct service and handles any errors encountered during the process.

    Custom Parameters


    Multi-Stream Import

    Job Name: Multi-Stream ImportJob Enum ID: JOB_IMP_JSON_DATA

    This job is used when there is a need to process a single JSON data object by invoking a specific service. For example, it can be used in scenarios where data needs to be imported from a JSON payload and processed by a particular service in an application. This function ensures that the data is correctly validated and passed to the service, and handles any errors that may occur during the process.

    Custom Parameters


    Send Packed Shipment Notification to Customer

    Job Name: Send packed shipment notification to customer Job Enum ID: SHPMNT_PKD_NT Service Name: bulkSendShipmentPackedNotification Flow: HotWax to Klaviyo

    This job is used in scenarios where notifications need to be sent for a large batch of shipments that have recently been packed. It is particularly useful for the process of informing customers or internal systems about the status of their shipments, ensuring timely communication and updates.

    Internally, this job fetches all those shipments which are in packed status between the last job run and current time. And then through the shipment id, tracks the order and similarly the customer email address associated with the order. And triggers email to customer through marketing platforms (like klaviyo)

    Allocate Sales Orders

    Learn how the sales orders are allocated efficiently in different scenarios.

    To perform the order allocation tasks, we first navigate to the View Sales Order page:

    1. Go to the Hamburger Menu in the OMS > Order Management section > Sales Orders to open the Find Sales Order page.

    2. Select the order ID to open the View Sales Order page.

    Release Items

    For automated facility selection, the user can either wait for the next brokering run or use the Broker Now function to broker items immediately.

    1. Select the line item and click Release function.

    2. View the inventory and select any facility using the radio button.

    3. Release the item to the selected facility.

    4. Click the history function to view the changes.

    Reject Items

    The Reject Items feature within the HotWax Commerce platform serves as a crucial tool for managing orders efficiently and maintaining customer satisfaction. It allows users to reject specific items from sales orders, providing valid reasons such as stock unavailability, damages, mismatches, or inactive stores. By enabling users to address issues promptly and accurately, this feature contributes significantly to workflow efficiency and customer service quality.

    1. Identify the item(s) you wish to reject and click on the corresponding line item.

    2. Look for the Reject function and click on it to initiate the rejection process.

    3. Choose the appropriate reason for rejection from the available options using radio buttons (e.g., Not in Stock, Damaged, Mismatch).

    4. After selecting the rejection reason, save your changes to confirm the rejection.

    Check the order item history by clicking on the radio button

    Mark items shipped in OMS

    Sometimes there are instances when customers may connect with CSR to receive the order urgently, in such cases CSR has the option to ship the order from the order details page without waiting for the fulfillment center to mark the order item shipped. Here's how users can mark the order items as shipped in the OMS:

    Scenario 1: Marking Items as Shipped that is still Unassigned to a Facility

    1. Locate the Order: Navigate to the desired order and open it to view details from the View Sales Order page.

    2. Release Item to Facility: Select the line item, click Release, and choose the target facility for shipment.

    3. Mark Items as Shipped: Scroll to the item section on the View Sales Order page and click Ship Items

    Scenario 2: Marking Items as Shipped that are assigned to a different facility

    1. Reject Line Item: Identify the line item on the View Order page, click Reject, choose No Variance as the reason, and confirm the rejection.

    2. Release Item to Facility: Select the rejected item, click Release, and choose the necessary facility.

    3. Mark Items as Shipped:

    Scenario 3: Marking BOPIS Sales Order Items as Shipped

    1. Modify Shipping Method: Scroll to the item section on the View Order page, click Edit, and modify the shipping method to Standard.

    2. Reject Line Item: Reject the line item, choosing No Variance as the reason.

    3. Release Item to Facility: Select the rejected item, click

    Click the history function in the status column to view when the item is marked completed and the user who marked the item completed.

    Manage Auto-Cancel Date

    Managing orders is a complex process, and sometimes, items fail to be fulfilled due to inventory unavailability across facilities. When this occurs, it's crucial to set an auto-cancel date to streamline operations and ensure resource allocation is optimized.

    This feature allows users to easily modify or remove auto-cancel dates from orders that are marked unfillable due to failed brokering attempts. By providing this functionality, HotWax Commerce empowers users to maintain control over their orders, preventing unnecessary delays and potential customer dissatisfaction.

    Update the Auto-cancel Date on a single order:

    1. Choose the specific order you want to manage and click on it to enter the Sales Order View page.

    2. In the Item section of the Sales Order View page, locate the auto-cancel date and click on the edit function next to it.

    3. From the Calendar that appears, select the new date for the auto-cancelation.

    4. After updating the date, click on the Save function to apply the changes.

    Remove Auto-cancel Date from single order:

    1. Choose the specific order you want to modify and enter the Sales Order View page.

    2. In the Item section, locate the auto-cancel date and click on the edit function next to it.

    3. Click on the delete icon next to the auto-cancel date to remove it from the order.

    4. Confirm the changes by clicking on the Save function.

    Move Items to Order Parking

    HotWax Commerce features various parking areas serving as virtual facilities for storing orders awaiting fulfillment. Users frequently need to transfer orders between these parking areas to ensure accurate inventory allocation. For instance, if there are unfulfillable orders and retailers are aware of when will inventory arrive, they may opt not to run brokering for such orders until that day. In such scenarios, these orders can be moved from the brokering queue to the unfulfillable hold queue. Here's how you can relocate items to different parking areas:

    1. In the items section, click the Move Items to Parking function.

    2. Choose the parking using the Radio button and Save.

    3. Confirm the Ship From column to view the selected parking.

    Refer to the table below for parking description and purpose.

    Routing Rules

    Learn about Routings.

    As discussed, routing, also known as routing rules, enable retailers to create specific order batches based on their business requirements, such as a same-day delivery batch, a next-day delivery batch, and a standard order batch. These routing rules help in efficiently looking up orders based on urgency and shipping promises.

    When to Create Multiple Routing Rules in a Single Run

    Multiple routing rules within a single brokering run are useful when different order batches, like same-day, next-day and standard orders, need to be routed at the same interval.

    If these order batches need routing at the same frequency but require different inventory allocation strategies, unique inventory rules can be applied to each batch. This way, even with a shared routing frequency (single brokering run), each order batch is managed according to its specific requirements. We’ll understand more about

    Release Individual Orders
    Cancel orders by products
    Video: Cancel Sales Order items
    Video: Refresh Sales Order
    Video: Cancel sales order

    groupBy

    Optional

    Specifies a grouping parameter for the job.

    Not specified

    additionalParameters

    Optional

    Additional parameters for job customization.

    Not specified

    fileNameRegex

    Optional

    Specifies a regular expression for filtering filenames.

    Not specified

    importpath

    Optional

    Specifies the SFTP location and path for importing the file into the system.

    Not specified

    scheduleNow

    Optional

    When importing files into the OMS, forces the system to pick the file out of sequence for immediate processing. Enabled by default when importing files from FTP, but can be disabled during high-volume syncs for system stability.

    Not specified

    createdByJobID

    Optional

    ID of the job that initiated this job.

    Not specified

    groupBy

    Optional

    Specifies a grouping parameter for the job.

    Not Specified

    additionalParameters

    Optional

    Additional parameters for job customization.

    Not Specified

    fileNameRegex

    Optional

    Specifies a regular expression for filtering filenames.

    Not Specified

    importPath

    Optional

    SFTP file location from where the file will be imported.

    Not Specified

    scheduleNow

    Optional

    When importing files into the OMS, forces the system to pick the file out of sequence for immediate processing. Enabled by default when importing files from FTP, but can be disabled during high-volume syncs for system stability.

    Not Specified

    createdByJobId

    Optional

    ID of the job that initiated this job.

    Not Specified

    groupBy

    Optional

    Specifies a grouping parameter for the job.

    Not Specified

    additionalParameters

    Optional

    Additional parameters for job customization.

    Not Specified

    fileNameRegex

    Optional

    Specifies a regular expression for filtering filenames.

    Not Specified

    importPath

    Optional

    SFTP file location from where the file will be imported.

    Not Specified

    scheduleNow

    Optional

    When importing files into the OMS, forces the system to pick the file out of sequence for immediate processing. Enabled by default when importing files from FTP, but can be disabled during high-volume syncs for system stability.

    Not Specified

    createdByJobId

    Optional

    ID of the job that initiated this job.

    Not Specified

    Parameter

    Type

    Description

    Default Value

    configId

    Required

    Identifies the configuration for Order Item Attribute records.

    IMP_HIS_SHOP_CUST

    propertyResource

    Required

    Specifies the property resource for configuration.

    FTP_CONFIG

    remoteFilename

    Optional

    Specifies the remote filename for processing.

    Not specified

    Parameter

    Type

    Description

    Default Value

    configId

    Required

    Identifies the configuration for import JSON list data.

    IMP_JSON_LIST_DATA

    propertyResource

    Required

    Specifies the property resource for configuration.

    FTP_CONFIG

    remoteFilename

    Optional

    Specifies the remote filename for processing.

    Not Specified

    Parameter

    Type

    Description

    Default Value

    configId

    Required

    Identifies the configuration for import JSON data.

    IMP_JSON_DATA

    propertyResource

    Required

    Specifies the property resource for configuration.

    FTP_CONFIG

    remoteFilename

    Optional

    Specifies the remote filename for processing.

    Not Specified

    Video: Update Shipping Details
    Cancel orders in Bulk
    Release orders in Bulk
    Release orders by products
    .
  • Select Line Items: Choose the items to be marked as shipped in the popup window.

  • Enter Tracking Details: Select the carrier party from the dropdown and input the tracking number.

  • Confirm Shipment: Verify the details and confirm the shipment to mark the selected item(s) as shipped.

  • Proceed to click
    Ship Items
    , select line item(s), input tracking details, and confirm the shipment.
    Release
    , and choose the necessary facility.
  • Mark Items as Shipped: Click Ship Items, select line item(s), input tracking details, and confirm the shipment.

  • Hold completed and canceled orders during initial setup.

    To hold completed and canceled orders during the initial Order Management System (OMS) instance setup, for later reference during analysis in reporting.

    Store Pickup Rejected queue

    Hold rejected store pickup orders

    To hold store pickup orders which are rejected from the store,

    Facility Parking

    Description

    Purpose

    Brokering

    Holds new orders

    To hold orders for in-stock items, until the next brokering run.

    Pre-order

    Holds pre-orders

    To hold pre-ordered items until released from the HotWax Commerce Pre-order Management app upon inventory availability.

    Backorder

    Holds Backorders

    To hold backordered items until released from the HotWax Commerce Pre-order Management app upon inventory availability.

    Unfillable Hold Parking

    Hold orders which are unfillable but expecting inventory

    To hold unfillable items from further brokering and auto-cancellation.

    General Operations Parking

    .

    Creating and Managing Routing Rules

    This section explains how to create order batches in a brokering run using filters and sorting options to match business needs. We’ll demonstrate this by creating two routing rules: Same-day/Next-day orders and Standard orders within our previously created Everyday order routing brokering run.

    In this example, we’re routing Same-day/Next-day orders and Standard orders at the same frequency. If a business scenario requires these batches to be routed at different frequencies then separate brokering runs should be created.

    Adding a New Routing Rule

    • Click the Create order batch button to create a new routing rule.

    • Name the routing rule and click Save to add it to the list of routing rules.

    • To add the next routing rule click on the New button next to the "Order batches" label and name your new routing rule.

    Continuing our example, let's name our two routing rules as Same-day/Next-day orders and Standard orders.

    For a routing to actively process orders, you’ll need to change its status from Draft to Active. Just click Draft to update it to Active, or, if needed, revert an active routing back to Draft by clicking on Active.

    This step should be done only after setting up all routing rules.

    Sequencing Routing Rules

    To prioritize which the routing rule is applied first:

    • Click and drag the chip on the top right of the routing card.

    • The sequence number on the card will automatically update based on the card's position.

    Continuing our example, we’ll position Same-day/Next-day orders before Standard orders so that the higher-priority order batch is routed first.

    Configuring Routing Rules to Create Order Batches

    Creating an order batch is a two-step process:

    Order Filters and Sorting

    Step 1: Creating a Batch of Orders Using Filters

    The first step in setting up routing rules is to create a batch of orders using specific filters. This helps the brokering algorithm group and prioritize orders accurately for each routing rule, enabling more targeted and effective fulfillment strategies.

    Here are the available filters to create order batches:

    Order Batch Filters
    • Origin facility group: This parameter allows retailers to filter orders based on the facility group from which they originated. For example, many times when walk-in customers cannot find their preferred items in store, store associates place the order on their behalf. These are known as Send Sale orders. In this scenario, the origin facility becomes the specific physical location. If a retailer wants all Send Sale orders from specific facilities to be routed differently, then they can apply this filter to create a batch of orders and proceed to create their routing.

    • Order priority: Not all orders carry the same level of urgency. In HotWax Commerce, orders can be assigned a priority level of high, medium, or low. By default, orders are set to "medium priority," but retailers can adjust the order priority in HotWax Commerce as needed. By filtering orders based on priority, the most critical ones (high-priority orders) are routed before less urgent ones.

    • Promise date: Pre-orders or backorders can be filtered based on their promise date. Retailers may choose to broker orders that have passed their promise date first for the timely fulfillment of overdue orders.

    • Queue: The parking location to pick orders from. HotWax Commerce has to park orders that are not yet brokered to a facility. Retailers can filter by queue type (Brokering Queue, Pre-order/Backorder Parking, Rejected Parking, or Unfillable Parking) to decide which orders should be brokered to available inventory.

      • All orders that are not pre-orders or backorders in HotWax Commerce and are waiting for the inventory are in the Brokering Queue. In most of the cases this will be the filter you will use to make your order batch.

    • Sales channel: Channel where the order was captured. Different sales channels (eCommerce or marketplaces) may require different routing strategies. Orders can be filtered by channel so that the right group of orders is picked for routing based on channel-specific fulfillment rules, reducing the risk of penalties or delays in fulfilling orders from marketplaces like Amazon.

    • Shipment method type: SLA promised to the customer. When customers choose specific , like expedited or same-day delivery, these orders must be prioritized differently. Retailers can use this filter to create a batch of orders based on the selected shipping method, so orders requiring fast shipping are processed first.

    Exclude Tab: Exclude orders based on specific criteria while including all others. This feature is useful when retailers need to filter orders by omitting a specific filter instead of manually selecting all others. In case a retailer wants to create a batch of all online orders except those from Facebook Marketplace, instead of selecting all other retail channels, they can just exclude it.

    Continuing with our example, let’s take a closer look at how to apply the right filters and sorting options for Same-day/Next day routing rule.

    Applying filters to create order batches:

    1. Open the Same-day/Next-day orders routing rule’s details, then navigate to the Filters option.

    2. Filters help define which orders should be looked up to create a batch. For the “Same-day/Next-day” routing rule we will choose the “Queue” and "Shipment method type" filters.

    • From the “Queue” we will choose the “Brokering Queue” to include all orders that are waiting for the inventory allocation.

    • From the “Shipping Method” dropdown, we will choose “Same Day" and "Next Day” shipping methods to include only same-day and next-day shipping orders in our batch.

    Since our objective is to prioritize orders with tight SLAs, we are not selecting additional filters like order priority, promise date, and sales channel.

    Outcome? With these filters in place, the brokering algorithm will specifically look for orders in the Brokering Queue that need same-day or next-day delivery. This means that urgent orders are prioritized in your batch for quicker inventory allocation and fulfillment.

    If you are not selecting any filter then all orders in all parkings will be attempted for brokering.

    Step 2: Sequencing Orders in a Batch Using Sorting

    After filtering, the next step is choosing the Sorting criteria to prioritize the sequence in which individual orders within each batch are picked for inventory allocation. Sorting allows you to align order routing with your fulfillment goals, prioritizing high-priority orders first.

    Available sorting options:

    Order Batch Sorting
    • Order date: Sort by order date to prioritize older orders first, following a first-in, first-out (FIFO) approach.

    • Order priority: Orders can be sorted by priority levels, such as high, medium, low allowing retailers to prioritize orders based on their urgency.

    • Ship by

    • Ship after

    • Shipping method: Sorting by shipping method enables the brokering engine to prioritize orders based on the promised SLA. HotWax records the delivery days associated with each shipping method, Same-Day as 0, Next-Day as 1, Two-Day as 2, etc. For example, applying shipping method sorting for a Same-Day/Next-Day batch allows the brokering engine to pick same-day orders before next-day orders, so inventory is allocated first to the most urgent orders. Sorting orders by shipping method becomes unnecessary when all orders in the batch have the same shipping method.

    Choosing sorting options to define order priority:

    1. Navigate to the Sort option. Continuing our example, for the Same-day/Next-day order batch we will choose the "Shipping Method” sorting so that all same-day orders are sequenced first following by all the next day orders.

    2. Finally, click on the Save icon in the right most corner to save your configured routing rule.

    If you are choosing multiple sorting options, you can prioritize them into the desired sequence using drag and drop.

    Orders will be brokered based on order date if no sorting is specified.

    Now that you already know what filters and sorting options are available and what they mean, you can easily use them for your next routing rule.

    Let’s see what should be the right filters and sorting options for our second routing rule Standard orders.

    1. From the filters option, we will choose the "Queue" and "Shipment method type" filters.

    • From the “Queue” dropdown we will choose the “Brokering Queue” to include all shipping orders that are waiting for the inventory allocation.

    • Now, from the "Shipping Method" dropdown we will choose the “Standard” shipping method to include only standard shipping orders present in the Brokering Queue.

    1. From the sorting option, even if we don’t choose any option all standard orders are sequenced based on their order date that is FIFO basis, so older orders are picked first for inventory allocation.

    We did not apply the Shipping Method sorting for our Standard orders because all of these orders use the same standard delivery shipping method. Therefore, sorting by shipping method in this case would not make any difference.

    1. Finally, click on the Save icon in the right most corner to save your configured routing rule.

    These examples help understand how retailers can use different filters and sorting options to create order batches and strategically fulfill orders, aligning each routing rule with specific business objectives.

    Archiving a Routing

    When a routing is no longer needed in a brokering run you can Archive it:

    • Click on the Archive button at the bottom right of the routing card.

    • This action moves the routing to the archive, removing it from the brokering run flow.

    Archived routings can be reactivated if needed and are accessible from the archive drawer at the bottom of the list.

    Congrats! You now have a clear understanding of how to create brokering runs and set routing rules. The final step is choosing inventory rules to complete the order routing setup.

    inventory rules in the coming sections
    Unlinking variants from Shopify in OMS
    Video: Search Product Page
    1. Filters

    Look up orders and group them in a batch.

    1. Sorting

    Determine the sequence in which orders are picked up during routing.

    virtual queues
    shipping methods
    Video: Search Product Page
    Video: Find Product Page

    Use Cases

    This section contains use cases designed to help you understand how various scenarios can be handled in the HotWax Commerce Order Routing App. These use cases are written as if you are creating a brokering run for the first time, ensuring simplicity and clarity for new users.

    However, if you already have an existing brokering run and want to maintain the same schedule, you don’t need to create a new run. Simply add the routing rules from these cases to the relevant existing runs. This way, you can enhance your current routing logic without altering your established workflows.

    Scenario 1: Fulfilling Marketplace Orders from Warehouse

    A retailer wants to ensure that all orders placed through various marketplaces are fulfilled exclusively from their warehouse. This scenario is common for businesses that prefer to manage marketplace orders separately due to specific logistical or contractual obligations.

    Pre-Requisites for This Scenario

    • Marketplace_sales_channel must be created in HotWax Commerce and mapped with the relevant .

    • A in HotWax Commerce with the Brokering_group subtype, which includes all warehouse locations.

    Steps to Implement

    Create Run

    To create a new brokering run for marketplace orders, begin by opening the Order Routing App. If you are managing multiple product stores, select the relevant store to ensure marketplace orders are routed correctly. Next, click on New Run and name the run something clear and specific, such as “Marketplace Order Routing,” to easily identify its purpose. Add a description like “Routing all marketplace orders through warehouse locations only” to provide clarity for your team. Finally, navigate to the Scheduler card and set the appropriate frequency for this routing run, ensuring marketplace orders are processed on time.

    Create Routing Rules

    To set up routing rules for marketplace orders, first, select the previously created routing run for marketplace orders in the Order Routing App. This ensures the routing rule is linked to the correct run.

    In the next step, apply the necessary configurations:

    • Order Filter: Use the Sales Channel filter to include only marketplace orders, ensuring orders from Shopify or other marketplaces are grouped and brokered separately from other channels.

    • Order Sort: Set the sorting criteria to Order Date. This ensures that older marketplace orders are prioritized for inventory allocation, following a first-in, first-out (FIFO) approach.

    Create Inventory Rule

    To create inventory rules for marketplace orders, first ensure that the appropriate routing rule for marketplace orders is selected, then click on Add Inventory Rule. Once the inventory rule is created, follow these steps:

    • Inventory Filter: Apply the Facility Group filter and select the group for warehouses only. This ensures that the inventory from warehouse locations is considered for the routing.

    • Inventory Sort: Sort the inventory by proximity to the customer’s delivery address. This helps minimize shipping costs by prioritizing inventory that is closer to the destination.

    • Actions: If inventory is unavailable, toggle on Partial Fulfillment to allow order splitting. For completely unavailable inventory, select Send Orders to Queue and assign them to the Unfillable Queue for further processing.

    Scenario 2: Fulfilling eCommerce Orders from Warehouse and Stores

    Retailers often prefer to fulfill eCommerce orders from their warehouse first, but when inventory is unavailable, the orders should be routed to retail stores for fulfillment. This helps ensure that orders are not delayed and inventory is optimized across all available locations.

    Pre-Requisites for This Scenario

    To implement this scenario, you need to in HotWax Commerce. First, create a Warehouses facility group under the Brokering_Group subtype, which will include all your warehouse locations. Second, create a Stores facility group, also under the Brokering_Group subtype, to ensure that all retail store locations are available for routing when necessary. These facility groups ensure a clear separation of inventory between warehouses and retail stores.

    Steps to Implement

    Create Run

    To create a new brokering run for eCommerce orders, open the Order Routing App. If your system manages multiple product stores, be sure to select the relevant store from the bottom-left switcher to ensure the correct routing. Click on New Run, and give it a clear name such as "eCommerce Order Routing." This naming convention will help easily identify the run for future use. In the description field, add something like "Prioritizing warehouse fulfillment, with store fallback" to clarify the purpose of the run for the rest of your team. Finally, navigate to the Scheduler card to set the run's frequency. This ensures that eCommerce orders are processed in a timely manner.

    Create Routing Rules

    To configure the routing rules for eCommerce orders, first, ensure that the eCommerce Order Routing run is selected.

    • Order Filter: Use the Sales Channel filter to select only eCommerce orders. This will group and broker orders specifically from your eCommerce channel, keeping them separate from orders placed through other sales channels.

    • Order Sort: Set the sorting criteria to Order Date. This ensures that older orders are processed first, following a first-in, first-out (FIFO) model for order fulfillment.

    Create Inventory Rules

    Now, create inventory rules to route orders through the appropriate facilities. First, make sure that the correct eCommerce Order Routing rule is selected, then click on Add Inventory Rule.

    • First Inventory Rule for Warehouses The first rule ensures that orders are fulfilled from warehouse locations:

      • Inventory Filter: Apply the Facility Group filter and select the group for Warehouses only, ensuring that orders are initially routed through the warehouse locations for fulfillment.

      • Inventory Sort: Sort by proximity to the customer’s delivery address to help minimize shipping costs, prioritizing fulfillment from warehouses closest to the destination.

    Activate and Schedule

    Once the routing rules and inventory rules are set up, the next step is to activate the rules and schedule the run. First, change the status of the eCommerce Order Routing run from Draft to Active. This makes the run ready for live processing. After that, activate the inventory rules for both warehouses and stores, ensuring they are applied during the routing process. Finally, schedule the routing run by setting the frequency at which it should occur, ensuring that eCommerce orders are brokered and fulfilled without delays.

    Scenario 3: Re-Routing Rejected Orders

    When orders is rejected from stores due to inventory unavailability, the order routing engine automatically re-routes the rejected orders to the next best location with available inventory. This ensures fulfillment while minimizing cancellations, and improving operational efficiency and customer satisfaction.

    Steps to Implement

    Create Run

    Start by creating a new brokering run for rejected orders in the Order Routing App. Click on New Run and name it something clear, such as “Rejected Orders Re-Routing.” Add a description like "Re-routing rejected orders to available locations" for better team understanding. Finally, navigate to the Scheduler card to set the frequency for this routing run, ensuring that rejected orders are handled in a timely manner.

    Create Routing Rules

    Once the run is created, set up the routing rules for re-routing rejected orders.

    • Order Filter: Apply the Queue Filter in the order batch settings and select the Rejected Order Item queue. This ensures that only rejected orders are included in this batch.

    • Order Sort: Set the sorting criteria to Order Date, ensuring that the oldest rejected orders are reprocessed first, following a first-in, first-out (FIFO) method.

    Create Inventory Rule

    Now, create an inventory rule that routes orders to the best available location.

    • Inventory Filter: If you are checking the inventory at all locations, without any additional filters, you don't have to add inventory rule here.

    • Inventory Sort: Sort by proximity to the customer’s delivery address to minimize shipping costs.

    • Actions: If inventory is unavailable across all locations, select one of the following options:

    Activate and Schedule

    Once the routing and inventory rules are configured, activate the Rejected Orders Re-Routing run by changing its status from Draft to Active. Then, schedule the routing runs to ensure timely re-routing of rejected orders at regular intervals.

    Scenario 4: Proximity-Based Order Routing

    Retailers may want to fulfill orders from locations closest to the customer to minimize delivery times and costs. By applying a proximity-based routing strategy, businesses can improve both operational efficiency and customer satisfaction.

    Steps to Implement

    Create Run

    To start, open the Order Routing App and create a new brokering run for proximity-based routing. Name the run something descriptive, such as "Proximity Order Routing." In the Scheduler card, set the appropriate frequency for the run to ensure timely processing of orders based on proximity.

    Create Routing Rules

    Once the run is created, define the routing rules to prioritize fulfillment based on customer proximity.

    • Order Filter: Apply the Queue Filter to select the Brokering Queue. By default, orders from all queues will be included. If you need to focus on a specific queue, select accordingly.

    • Order Sort: Sort the orders by Order Date. This ensures that older orders are given priority in the routing process, following a first-in, first-out (FIFO) approach.

    Create Inventory Rule

    Now, configure the inventory rule to allocate stock based on proximity.

    • Inventory Filter: Apply the Proximity Filter with a specified distance (e.g., 50 miles). This ensures that orders are routed to locations within the defined proximity of the customer’s delivery address.

    • Inventory Sort: Sort the inventory by Proximity. This ensures that the nearest fulfillment locations are prioritized for order allocation.

    • Actions: If you want to split the order to allocate the inventory within 50 miles for the items available, turn on the toggle for partial rejection. In case of inventory unavailability, you can choose to send the order to the next rule if you want to broaden the search beyond 50 miles, select the option to send the order to the next inventory rule. Alternatively, if you want to limit fulfillment to locations within 50 miles and no inventory is available, send the order to the

    Activate and Schedule

    Once the rules are set up, activate the proximity-based rules and routing run by changing the status from Draft to Active. Then, schedule the routing run at regular intervals to ensure efficient processing of orders based on proximity.

    Scenario 5: Minimum Stock Availability

    Retailers need to balance in-store inventory for walk-in customers while fulfilling online orders. To do this, they want to allocate online orders only to locations with sufficient stock, ensuring that in-store inventory is preserved. Using the Brokering Safety Stock feature allows retailers to set a minimum stock threshold for order allocation, protecting essential inventory for physical store customers.

    Steps to Implement

    Create Run

    Open the Order Routing App to begin creating a new brokering run. Name the run something like "Minimum Stock Order Routing" for clarity, and provide a description such as "Allocating online orders only to locations meeting minimum stock levels." Then, in the Scheduler card, set the appropriate frequency for the routing run to ensure the timely processing of orders.

    Create Routing Rules

    Define the routing rules to ensure online orders are routed only to locations that meet the minimum stock levels for each item.

    • Order Filter: Apply the Brokering Queue filter to route orders from the appropriate queue.

    • Orde Sort: Sort orders by Order Date to prioritize older orders in the routing process, ensuring a first-in, first-out (FIFO) approach.

    Create Inventory Rules

    Set up inventory rules that ensure fulfillment is done only from locations that meet the required stock levels.

    • First Inventory Rule:

      • Inventory Filter: Apply the Brokering Safety Stock filter and define the minimum stock level required for inventory allocation. For example, if the Brokering Safety Stock is set to greater than 10, the inventory will only be allocated if the store has more than 10 units of that item available. This ensures that walk-in customers have access to sufficient stock._

      • Inventory Sort: Sort the inventory by Inventory Balance

    Activation and Scheduling

    Activate both inventory rules and the order routing batch. Ensure that the rules are in effect by changing the status of the batch from Draft to Active. Lastly, schedule the routing runs to occur at regular intervals, ensuring efficient and timely fulfillment of online orders while maintaining adequate stock levels for in-store customers.

    Scenario 6: Managing Store Fulfillment Based on Rent Agreements

    Retailers who manage stores with varying rent agreements, especially those in malls where rent is tied to sales revenue, need to optimize order routing to avoid giving commissions to the malls. By prioritizing the stores that are not in malls, retailers can increase profitability.

    Prerequisites for This Scenario

    Ensure that for stores with fixed rental agreements.

    • Fixed Rent Stores: Group stores with fixed or lower rent costs.

    • All Stores: Group all stores to use as a fallback for order fulfillment when necessary.

    Steps to Implement

    Create Run

    Open the Order Routing App and set up a new brokering run. Name the run something like "Fixed Rent Store Fulfillment" to indicate that this run prioritizes stores with fixed or lower rent costs. In the Scheduler card, set the appropriate frequency for routing to ensure orders are processed at regular intervals.

    Create Routing Rules

    Define routing rules to prioritize cost-effective fulfillment locations.

    • Order Filter: Apply the Brokering Queue filter to route orders from the appropriate queue.

    • Order Sort: Sort orders by Order Date to prioritize older orders in the routing process.

    Create Inventory Rules

    Set up inventory rules to ensure fulfillment is prioritized based on store rent agreements.

    • First Inventory Rule:

      • Inventory Filter: Select the facility group created for stores with fixed or lower rent costs.

      • Inventory: Sort inventory by Inventory Balance to prioritize locations with sufficient stock levels in these low-rent stores.

    Activation and Scheduling

    Activate both inventory rules and the order routing batch. Ensure that the rules are active and schedule the brokering runs to execute at regular intervals, ensuring efficient and cost-effective fulfillment of online orders while managing rental costs.

    Scenario 7: Balancing Shipping Costs and Distance with Split Shipments

    Retailers need to balance the cost of shipping, which is influenced by both the distance and the number of shipments. The goal is to minimize shipping costs by considering when it's more cost-effective to ship from multiple locations versus a single distant location. This scenario is particularly relevant for retailers with stores and warehouses spread across a wide geographic area.

    Steps to Implement

    Create Run

    Open the Order Routing App and create a new brokering run. Name it "Proximity and Cost-Based Shipping" to reflect that the routing will balance shipping costs with distance and split shipments when necessary. Set up a regular schedule for the run to ensure continuous order processing.

    Create Routing Rules

    Define routing rules to balance shipping costs and minimize the distance of fulfillment.

    • Order Filter: Apply the Brokering Queue filter to ensure that orders from the correct queue are routed.

    • Order Sort: Sort orders by Order Date to ensure older orders are fulfilled first.

    Create Inventory Rules

    Define a series of four inventory rules to balance shipping costs with proximity and partial allocation options.

    • First Inventory Rule:

      • Inventory Filter: Apply a Proximity Filter to limit the search to locations within 100 miles.

      • Inventory Sort: Sort the inventory based on Proximity to prioritize the nearest locations.

    Activation and Scheduling

    Activate all inventory rules and ensure that the order routing batch is active. Schedule the brokering runs to execute at regular intervals, ensuring a balance between shipping cost and distance while also handling split shipments when required.

    Note: To further minimize the high cost of shipping due to order splitting, you can use the feature of HotWax Commerce.

    Scenario 8: Managing Order Splitting for Grouped Items (Kits and Gift Items)

    Retailers often face scenarios where certain items in an order must be shipped together, while other items can be shipped separately. For example, if a customer orders a frame and lenses along with sunglasses, the frame and lenses must be shipped together, but the sunglasses can be shipped from a different location. In such cases, items like the frame and lenses are grouped to ensure they are always shipped together.

    HotWax Commerce allows retailers to manage these scenarios by disabling the splitting of grouped items while keeping the option to split other items in the order. This ensures that grouped items, which are critical to be shipped together, are handled appropriately, while other non-grouped items can still be split for faster fulfillment.

    Create Run

    Set up a brokering run in the Order Routing App and label it “Grouped and Split Shipments” to manage orders containing both grouped and non-grouped items.

    Create Routing Rules

    Set up routing rules to manage the overall flow of orders.

    • Order Filter: Apply the Brokering Queue filter to prioritize orders correctly.

    • Order Sort: Sort by Order Date to process the oldest orders first.

    Create Inventory Rules

    Define three inventory rules that control how grouped and non-grouped items are allocated, with specific actions for each rule.

    • First Inventory Rule:

      • Inventory Filters: Since no specific inventory filters are needed for this scenario, no filters are applied.

      • Inventory Sort: Sort inventory based on Proximity to prioritize fulfillment from the closest locations.

    4. Activation and Scheduling

    Activate all inventory rules and ensure the brokering run is scheduled to process orders at regular intervals. This setup ensures that grouped items like kits are handled together while non-grouped items can be split for faster delivery, based on the retailer’s fulfillment strategy.

    Video: Reject sales order items
    Video: Release item
    Video: Ship items in OMS

    Inventory Rules

    Learn about Inventory Rules.

    As discussed, inventory rules help orchestrate the process of choosing the most suitable fulfillment locations for each order in a batch of orders based on defined criteria like proximity, stock levels, and strategic priorities. These rules act as sequential steps in the order routing, guiding the brokering engine through multiple checks to find the best fulfillment location.

    Why Use Multiple Inventory Rules

    Multiple inventory rules are required because a single rule may not allocate inventory to all orders in a batch. If the first rule does not allocate inventory to some orders, the brokering engine will proceed to the next rule in sequence. This multi-step process continues through each rule until all possible options are exhausted.

    Using multiple inventory rules means that if primary locations lack the required inventory, secondary locations can be considered. This layered approach increases the likelihood of successful allocation by exploring various fulfillment options.

  • Actions: If inventory is unavailable at the warehouses, set the rule to send the order to the next inventory rule, allowing the system to route the order to available retail stores. If you want to allocate partially available inventory from the warehouse to the orders, turn on the toggle for Partial Fulfillment.

  • Second Inventory Rule for Stores The second rule is triggered when the warehouse is unable to fulfill the order:

    • Inventory Filter: Apply the Facility Group filter and select the group for Stores, allowing the system to route orders through retail store locations as a secondary option.

    • Sort Inventory: Sort by proximity to the customer’s delivery address, helping to minimize shipping costs by routing orders to the nearest store.

    • Actions: If the inventory is also unavailable in the stores, send the order to the Unfillable Queue for further processing, ensuring that orders that cannot be fulfilled are properly handled. Allow partial fulfillment by turning on the toggle to allow order splitting and ensure available items are fulfilled.

  • If you want to split the order to allocate the inventory for the items available, turn on the toggle for partial rejection.

  • If you have another inventory rule for further allocation, select send to Next Rule to attempt routing based on the next rule.

  • If no further rules exist, select send to Unfillable Queue to handle orders manually or through alternative processes.

  • Unfillable Queue
    for further action.
    to prioritize locations with higher stock levels.
  • Action: If no location can fulfill the entire order based on the first rule, select the option to Send to Next Rule.

  • Second Inventory Rule:

    • Inventory Filter: No specific filter is selected, as inventory can be allocated from any available location.

    • Inventory Sort: Sort the inventory by Inventory Balance to prioritize locations with the most available stock.

    • Action: If partial fulfillment is allowed, enable Allow Partial Fulfillment to split the order between multiple locations. If partial allocation is not an option, select Send to Unfillable Queue.

  • Action: If no location can fulfill the order based on this rule, select the option to Send to Next Rule.
  • Second Inventory Rule:

    • Inventory Filter: Select the facility group that includes all stores to broaden the search to any available location.

    • Inventory Sort: Sort inventory by Inventory Balance to prioritize locations with the most available stock.

    • Action: If partial fulfillment is allowed, enable Allow Partial Fulfillment to split the order between multiple locations. If partial allocation is not an option, select Send to Unfillable Queue.

  • Action: Disable partial allocation to ensure that the entire order is fulfilled from a single location within 100 miles. If no location can fulfill the order, send to the next rule.

  • Second Inventory Rule:

    • Inventory Filter: Apply the same Proximity Filter of 100 miles.

    • Inventory Sort: Sort the inventory based on Proximity.

    • Action: Enable partial allocation to allow the order to be split across multiple locations within the 100-mile proximity. If the order cannot be fully allocated, send it to the next rule.

  • Third Inventory Rule:

    • Inventory Filter: Remove the inventory filter to expand the search to distant locations without any proximity constraints.

    • Inventory Sort: Sort the inventory based on Proximity.

    • Action: Disable partial allocation to require the entire order to be fulfilled from a single, distant location. If no single distant location can fulfill the order, send it to the next rule.

  • Fourth Inventory Rule:

    • Inventory Filter: Allow all available locations to be included.

    • Inventory Sort: Sort the inventory based on Proximity.

    • Action: Enable partial allocation to allow the order to be split across all available locations. If the order still cannot be fulfilled, send it to the unfillable queue.

  • Action: Disable both Partial Fulfillment and Split Grouped Items to ensure that the entire order, including grouped items, is fulfilled from a single location. If no location can fulfill the order, send it to the next rule.
  • Second Inventory Rule:

    • Inventory Filters: No filters are applied here as well.

    • Inventory Sort: Continue sorting by Proximity to ensure the closest locations are prioritized.

    • Action: Enable Partial Fulfillment to allow non-grouped items to be split across multiple locations but keep Split Grouped Items disabled to ensure grouped items stay together. If unavailable, send the order to the next rule.

  • Third Inventory Rule:

    • Inventory Filters: Again, no filters need to be applied here.

    • Inventory Sort: Sort by Proximity again to prioritize fulfillment from nearby locations.

    • Action: Enable both Partial Fulfillment and Split Grouped Items to allow the entire order, including grouped items, to be split across multiple locations. If no fulfillment is possible, send the order to the unfillable queue.

  • sales channels in Shopify
    facility group must be created
    create two facility groups
    facility groups are created
    shipment threshold
    Marketplace Orders Routing
    Rerouting Rejected Orders
    Proximity Based Routing

    For example, let’s continue with our example of Same-day/Next-day batch, assuming there are 1,500 orders:

    Only 2 orders remain unfillable, moving to Unfillable Parking (configurable action) for rerouting as inventory becomes available.

    Applying these inventory rules progressively increases the likelihood of fulfilling each order without delay by prioritizing the most optimal locations first and expanding options only when needed.

    In the next sections, we will learn how to create these multiple inventory rules for different order batches.

    Creating and Managing Multiple Inventory Rules

    Here’s how multiple inventory rules work within each routing rule:

    • Each rule is checked in sequence. If a rule does not allocate inventory to an order, the brokering engine attempts inventory allocation using the next rule.

    • If no inventory is allocated after all the rules are checked, an auto-cancellation date can be applied or the order may be moved to a different queue for reattempted routing later with a different strategy.

    You can easily drag and drop inventory rules to reorder them. The order in which the rules are arranged is important, as the first inventory rule is always evaluated first, followed by the next one. This allows for flexibility in adjusting the sequence as per changing requirements.

    In this section, we’ll demonstrate how to set up multiple inventory rules for two routing rules we created earlier: Same-day/Next-day orders and Standard orders.

    Creating inventory rules is a three-step process:

    Choose Optimal Facilities

    Step 1: Finding Facilities with Inventory Using Filters

    The first step is to filter the available facilities to identify those capable of fulfilling an order, so the brokering algorithm considers only facilities that meet the specific criteria set by retailers for order fulfillment.

    For example, a retailer may want to use both stores and warehouses for high-priority orders, such as same-day and next-day deliveries. While, for standard orders, they may prefer to rely only on warehouses, avoiding the use of stores. These preferences can be configured using inventory rules to address these types of cases effectively.

    Now, if you are wondering how to achieve this configuration, here’s how:

    Retailers can set up facility groups in HotWax’s Facility App. Creating facility groups is an important concept because it allows you to group different facilities. For example, in the scenario above, you could create facility groups where one group includes both stores and warehouses, while another includes only warehouses. This setup provides control over facility lookup based on order type and urgency. Here’s a user manual to understand more about the app and its use cases.

    HotWax Commerce offers several inventory filters to fine-tune which facilities are eligible for allocation, including:

    Inventory Filters
    • All items available anywhere: Only allocate a shipgroup if all the items are available. All items do not have to be available at the same location, only available at the same time. This is useful if an order should only be shipped if all of it can be shipped without cancellation.

    • Turn off the facility order limit check: Retailers can set fulfillment capacity in HotWax, allowing them to define the maximum number of orders a facility can fulfill in a day. Disabling the facility order limit filter gives retailers the flexibility to bypass the defined order limit for a facility, which is especially useful during peak times or high-demand periods. For example, if a retailer turns off this limit, orders can continue to be assigned to that facility even after its maximum capacity has been reached.

    • Shipment Threshold Value Check: Retailers can set a minimum shipment value to prevent order splitting for low-value allocations, ensuring efficient shipping. For example, if the threshold is $25, items will only be allocated if their value exceeds $25.

    • Brokering safety stock: Different from online ATP safety stock, brokering safety stock defines the minimum stock required for an order to be brokered to a facility. For example, if a retailer sets a brokering safety stock level of 10 units, only facilities with at least 10 units of the item in stock will be eligible to fulfill the order. This prevents over-allocation and maintains safety stock levels for unforeseen demand.

    • Facility Group: Custom grouping of locations. Grouping certain facilities allows retailers to simplify their decision-making. For example, as discussed above, there can be a dedicated facility group of only warehouses, one group can have both stores and warehouses or there can also be slow-moving or lower-demand facilities can be grouped together and allotted for non-urgent orders, while high-demand facilities are reserved for time-sensitive fulfillment.

    • Proximity: The distance between a fulfillment facility and the customer’s address. When a facility address is added in HotWax, its latitude and longitude are automatically saved. Similarly, HotWax saves the latitude and longitude for customer addresses as well. With both locations’ coordinates stored, the brokering engine can compare them to identify warehouses and stores within the defined proximity that have available inventory. For example, a retailer can set a 200-mile proximity limit for next-day delivery orders, so only inventory within 200 miles of the customer’s address is considered. This approach supports faster, cost-effective delivery while meeting SLA requirements.

    • Exclude Facility Group: Exclude a specific facility group from order allocation. Rather than selecting all the valid facility groups individually, retailers can simply exclude the one group they don’t want certain orders to be allocated to.

    For example, if a retailer wants to allocate inventory for rejected orders only to warehouses and retail stores while excluding only outlet stores, they can apply the exclude filter to omit outlet stores instead of selecting both other groups.

    All facilities enabled for online fulfillment will be attempted for brokering if no filter is applied.

    Continuing our example, let's first create inventory rules for Same-day/Next-day orders routing.

    Applying filters to look up facilities with inventory:

    1. Start Creating the Inventory Rule, click the Add Inventory Rule button. Name the rule, such as “Check all warehouses in 100 miles,” to reflect its purpose of checking only the closest warehouses that can meet the same-day or next-day delivery SLA.

    2. Click Save to save the rule name.

    3. Configure filters, select the right filters to narrow down eligible facilities. For the “Same-day/Next-day orders” routing rule, we will choose “Facility Group” and “Proximity”.

    • Facility Group: Select “Warehouses” from the dropdown. This limits eligibility to only warehouses with available inventory. Why did we choose warehouse locations? Warehouses handle larger inventory volumes and can better support online order fulfillment compared to stores, which often focus on walk-in customers.

    • Proximity: Set the distance to 100 miles, so the rule includes only those warehouses within a 100-mile radius of the customer’s location.

      This means that only nearby warehouses are considered, optimizing delivery speed and meeting SLA requirements.

    If no warehouse within 100 miles has inventory available, the next inventory rule expands the search to include both stores and warehouses. This multi-step approach allows the brokering engine to consider optimal warehouse locations first before evaluating stores, maximizing efficiency.

    Step 2: Sequencing Eligible Facilities Using Sorting

    Once the eligible facilities are filtered, the next step is to set up sorting criteria to prioritize these locations based on specific requirements. Sorting determines the sequence in which the brokering engine evaluates facilities. For example, if 10 facilities meet the filtering criteria, sorting enables the brokering engine to choose the most optimal one based on your fulfillment goals, such as faster delivery, balanced workload, or efficient inventory usage.

    Here are the available sorting options:

    Inventory Sorting
    • Proximity: Retailers can sort inventory allocation based on the distance between the customer's shipping address and the facility. This sorting method prioritizes inventory located closer to the customer, helping reduce shipping times and costs, especially for expedited orders or those requiring same-day or next-day delivery.

    • Facility order limit: To maintain a balanced workload at facilities, they can also be sorted based on the remaining fulfillment capacity.

    • Inventory balance: Orders can be routed to facilities with the highest available stock of the ordered item, prioritizing locations with excess inventory. This strategy promotes efficient stock rotation, reduces the risk of overstocking, and helps prevent stockouts at key locations.

    • Custom sequence: Allows full manual override to the sequence at which facilities are attempted. Retailers can set a custom sequence of facilities, defining a specific order in which locations should be considered for order routing. For example, if a retailer wants to prioritize fulfillment from underperforming stores with lower foot traffic, they can create a custom sequence that favors those stores, helping to balance inventory across all locations. Custom sequences can also be useful for managing seasonal inventory or routing orders to specific regions.

    Facilities will be sorted based on creation date if no sorting preferences are applied.

    Choosing sorting options to select the most optimal facility:

    Navigate to the sort option. Continuing our example, for the “Check all warehouses in 100 miles” inventory rule, we’ll use the "Proximity" sorting option.

    This sorting option will arrange eligible facilities within the 100-mile range by their distance from the customer, so the closest warehouse is chosen for fulfillment. This approach supports meeting same-day or next-day delivery requirements by minimizing transit time.

    Step 3: After Actions Logic

    After applying filters and sorting, the final step is to define the actions to take if some orders in a batch do not receive inventory.

    Once filters and sorting have been defined, the brokering engine identifies the optimal facility to allocate inventory for orders. Multiple inventory rules are created so that if the first rule fails to allocate inventory to some orders, the next rule can be tried. In this scenario, specifying the action “move items to next rule” allows the brokering engine to check the next rule for unavailable items.

    There may also be cases where, when the brokering engine tries to allocate inventory to an order, inventory for some items is available while for others it is not, or if available, it may be at different locations. In such cases, we can specify actions to allow or disallow partial allocation. This action serves as one of the final attempts to allocate inventory to orders, ideally included in the last inventory rule.

    After-action logic helps manage orders accurately, whether through partial fulfillment or rerouting at a later time, by moving unfillable orders to a different queue.

    Here are the available actions:

    1. Partially available

    • Allow partial allocation: Allow an order to be split and allocated partially if some items are available at a location. For example, a same-day/next-day batch may allow partial allocation in the final inventory rule, while standard orders may prohibit partial allocation across all rules. While partial allocation enables some items to be fulfilled immediately, it can increase shipping costs. To mitigate this, retailers can enable the Brokering Shipment Threshold in HotWax, which only allows order splitting if the order’s value exceeds a minimum threshold. Learn more about Brokering Shipment Threshold and how to implement it.

    • Partially allocate grouped items: Allow orders containing kits or gift items to be split and allocated partially if some items are available. If you want to allow splitting for other items but wish to prevent splitting for grouped items, you can configure this by toggling ON partial allocation and toggling OFF partial allocation for grouped items.

    1. Unavailable items

    • Move items to queue: Transfer unallocated order items to the selected queue for further processing. When inventory couldn’t be allocated to an order but further allocation attempts should not be made, the order can be moved to a specific queue. This allows for holding such unfillable orders until the appropriate action can be taken. For example, unfillable orders can be moved to the Unfillable Parking, where they can later be rerouted through a different routing strategy. Ideally, this should be part of your final inventory rule.

    • Next rule: Automatically move unallocated order items to the next inventory rule in the sequence. When using multiple rules, this is the default action, allowing the brokering engine to attempt inventory allocation through each rule in sequence.

    • Auto cancel days: Specify the number of days to automatically cancel orders that could not be allocated. Based on inventory availability, retailers may want to set an auto-cancel date for orders to prevent them from staying in the fulfillment pipeline for too long. Ideally, this should be part of the final inventory rule.

    • Clear auto cancel days: This option is helpful when an auto-cancel date has been applied to an order, but incoming inventory is expected to fulfill it. For example, if unfillable items were moved to an Unfillable Parkingwith an auto-cancel date, and inventory is now expected to arrive, clearing the auto-cancellation date during routing can prevent automatic cancellation. This allows the brokering engine to reroute the order once inventory arrives, maximizing fulfillment opportunities. It's also important to note that applying or clearing an auto-cancel date will apply to all unfillable orders. If there’s an exception and you want to perform an action for a single order only, you should do so directly in HotWax OMS. You can move the specific order to a new queue, like Unfillable Hold Parking, and then remove its auto-cancel date.

    Deciding actions to choose the most optimal facility:

    1. In Actions, navigate to the partially available card. Continuing our example, for the “Check all warehouses in 100 miles” inventory rule, we’ll keep the Partial fulfillment as disabled because we want to try allocating inventory to orders using multiple rules without splitting an order. We can allow splitting in our final inventory rule.

    2. Navigate to unavailable items card. Here we will set the action as “Move unavailable items” to the “Next Rule.” This means that the brokering engine will now try to allocate inventory using the next configured inventory rule in our sequence. We don’t want to apply an auto cancel date yet or move unfillable items to a separate queue. We can do this in our final rule.

    By default partial fulfillment is disabled and move items to next rule is selected in actions.

    Great! With your first inventory rule in place, creating additional inventory rules will expand the facility lookup and optimize inventory allocation for same-day and next-day orders.

    Configuring Additional Inventory Rules for Same-Day and Next-Day Orders

    The following examples provide a brief overview of potential inventory rules, which may vary depending on a business’s unique priorities and requirements.

    To add more inventory rules, follow these steps:

    • Click on the Add Inventory Rule button and give the new rule a distinct name, such as “Check all locations in 100 miles,” to reflect its purpose of checking both the stores and warehouses that can meet the same-day or next-day delivery SLA.

    For the second inventory rule, we will expand facility lookup with the "Proximity" Filter:

    • Click on the Add Inventory Rule button and give the new rule a distinct name, such as “Check all locations in 100 miles".

    • Filter: We will use the "Proximity" filter, setting the distance to 100 miles. This rule expands the facility lookup to include all facilities (both stores and warehouses) within a 100-mile radius of the customer’s location.

    We are not using the Facility Group filter here to include all fulfillment locations (stores and warehouses) within the 100-mile radius.

    • Sorting: Under sorting, we will choose proximity so that the closest facility with the available inventory is selected.

    • Action: For any items in this batch that remain unfillable, we will set the action as “Move unavailable items” to the “Next Rule.”

    For the third inventory rule, we will further expand facility Lookup with "Proximity" Filter:

    • Click on the Add Inventory Rule button and give the new rule a distinct name, such as “Check all locations in 250 miles".

    • Filter: We will use the Proximity filter, setting the distance to 250 miles. This rule expands the facility lookup to include all facilities (both stores and warehouses) within a 250-mile radius of the customer’s location.

    • Sorting: Again, we will use the Proximity option to choose the closest facility with available inventory.

    • Action: For any items in this batch that remain unfillable, we will set the action as “Move unavailable items” to the “Next Rule.”

    For the fourth inventory rule, we will further expand facility lookup without any distance limitation:

    • Click on the Add Inventory Rule button and give the new rule a distinct name, such as “Check all locations".

    • Filter: We will not apply any filter, allowing the brokering engine to consider all facilities, regardless of distance. This rule allows every facility (store or warehouse) to be considered for fulfilling unallocated orders.

    • Sorting: We will sort facilities by "Proximity", so the closest location is selected.

    • Action: For any items in this batch that still remain unfillable, we will set the action as “Move unavailable items” to the “Next Rule.”

    For the final fifth inventory rule, we will again include all facilities but also enable order splitting to allow partial fulfillment across different facilities.

    • Click on the Add Inventory Rule button and give the new rule a distinct name, such as “Check all locations, allow splitting".

    • Filter: We will not apply any filter, allowing the brokering engine to consider all facilities, regardless of distance.

    • Sorting: We will sort facilities by "Proximity", so the closest location is selected.

    • Action: We will toggle ON “Partial allocation” to enable partial allocation across multiple facilities if inventory is spread out. For items in this batch that still remain unfillable after we have applied multiple rules, we will set the final action as “Move unavailable items” to the “Queue,” and select Unfillable Parking from the dropdown. We will also apply a "7 days auto-cancel date" for these unfillable orders.

    Once you've configured each rule, change its status from Draft to Active to make it operational. To do this, click on Draft and select Active, or revert an active rule back to Draft if any adjustments are required.

    Once all rules are active, and your routing is fully configured, set the Brokering Run to Active so that orders can be processed as scheduled.

    Add Special Handling for Standard Orders

    For standard orders with a longer SLA (7 days or more), inventory rules can be configured differently to prioritize fulfillment from warehouse locations, reserving in-store stock for higher-priority, faster-shipping orders. Here’s how to create inventory rules for “Standard orders” routing:

    • Navigate to the Brokering Run details page, choose the Standard orders routing, and follow the steps below to add inventory rules.

    • Click on the Add Inventory Rule button and give the new rule a distinct name, such as “Check all warehouses in 250 miles,” to reflect its purpose of checking only warehouse locations in the defined proximity.

    For the first inventory rule, we will prioritize warehouse locations with most inventory.

    • Filter: We will choose “Warehouses” in the “Facility group”, excluding stores to maintain inventory levels for faster-shipping orders. We will also use the Proximity filter, setting the distance to 250 miles. This rule expands the facility lookup to include all warehouses within a 250-mile radius of the customer’s location, allowing us to reduce shipping costs if a nearby warehouse is available.

    • Sorting: We will choose “Inventory balance” to route orders to warehouses with the highest available inventory. Proximity sorting isn’t prioritized here, as the goal is to maximize inventory balance within 250 miles.

    • Action: For any items that remain unfillable, we will set the action to “Move unavailable items” to the “Next Rule.”

    For the second inventory rule, we will prioritize warehouse locations with most inventory.

    • Click on the Add Inventory Rule button and give the new rule a distinct name, such as “Check all warehouses in 500 miles".

    • Filter: We will use the Facility Group filter and continue to restrict the facility lookup to Warehouses only but we will now expand the distance to 500 miles using the Proximity filter.

    • Sorting: We will again choose “Inventory balance” sorting to select the optimal warehouse in 500 miles with the available inventory.

    • Action: If any items still remain unfillable, we will set the action to “Move unavailable items” to the “Next Rule.”

    For the final third inventory rule, we will look up all warehouse locations.

    • Click on the Add Inventory Rule button and give the new rule a distinct name, such as “Check all warehouses".

    • Filter: We will continue to restrict the facility lookup to Warehouses only using the Facility Group filter. However, this time we will not use the Proximity filter, allowing all warehouse locations to be considered.

    • Sorting: We will again choose “Inventory balance” sorting to select the optimal warehouse with available stock.

    • Action: For items in this batch that still remain unfillable after we have applied multiple inventory rules, we will set the final action as “Move unavailable items” to the “Queue,” and select Unfillable Parking from the dropdown. We will also apply a 7 days auto-cancel date for these unfillable orders.

    This is how in a single brokering run, you can set up multiple routings with unique inventory rules based on each order batch specific needs.

    Everyday Order Routing

    What did we do differently for standard orders?

    For Standard orders, we focused only on "Warehouse" locations, prioritized "Inventory balance" over “Proximity" and "Disabled partial allocation" across all inventory rules.

    When an inventory rule is no longer needed, you can simply Archive it by changing its status from the top right corner. You can unarchive the inventory rule if it’s needed again.

    Key Takeaways
    • Brokering runs determine the frequency for routing order batches.

    • Routing, also known as a routing rule, involves creating order batches based on filters for order lookup and sorting. It’s a flexible setup where you decide which orders should be grouped together.

    • Inventory rules, within each routing setup, you can define multiple inventory rules. If the first inventory rule doesn’t fully allocate inventory to an order, the brokering engine checks the next rules in sequence. Each rule helps look up facilities with the available inventory.

    • After actions logic, when inventory rules are applied, specific decisions need to be made based on inventory availability. For example, an item may be unavailable at a single facility, or not available at all. Handling these cases may involve using options like order splitting or moving orders to the Unfillable Queue.

    By leveraging HotWax Commerce, Order Routing Appretailers can create highly customized and efficient order routing strategies that optimize inventory usage, reduce shipping times and costs, and align their fulfillment process with their unique business needs.

    Next Steps

    In the following sections, we’ll cover a range of business use cases that the HotWax Commerce Order Routing App can help achieve, highlighting its adaptability to various inventory and order fulfillment needs.

    Orders

    Learn about the Orders jobs in HotWax Commerce.

    Import Orders

    Job Name: Import Orders Job enum ID: JOB_IMP_ORD Service Name: createOrdersFromShopify Flow: Order Import from Shopify to OMS

    The Import Orders job is used for downloading orders from Shopify into HotWax. It retrieves all orders created in Shopify from the time the job last ran up to the current time.

    Video: Move item to Order parking

    When the Import Order job runs for the first time, it defaults to downloading orders created in the last 15 minutes. This time frame can be adjusted using the "frequency" parameter.

    How are orders downloaded? HotWax sends an API request to Shopify, which returns the order details in JSON format. The JSON file is then uploaded to the internal file system of HotWax Commerce for further processing. The Process Bulk Import Files job then reads a JSON file and creates order records in HotWax Commerce.

    To prevent errors with large files, HotWax limits the download to 100 orders per API call, though Shopify allows downloading up to 250 orders.

    Note: To find the Uploaded file, login to HotWax Commerce OMS, then navigate to Hamburger Menu>EXIM Page > Shopify Jobs tab > Shopify Order MDM.

    Custom parameters:

    • Recommended frequency for the Import Order job is 15 minutes.

    • The required parameters for this job is “frequency”.

    • It has some more optional parameters.

    To know more about Order Download, refer to this document.


    Approve Orders

    Job name: Approve orders Job Enum ID: JOB_APR_ORD Service Name: approvePendingShopifyOrders Flow : Order Approval

    The Approve Orders job changes the status of orders from 'Created' to 'Approved,' making them eligible for brokering. Orders must be verified and approved before fulfillment to prevent invalid or fraudulent orders. The Approved Orders job runs every 30 minutes and approves all the orders placed between the last job ran up and the current timestamp.

    How are orders approved?

    This job checks the payment preference for each order in the 'Created' state. If the payment preference is either 'Authorised' or 'Settled,' then the job changes the order status from ‘Created' to 'Approved’.

    Custom Parameter:

    • The recommended frequency for this job is every 30 minutes.

    • The 'orderId' is an optional parameter. When provided, it will approve the specified order. By default, the job approves all orders in the created state.

    HotWax Commerce offers an additional job, Approved Sales Orders, designed for scenarios where retailers require custom order approval.

    To know more about Order Approval refer to this document.


    Update Orders

    Job Name: Import Order Updates from Shopify Job Enum Id: JOB_IMP_ORD_UPD Service Name: updateOrdersFromShopify Flow: Order Update From Shopify to OMS

    The Update Orders job is used for importing updates of orders from Shopify to HotWax, such as adding new items, modifying quantities, or cancelling items within an order.

    When CSRs or customers modify orders in Shopify, the Import Order Updates from Shopify job ensures those changes are accurately synced to HotWax. It identifies and updates any orders that have been modified after being downloaded in HotWax. The job retrieves updates for all orders placed between the last job run and the current time.

    How are orders updated in HotWax ?

    HotWax sends an API request to Shopify, which returns the order update details in JSON format. The JSON file is then uploaded to the internal file system of HotWax Commerce for further processing. The Process Bulk Import Files job then reads a JSON file and creates order records in HotWax Commerce.

    Note: To find the Uploaded file, login to HotWax Commerce OMS, then navigate to Hamburger Menu>EXIM Page > Shopify Jobs tab > Shopify Order MDM.

    Custom parameters

    • The required parameters for this job is “frequency”.

    • Recommended frequency for this job is every hour (i.e 60 min)

    • It has bufferTime as the optional parameter.

    To know more about order updates, refer to this document.


    Cancelled Orders

    Job Name: Import Cancelled Orders Job Enum ID: JOB_IMP_ORD_CNCL Service Name: updateShopifyOrderStatus Flow: Shopify to HotWax

    The 'Import Cancelled Orders Job` is used for syncing cancelled orders from Shopify to HotWax. This job retrieves all Shopify orders cancelled between the last job run and the current time.

    When an order is cancelled on Shopify, it can be imported into HotWax Commerce via the Update Orders Job, Shopify webhooks, or the Import Cancelled Orders Job, which ensures accurate processing when other methods are unreliable.

    To sync cancelled orders, it is recommended to schedule both the Update Order and Cancelled Order jobs. The Cancelled Order job handles missed orders but will be deprecated in the near future.

    This job specifically checks the cancelled_at field for orders on Shopify and compares it with 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 in batches of 100 to avoid exceeding Shopify's API limit.

    How is cancellation synced?

    HotWax sends an API request to Shopify, which returns the cancelled order details in JSON format. The JSON file is then uploaded to the internal file system of HotWax Commerce for further processing. The Process Bulk Import Files job then reads a JSON file and creates order records in HotWax Commerce.

    Custom parameters

    • The required parameters for this job is “frequency”.

    • Recommended frequency for this job is every 30 min.

    • It has bufferTime as the optional parameter.

    To know more about Order Cancellation refer to this document.


    Cancelled Order Items

    Job Name: Import Cancelled Items Job Enum ID: JOB_IMP_ITM_CNCL Service Name: cancelOrderItemsFromShopify Flow : Shopify to HotWax

    The Import Cancelled Items job is used to accurately synchronize item cancellations from Shopify to HotWax. When a customer cancels an item from an order, only that specific item is canceled, not the entire order.

    While the Update Orders Job can import canceled items, the Import Canceled Items job acts as a backup to guarantee that cancellations are properly synced. This job retrieves updates for orders placed between the last run and the current time, reflecting any cancellations made in Shopify.

    How Items are Cancelled in HotWax ?

    HotWax sends an API request to retrieve order information, and in response, Shopify provides a JSON format file containing details of orders. The job checks the 'updated at' field in the order JSON and compares the timestamp with the job’s last run time. All orders updated after the last run are imported into HotWax Commerce in batches of 100 to prevent exceeding Shopify’s API limits.

    After import, HotWax filters out the orders with canceled items and marks those items as canceled. The order status in HotWax Commerce is not changed; only the status of the canceled items is updated.

    Custom Parameters

    • The required parameters for this job is “frequency”.

    • The recommended frequency for this job is Hourly (i.e 60 min).

    • bufferTime and createByJobId are optional parameters for this job.

    To know more about item cancellations, refer to this document.


    Import Order Returns

    Job Name: Import Order Returns Enum Id: JOB_IMP_RTN Service Name: createReturnsFromShopify Flow: Shopify to HotWax

    The Import Order Returns job imports returns from Shopify to HotWax after they are completed and marked as "Refund" or "Returned" in Shopify, maintaining the order history.

    Another method for importing returns is subscribing to Shopify webhooks via the Job Manager App, but this approach is not recommended due to the unreliability of Shopify webhooks.

    Although Shopify allows fetching 250 returns per API call, to avoid issues with large files, HotWax will download up to 100 returns per API call.

    How are returns imported?

    HotWax sends an API request to Shopify, which returns the order return details in JSON format. The JSON file is then uploaded to the internal file system of HotWax Commerce for further processing. The Process Bulk Import Files job then reads a JSON file and creates order records in HotWax Commerce.

    Note: To find the Uploaded file, login to HotWax Commerce OMS, then navigate to Hamburger Menu>EXIM Page > Shopify Jobs tab > Shopify Order Return.

    Custom Parameters

    • The required parameters for this job is “frequency”.

    • The recommended frequency for this job is 6 hours.

    • financialStatus ,bufferTime ,limit , createdByJobId are the optional parameters.

    To know more about return import refer to this document


    Webhooks

    Webhooks can be subscribed to from the category pages within the Job Manager app for specific categories.

    Automated messages sent from eCommerce (Shopify) to OMS whenever an event occurs. They contain data about the event and are received in OMS, allowing real time communication between eCommerce and OMS.

    Subscribe to Shopify eCommerce Webhooks from OMS for:

    Orders

    Webhooks available for:

    1. New Orders

    2. Canceled orders

    3. Payment status

    4. Returns

    ***

    Upload

    Upload Cancelled Orders

    Job Name: Cancelled Orders Job Enum ID: JOB_UL_CNCLD_ORD Service Name: bulkCancelOrdersOnShopify Flow: Upload Cancelled HotWax to Shopify

    In usual scenarios, orders are cancelled in Shopify and then synced to HotWax. However, in special cases, like when a CSR cancels an order on behalf of a customer from the view order page in HotWax, this process works differently. In such cases, this job is used to upload cancelled orders from HotWax back to Shopify. It retrieves all orders cancelled between the job's last run time and the current time.

    How Cancelled Orders are Uploaded ? HotWax sends a post API request to Shopify with data of all orders that are cancelled in OMS in JSON format, then the orders are marked as cancelled in Shopify.

    Custom Parameters

    • This job has no required parameters.

    • orderId and cancelledDate are two optional parameters.


    More Jobs

    Party Identification

    Job Name: Part Identification Job Enum ID: JOB_PARTY_IDENT Service Name: ftpImportFile Flow: Order Approval Flow

    The party identification job is used for importing new customers created in NetSuite to HotWax.

    HotWax ensures that the Netsuite Customer ID must be mapped to the HotWax Customer ID for every order for smooth integration. Basically, when an order is placed for which the customer ID is not created in NetSuite, NetSuite will generate a “NetSuite Customer ID." Netsuite also generates a file in CSV format with newly created customer data and uploads that CSV in the SFTP location; from there, HotWax will import that CSV through the Party Identification job and map customers against all the NetSuite Customer IDs.

    How are customer IDs mapped? The HotWax Commerce integration platform first queries the HotWax database to fetch orders that lack a “NetSuite Customer ID.” It then uploads a CSV file of these orders to an SFTP location.

    Next, a SuiteScript in NetSuite runs at scheduled intervals, retrieves the CSV file, and generates a JSON file containing the “NetSuite Customer ID” for all the orders in the CSV and uploads it to an SFTP location. The JSON file is then uploaded to the internal file system of HotWax Commerce for further processing. The Process Bulk Import Files job then reads a JSON file to process in HotWax Commerce.

    Custom Parameters

    • The recommended frequency for this job is 15 minutes

    • It also has some optional parameters.

    • This job has configId and propertyResource as the required parameters.

    To know more about this, refer to this document.


    Complete Order Item from Shopify

    Job Name: Complete Order Item from Shopify Job Enum ID: IMP_COMPL_ORD_ITM Service name: completeOrderItemsFromShopify Flow: Shopify to HotWax

    This job imports completed order items from Shopify for cases where retailers do not use HotWax Commerce for managing Available to Promise (ATP) inventory. In this case, ATP is managed on Shopify. In this case, order fulfillment information is not available with HotWax, and so it relies on Shopify to get the status of an order item. It fetches orders completed between the last run time and the current timestamp.

    How completed order items are imported ? HotWax sends an API request to Shopify, which returns the order fulfillment item details in JSON format. The JSON file is then uploaded to the internal file system of HotWax Commerce for further processing. The Process Bulk Import Files job then reads a JSON file and creates order records in HotWax Commerce.

    Custom Parameters

    • The recommended frequency for this job is 15 minutes.

    • This job has no required parameters.

    • It has some optional parameters


    Approve Sales Orders

    Job Name: Approve Sales Orders Job Enum ID: JOB_APR_SALES_ORD Service Name: Import Approve Sales Order Flow: Order Approval

    This job changes the order's status from 'Created' to 'Approved' based on certain conditions. It is used in custom order approval processes.

    For example, if the retailers want to ensure that payment must be captured before the order is approved, this job will ensure that only those orders are approved for which payment is captured by applying this condition on the Order Approval Flow.

    Some jobs, like party identification and order identificationare those required jobs that need to be run before this job ensures custom conditions are matched.

    How are orders approved?

    This job queries the HotWax Commerce database to fetch orders in the created state and filters out the orders that pass the checks defined by the retailer. The filtered orders’ are then changed to the ‘Approved’ status.

    Custom Parameters

    • The recommended frequency for this job is 15 minutes.

    • This job has configId and propertyResource as the required parameters.

    • It has some optional parameters.


    Create Exchange Order

    Job Name: Create Exchange Order Job Enum ID: JOB_CRT_SALES_ORD Service Name: ftpImportFile Flow: Importing Exchanges from HotWax to Shopify

    This job is used for importing exchanges in HotWax from Shopify. Basically, when an exchange is created in Shopify, it has to be synced with HotWax to maintain system integrity. This job imports all the exchanges from Shopify created between the last job run and the current timestamp.

    How are exchanges imported?

    Shopify provides a feed of all the returns and exchanges in JSON format, which is then fetched and transformed by the HotWax Commerce integration platform. Further HotWax Commerce integration platform uploads transformed JSON to an SFTP location. From that SFTP location, the Create Exchange Order job brings the JSON and uploads it to the internal file system in HotWax.

    Basically, when an exchange is created on an order in Shopify. This job takes those orders and creates the same exchanges for the corresponding orders in HotWax to maintain the system's integrity.

    Custom parameters

    • The recommended frequency for this job is 15 minutes.

    • This job has configId and propertyResource as the required parameters.

    • It has some optional parameters.

    To know more about exchange, refer to this document.


    Create Return Order

    Job name: Create Return Order Job Enum ID: JOB_CRT_RETURN Service name: ftpImportFile Flow: Return Creation from Shopify to HotWax

    This job is used for importing returns from Shopify to HotWax. This imports all returns that are created in Shopify between the last job run and the current timestamp.

    Shopify uploads a feed in JSON format of both returns and exchanges to an SFTP location; from there, the HotWax Commerce integration platform transforms this feed, and then returns are created in HotWax by the Create Return Order job.

    How are returns synced from Shopify to HotWax?

    Shopify uploads a JSON file with returns and exchanges to an SFTP location. The HotWax Commerce integration platform processes this file and uploads a transformed feed of returns to the SFTP location. The Create Return Order job then imports this JSON into the IMP_CRT_RTN_ORD MDM in HotWax from the SFTP location. Finally, the Process Bulk Import Files job processes the data, creating the returns in HotWax.

    Custom Parameters

    • The recommended frequency for this job is 15 minutes.

    • This job has configId and propertyResource as the required parameters.

    • It has some optional parameters.

    To know more about returns, refer to this document.


    Import Last Day Orders from Shopify

    Job Name: Import Last Day Orders from Shopify Job Enum ID: JOB_IMP_MISS_ORD Service Name: importLastDayMissingOrders Flow: Missed Orders from Shopify to HotWax

    This job is used for importing all the last-day orders from Shopify to HotWax. Although HotWax has an Import Orders job to import orders from Shopify on a scheduled frequency, this job serves as a backup and makes sure that if any order is missed by the import orders job, it will also be imported into HotWax.

    How are last-day orders imported?

    HotWax gives an API call to Shopify for importing all the last day's orders from Shopify. In response to this request, Shopify provides an order data feed containing data of all the last day's orders in JSON format. Import Last Orders from Shopify job imports this JSON file and uploads it to the internal file system of HotWax Commerce for further processing. The Process Bulk Import Files job then reads a JSON file and creates order records in HotWax Commerce.

    Note: To find the Uploaded file, login to HotWax Commerce OMS, then navigate to Hamburger Menu>EXIM Page > Shopify Jobs tab > Shopify Order MDM.

    Custom Parameters

    • This job has no required parameters.

    • It has some optional parameters.

    To know more about Order Download refer to this document.


    Order Item Attribute

    Job Name: Order Item Attribute Job Enum ID: JOB_ORDER_ITM_ATTR Service Name: ftpImportFile Flow: Import Item Attribute from NetSuite to HotWax

    This job is used for importing order item attributes from NetSuite to HotWax. Order item attributes are basically used to provide some additional details on the order of every item in an order.

    NetSuite provides order line item details in a JSON format file. This JSON file is uploaded by NetSuite to an SFTP location; from there, HotWax imports these attributes.

    How are attributes imported? Order Item Attribute job fetches the JSON file from the specified SFTP location at defined intervals and imports this JSON file and uploads it to the internal file system of HotWax Commerce for further processing. The Process Bulk Import Files job then reads a JSON file and creates order records in HotWax Commerce.

    Custom Parameters

    • The recommended frequency for this job is 15 minutes.

    • This job has configId and propertyResource as the required parameters.

    • It has some optional parameters.


    Order Item Rejected

    Job Name: Import Order Item Rejected Job Enum ID: JOB_ORDER_ITM_RJCT Service Name: ftpImportFile Flow: Import Rejected Order Item from NetSuite to HotWax

    This job is used for importing rejected items in orders from NetSuite to HotWax from the last job run until the current timestamp.

    When NetSuite is used as a Warehouse Management System (WMS), it rejects an order in case that order cannot be fulfilled from the warehouse. These orders need to be rebroken in search of another location to get fulfilled. NetSuite marks all such order items as rejected and uploads a JSON feed containing data of all the rejected items to an SFTP location.

    How are rejected items synced from NetSuite to HotWax?

    NetSuite uploads a CSV-format feed of all the rejected items to an SFTP location. From there, the Import Order Item Rejected job fetches this CSV file and uploads it to the internal file system of HotWax Commerce for further processing. The Process Bulk Import Files job then reads the CSV file and creates order records in the HotWax database.

    Custom Parameters

    • The recommended frequency for this job is 15 minutes.

    • This job has configId and propertyResource as the required parameters.

    • It has some optional parameters.


    Import Transfer Order

    Job Name: Import transfer Orders Job Enum ID: JOB_ORDER_ITM_TO Service Name: ftpImportFile Flow: Import Transfer Order from NetSuite to HotWax

    This job imports transfer orders from ERP systems (e.g., NetSuite) into HotWax. Transfer and purchase orders are created in ERP systems, and HotWax, as an order management system, imports them to maintain accurate inventory records.

    How are transfer orders synced?

    For every transfer order created in an ERP system (like NetSuite), there is a script that runs on a scheduled frequency and uploads all the transfer orders created in ERP to an SFTP location. From there, the Import Transfer Order job runs and imports the feed of transfer orders from the SFTP location and uploads it onto the HotWax Commerce internal file system. From there, the Process Bulk Import job runs, and hence transfer orders are synced from NetSuite to HotWax.

    Custom Parameters

    • The recommended frequency for this job is 15 minutes.

    • This job has configId and propertyResource as the required parameters.

    • It has some optional parameters.

    To know more about importing transfer orders refer to this document.


    Order Identification

    Job Name: Order Identification Job Enum ID: JOB_ORDER_IDENT Service Name: ftpFileImport Flow: Order Approval (NetSuite to HotWax Order Sync)

    This job is used for importing NetSuite order IDs for orders that exist in HotWax. The NetSuite order ID is required for every order to maintain the system's integrity and sometimes in custom order approval flow.

    This job runs at a defined frequency and fetches all the records created between the last job run and the current timestamp.

    How are NetSuite orders ID mapped in HotWax?

    The HotWax Commerce integration platform queries the HotWax database and fetches all the records for which the NetSuite order ID is Null but the NetSuite customer ID exists. And creates a CSV for all such records and uploads it to an SFTP location. Further, a suite script from NetSuite fetches all these orders and provides NetSuite order IDs for all these orders and uploads a JSON feed on the SFTP location. Then the HotWax Commerce Order Identification job imports this JSON from SFTP to IMP_ORDER_IDENTMDM. Next, the Process Bulk Import File job maps all the NetSuite order IDs to the corresponding order IDs in HotWax.

    Custom Parameters

    • The recommended frequency for this job is 15 minutes.

    • This job has configId and propertyResource as the required parameters.

    • It has some optional parameters.

    To know more about order ID sync, refer to this document.


    Import Order Metafield

    Job Name: Import Shopify Order Metafield Job Enum ID: IMP_ORD_META_FIELD Service Name: importShopifyOrderMetafield Flow: Order information Import Shopify to HotWax

    Order metafields are basically some additional information of an order. The Import Order Metafield job is used for importing order metafields from Shopify to HotWax. Basically, when an order is imported into HotWax, if it has some metafields, HotWax imports those metafields separately through this job

    Custom Parameters

    • nameSpace is the required parameter for this job.

    • It has some optional parameters.


    Approve Transfer Order

    Job Name: Approve Transfer Order Job Enum ID: JOB_APR_TO Service Name: BulkApproveTransferOrders Flow: Transfer Order Approval Flow

    This job is used for auto-approving transfer orders in HotWax. Basically, the Imports Transfer Order job checks the status of imported transfer orders from NetSuite to HotWax. The Approve Transfer Order job works on an essential step to approve transfer orders in HotWax.

    Custom parameters:

    • This job has no required parameters.

    • It has bufferTime and orderId as the optional parameters.


    Import Order Attribute

    Job Name: Import order attribute Job EnumID: JOB_ORDER_ITM_ATTR Service Name: ftpImportFile Flow: Importing Order Information from Shopify to HotWax

    This job is used for importing order attributes into HotWax. Order attributes are basically some additional information on an order that is essential to be attached with the order.

    For example, if an order is to be gift wrapped, this information is essential for the person who will pack the order. Such information will be imported as an order attribute.

    Custom Parameters

    • The recommended frequency for this job is 15 minutes.

    • This job has configId and propertyResource as the required parameters.

    • It has some optional parameters.


    Order Item Fulfillment

    Job Name: Order Item Fulfillment Job Enum ID: JOB_ODR_ITM_FLFLMNT Service Name: ftpImportFile Flow: Import Fulfillment update from HotWax to NetSuite.

    This job is used for syncing the fulfillment status of orders from NetSuite to HotWax. Basically, when an order is allocated to a warehouse and in cases when NetSuite is used as a warehouse management system (WMS), fulfillment updates on such an order will be taken from NetSuite.

    HotWax requires the fulfillment update for various reasons, such as to update status on eCommerce and ultimately to maintain the integrity between HotWax and NetSuite.

    How is fulfillment status synced?

    NetSuite runs a SuiteScript to provide details of items that are fulfilled in the warehouse. And uploads a JSON file of such details on the SFTP location Order Item Fulfillment; the job imports the JSON to HotWax and uploads it on IMP_ODR_ITM_FLFLMNT MDM. Finally, the Process Bulk Import Files job processes the file, and hence, fulfillments are synced from Netsuite to HotWax.

    Custom Parameters

    • The recommended frequency for this job is 15 minutes.

    • This job has configId and propertyResource as the required parameters.

    • It has some optional parameters.


    Import Customer

    Job Name: Import Customers from Shopify Job Enum ID: JOB_IMP_CSTMR

    Description The Import Customer job imports customer data from Shopify into HotWax Commerce. This job ensures that customer information, including contact details and order history, is accurately synced between the two platforms, supporting smooth order processing and customer management in HotWax Commerce.

    Custom Parameters

    Parameter
    Type
    Description
    Default Value

    frequency

    Required

    Defines the default duration of the last syncing of the shipment status.

    15

    bufferTime

    Optional

    Specifies the buffer time (in minutes) for scheduling job.

    Not Specified

    limit

    Optional

    Additional parameters for job customization.


    1. Filters

    Look up eligible facilities with inventory that can fulfill an order.

    1. Sorting

    Determine which eligible facility should be prioritized to allocate an order.

    1. Actions

    Define fallback actions for orders that cannot be fully allocated to a single facility. The actions also help configure the final steps if all previous rules don’t allocate inventory to orders.

    Sequence Routing Rules

    Not Specified

    Applying Filters and Sorting for Standard Orders Batch
    Creating New Routings
    Archive/Unarchive Routing Rule
    Applying Filters
    Creating New Routings
    Applying Sorting
    Balance Shipping Cost and Distance with Split Shipments
    Store Fulfillment Based on Store Rent
    eCommerce Orders Routing
    Third Inventory Rule
    Second Inventory Rule
    First Inventory Rule Actions
    Set Brokering Safety Stock
    Managing Order Splitting
    Fourth Inventory Rule
    Final inventory rule
    First Inventory Rule Filters
    First Inventory Rule Sorting
    Standard Orders Second Inventory Rule
    Standard Orders Final Inventory Rule
    Standard Orders First Inventory Rule