🔗
🔗
🔗
🔗
Integration Resources
NetSuite
Ask or search…
K

POS Orders

In a retail environment, POS (Point of Sale) transactions play a vital role, reflecting the real-time sales happening in physical stores. POS sales are posted to NetSuite to manage inventory and conduct relevant accounting. While many businesses integrate their POS systems directly with their ERP (Enterprise Resource Planning) systems, some retailers choose to centralize their sales data, routing all transactions through an Order Management System (OMS) to synchronize both online and in-store sales data with the ERP. This scenario focuses on this synchronization where HotWax Commerce acts as the intermediary to push POS sales to NetSuite.

Different Approaches for Posting POS Sales to NetSuite

There are two primary ways to record POS sales in NetSuite: creating sales orders or directly creating cash sales records. Creating sales orders necessitates additional steps such as creating customer deposits, fulfillment records, and invoices. Cash Sale transactions represent immediate sales with received payment, eliminating the need to create fulfillment records, unlike conventional sales orders.
We took the approach of directly creating cash sales for POS sales data in NetSuite due to its streamlined process, eliminating the need for intervention to create additional records and allowing for immediate completion of transactions.

Workflow

The synchronization of POS sales from HotWax Commerce to NetSuite involves the creation of Cash Sale records in NetSuite, ensuring that sales data from physical stores is accurately reflected in the ERP system. By channeling all POS transactions through HotWax Commerce, retailers can leverage this integration to keep their inventory updated, perform relevant accounting postings, and maintain a consolidated view of both online and in-store sales within NetSuite.
POS orders synced from HotWax Commerce to NetSuite

Sync POS orders to NetSuite

  1. 1.
    A job within HotWax Commerce Integration Platform identifies POS completed orders that need to be synced to NetSuite by checking the following conditions:
  • Order Status: Completed.
  • Sales Channel: POS_Channel.
  • Shipping Method: POS_COMPLETED.
POS orders that match these criteria are exported to an SFTP location in a CSV file.
SFTP Locations
/home/{sftp-username}/netsuite/cashsale/export
Time based sync HotWax uses a time based cursor to track which orders have been synced. This means if sync fails for an order, it will not be automatically retried.
  1. 2.
    A Scheduled SuiteScript in NetSuite imports this CSV file from the SFTP server. The SuiteScript uses the CSV ImportTask function of the N/Task module to import the POS order details as Cash Sale records directly into NetSuite.
SuiteScript
HC_SC_ImportCashSale

Here's how POS order fields are mapped in HotWax Commerce and NetSuite

S.No.
Fields in HotWax Commerce
Fields in NetSuite
1
Shopify Order Name
PO #
2
NetSuite Order ID
POS Order Internal ID
3
Shopify Order ID
HC Shopify Order ID
4
Sales Channel
HC Sales Channel
5
Order Date
Date *
6
Bill To
Customer *
7
Product
Item
8
Qty
Quantity
9
Location
Location
POS Order Fields in HotWax Commerce
POS Order Fields in NetSuite
POS Order Fields Mapping in HotWax Commerce
POS Order Fields Mapping in NetSuite

Here's how POS order fields are mapped in HotWax Commerce and NetSuite that remain hidden in the user interface but are included in the POS order CSV file

S.No.
Fields in HotWax Commerce
Fields in NetSuite
1
Order Item Seq ID
External Order Line ID
2
Price Level NetSuite
Price Level
3
Tax Code
Tax Code
4
Product Promo ID
Discount Item
5
Product Store External ID
Subsidiary
To sync POS orders from HotWax Commerce to NetSuite, a required field is the "Shipping Address." HotWax Commerce syncs the store's address in the "Ship To" field in NetSuite
"*" denotes fields that are required to be sent to NetSuite for the POS order sync to work

Synchronize NetSuite POS Order ID to HotWax Commerce

POS order IDs synced from NetSuite to HotWax Commerce
  1. 1.
    A MapReduce SuiteScript is utilized in NetSuite to export a CSV file to an SFTP location containing the internal NetSuite IDs corresponding to the processed POS orders.
SuiteScript
HC_MR_ExportedCashSaleCSV
SFTP Locations
/home/{sftp-username}/netsuite/salesorder/import/orderidentification
  1. 2.
    The Import Order Identification job within HotWax Commerce OMS then retrieves the exported CSV file from the SFTP server and creates Order Identification records in the OMS, linking the POS orders with their respective NetSuite internal IDs.
Job in HotWax Commerce
Order Identification
FTP Config: IMP_ORDER_IDENT
POS Orders Sample Feed.csv
1KB
Text