> For the complete documentation index, see [llms.txt](https://docs.hotwax.co/documents/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hotwax.co/documents/retail-operations/workflow/job-workflows/products.md).

# Products

Learn about the Products job in HotWax Commerce.

## Shopify product synchronization

The legacy `Import new products`, `Import Product Updates`, and `Process Bulk Imported Files` jobs are not the current standard Shopify product path. New launches use Product Sync in the Company App for the first catalog import, recurring updates, progress, and recovery.

For a first import, follow [Chapter 6 of Set up HotWax Commerce with Shopify](https://github.com/hotwax/oms-documentation/tree/user-guides-pub/documents/system-admin/administration/company/product-store-onboarding.md#6-import-and-validate-products). For day-to-day operation, use [Monitor Shopify product sync](https://github.com/hotwax/oms-documentation/tree/user-guides-pub/documents/system-admin/administration/company/manage-shopify-product-sync.md).

## Webhooks

{% hint style="info" %}
The current Job Manager does not manage webhook subscriptions. Confirm webhook configuration in the connected integration.
{% endhint %}

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

<details>

<summary>Products</summary>

**Webhooks available for:**

1. New products
2. Delete products

</details>

## Advanced and tenant-specific jobs

The remaining entries are references for approved ERP, kit, and tenant-specific workflows. They are not part of the standard Shopify-only launch.

### 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\_IDENT`MDM. Further, the`Process 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](https://docs.hotwax.co/documents/learn-netsuite/integration-flows/kitproducts).

***

### 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](https://docs.hotwax.co/documents/learn-netsuite/netsuite-deployment/prerequisites/promocodes).

***

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

***


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.hotwax.co/documents/retail-operations/workflow/job-workflows/products.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
