HotWax Commerce automates pre-order and back-order management by leveraging purchase orders (POs), aiding in the automatic listing and de-listing of products, which is beneficial for retailers with extensive catalogs. POs provide crucial details about item specifics and upcoming inventory arrivals. Retailers can integrate their ERP systems with HotWax Commerce for automatic PO synchronization or use the Import App to manually import PO CSV files.
To know more about how the pre-order process is automated in HotWax refer to this user guide.
In HotWax, we have two relevant entities:
Product Category: Defines different types of product categories (e.g., shop-tops, shop-outerwear, shop-bottoms). The PREORDER_CAT
category is used to manage pre-order products.
Product Category Member: Tracks the members or products in a category. When a new product is added to the PREORDER_CAT
category, a record is created in this entity.
The presell catalog synchronization job synchronizes pre-order products to Shopify whenever a product is added to the PREORDER_CAT category. Here's an overview of the process and some key points to understand:
Hotwax Commerce downloads products from the parent Shopify store.
These downloaded products are initially not associated with any child shops within Hotwax Commerce.
A separate job, known as the Associate products with sub-catalog
job, is responsible for associating these downloaded products with various child shops. This step is crucial for ensuring that the products are associated with the child shops.
There are instances where purchase orders for these downloaded products are imported into Hotwax Commerce before the products get associated with the child shops.
This means that the products exist in Hotwax Commerce, but their association with the child shops is pending.
Auto Refresh Pre-sell Catalog job automatically manages adding or removing pre-sell products from the HotWax Pre-order/Backorder category.
The presell synchronization job is triggered to sync these pre-order products back to Shopify. When there is a new product added in the pre-order category then a record will be created in the product category member entity.
This job successfully synchronizes the products to the parent Shopify store. However, it fails to synchronize these products to the child shops because they have not yet been associated with the child shops in Hotwax Commerce.
If a product record is created in the Product Category Member entity, the presell synchronization job will not reconsider the product unless there is an update to the record.
This means that even if the product is later associated with the child shops, the synchronization job won't attempt to sync it again unless a change is made to the Product Category Member record.
Login to Webtools - Access the HotWax Commerce webtools.
Search for the Product Category Member Entity - Go to the Entity Engine and search for the Product Category Member
entity.
Enter the Product ID - Input the product ID of the pre-order product that failed to sync to the Shopify child shop.
Update the Record - Click on the view icon next to the record and edit the entry by updating any small detail in the comments field (e.g., adding a full stop).
Updating the record will make the product eligible for the sync job again, ensuring it gets picked up and synchronized with Shopify. By following these steps, we can troubleshoot and resolve issues where pre-order products fail to sync to Shopify due to missing child shop associations.
This document provides steps to resolve the "POS Order Refresh Failure" issue in Hotwax Commerce OMS.
In HotWax Commerce, "POS orders" are downloaded as fulfilled from Shopify. Occasionally, an order is downloaded into the OMS before it is marked fulfilled in Shopify. Retailers must refresh these orders to update their status, ensuring the fulfilled version of the order is downloaded while cancelling the older version.
Orders may fail to refresh due to missing shipping addresses, triggering this error: Could not complete the createOrderContactMech process: The following required parameter is missing: [createOrderContactMech.contactMechId]
.
Follow these steps to resolve these errors:
Log in to OMS: Use your username and password to log in to Hotwax Commerce OMS
.
Navigate to Sales Orders: Click the hamburger navbar icon if the left slider is not visible. Go to Sales Orders
under Order Management
in the left slider.
Identify the Order: Find the order exhibiting the error. Open the order by clicking on its ID.
Cancel the Order: On the order page, click the Cancel
button at the top.
Access Webtools’ Entity Engine: Use the link: https://{instance}.hotwax.io/webtools/control/entitymaint
.
Remove the Order from Entities:
Open the OrderItem
entity and remove the order.
Open the OrderItem
entity; a form will open.
Search for the order using the orderID
(enter the orderID in the orderID field of the form).
Hit Enter or click on the search button below the form.
Click on the view option at the start of the orderID
under the Search result
.
Click on the Delete this value
button at the top of the view under the view value.
Repeat the above steps for each order item.
Remove from OrderHeader and OrderIdentification:
Open the OrderHeader
entity and remove the same order.
Open OrderIdentification
and remove the externalId value.
Log in to OMS: Use your username and password to log in to Hotwax Commerce OMS
.
Navigate to Import Section:
Go to MDM
> EXIM
in the left slider.
Navigate to Shopify Jobs
and select Import Shopify Order
under the Order Management tab.
Re-import the Order:
Enter the details of the order, including 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.
Following these steps will resolve the "POS Order Refresh Failure" issue by addressing the root cause—missing shipping details from unfulfilled Shopify orders. This guide provides a structured approach to diagnosing and rectifying the issue, ensuring minimal disruption to your order management process.
Retailers operating globally often receive payments in the customer's local currency, which differs from the retailer's base currency (Shopify shop currency). The Multi-Currency Order and Return Management feature by HotWax Commerce significantly enhances operational efficiency and financial clarity for retailers dealing with international transactions. By automating currency conversion and reconciliation, retailers can manage global sales more effectively, ensuring accurate financial reporting and simplified accounting processes. This feature not only improves the day-to-day operations of retailers but also enhances the overall customer experience, making it a valuable addition to the HotWax Commerce platform.
Accurate Currency Representation:
In HotWax Commerce, the createUpdateOrder
is used to import orders from Shopify. When an order is imported, the presentmentCurrencyUom
field in the OrderHeader
entity is populated with the currency in which the customer made the payment (e.g., MXN for Mexico). This ensures that all transaction details accurately reflect the customer's local currency, enhancing transparency.
Detailed Payment Preferences:
During the order creation process, OrderPaymentPreference
saves the payment preference currency and conversion rate. For example, if the payment preference currency is USD, the converted amount is stored in the currentPaymentAmount
field, while the original amount paid in the local currency (e.g., MXN) is saved in the presentmentAmount
field. This detailed record helps in maintaining clear financial records and simplifies financial reconciliation.
Fallback Mechanism for Exchange Rates:
If the exchange rate is missing during order import, the system uses the UomConversion
to check for conversion details in the Order Management System (OMS). This ensures that even in the absence of an immediate exchange rate, the order can still be processed correctly, minimizing disruptions in workflow.
ERP Sync:
During ERP synchronization, the system retrieves the converted order amount from the OrderPaymentPreference
entity, where it was stored during the order creation process. This converted amount, already in the retailer’s base currency, is synchronized with the ERP system. Additionally, the exchange rate used for the conversion is stored in the OrderPaymentPreference
entity, ensuring accurate financial records.
Order Header Currency Maintenance:
The order header is updated and uses the customer's currency (e.g., MXN) instead of the product store currency. This maintains the integrity of the original transaction details and provides accurate data for both the customer and the retailer.
Enhanced Financial Reporting: For financial reporting and accounting, the feature provides a dual view capability, showing both the original payment currency and the base currency equivalent. The order detail page in HotWax Commerce displays the converted amount, local amount, and conversion rate in the order payment preference section. This dual reporting capability aids in better financial analysis and reporting, crucial for businesses with international transactions.
The automation of currency conversion and detailed recording of payment preferences simplify accounting processes. Retailers can easily reconcile their accounts and generate accurate financial reports.
The order status discrepancy between the find Order page and vieworder page is likely due to an issue with Solr indexing, which can occur if the Solr instance is down when the order status is updated.
Go to the WebTools for your OMS instance using the provided sample link: https://{instanceName}.hotwax.io/webtools/control/ServiceList
To index the updated status of the order when the solr is down or by any reason the indexing is not done on the find order page we need to run createOrdersIndexFromStatus service.
Locate the service: createOrdersIndexFromStatus.
In the service input parameters, set the following:
statusFromDate: Specify the start date/time for the range.
statusToDate: Specify the end date/time for the range.
persist : false
.
Execute the service.
Time Format: yyyy-MM-dd HH:mm:ss
Example: 2024-01-01 14:00:00
If you want to create a reservation in the order item ship group inventory reservation entity, you need to run the createOISGIRIndexes service
Locate the service: createOISGIRIndexes.
In the service input parameters, set the following:
reservedDateFrom: Specify the start date/time for the range.
reservedDateTo: Specify the end date/time for the range.
persist: false
.
Execute the service.
In the OMS application, go to the Find Order
section.
Use the previously noted order ID to search for the order.
Confirm the order appears with the updated status.
Check if the status changes are indexed correctly.
Verify that no errors occurred during the process.
If the order is not indexed:
Confirm that the statusFromDate and statusToDate parameters cover the time range of the status update.
Check the Service Engine logs for errors or warnings during the execution.
Verify that the Webtools status update was saved correctly.
If errors persist, escalate the issue to the technical team with the following details:
Order ID.
Service Engine logs.
Time range used for indexing.