Best Practices for Order Sync
The following discusses the details of best practices for order syncs.
Customers
Customer Matching
When an order sync runs, the customer is synced first, so that the order can post against that customer. NetSuite Connector matches customers by company name or name and email to existing customer records in NetSuite. This prevents matching to the wrong customer record. If multiple customers match, NetSuite Connector will match to the oldest customer record by creation date. Make sure you don't have duplicate customer records in NetSuite to avoid confusion about which customer to post to.
For orders without an email address, it's common to add a default email address at the storefront. This creates a customer record in NetSuite with the default email address. New addresses are added to the customer record when orders with default email addresses are received. The number of addresses in the customer record will grow over time. You can manually delete addresses to keep the customer record under 1000 lines. Alternatively, you can create an order mapping to prevent new addresses from being added. For more information, see Preventing Addition of Address Lines to Customer Record.
Address Forms
NetSuite Connector only supports the default NetSuite address form for syncing customer addresses. The default form provides the fields for the required address information and accept values that various storefronts provide for that information.
Taxes
Tax Rates
The best practice is to have NetSuite calculate taxes based on the order's shipping address. Then, let NetSuite Connector update the tax rate with the rate charged on the marketplace or cart. This is the best approach because NetSuite only allows updating tax rates, not the tax amounts.
Tax rates on synced orders will always match between your marketplace/cart and NetSuite.
There can be situations where your marketplace or cart charges a slightly different rate than NetSuite does, but even in this case, or if your marketplace or cart’s calculation is incorrect, the order totals in NetSuite (including taxes, discounts, and others) should match what your customer paid. This is the reason that this is the leading practice.
Taxability
Assign all customers, items, and shipping items to a taxable tax schedule. This lets NetSuite Connector tax orders and items correctly, matching the storefront. By the time NetSuite Connector retrieves an order, it's already been determined if it's taxable. NetSuite Connector needs to be able to import orders as either taxable or non-taxable to match the storefront.
Marketplace Remittance
For marketplaces that handle tax on your behalf (like Amazon or Walmart), it's best for NetSuite Connector to exclude tax from orders when importing to NetSuite. This is enabled by default. The tax is omitted because the marketplace never provides the tax revenue to you, but instead remits the tax directly to the tax authority on your behalf.
VAT
For storefronts that charge Value Added Tax (VAT), the best practice is for NetSuite Connector to subtract the VAT amount from the item before syncing the order since NetSuite will assign tax to the item upon import. If NetSuite Connector doesn't subtract the VAT, NetSuite will add extra VAT, overtaxing the item.
Setup
For information about the best practice in setting up taxes in NetSuite and NetSuite Connector, see Setting Up NetSuite Connector Order Sync.
Discounts
The best practice for discounts is to post all discount, promotion, or coupon amounts to a generic discount item. Usually, discounts are posted at the order header in NetSuite. But certain connectors will default to the line level because of specific differences for the storefront. This approach ensures the discount total posts to NetSuite, making the order totals match between NetSuite and the marketplace/cart. Posting the discount to the order header allows the discount total to show up in NetSuite order summary, on which you can easily view the discount on the order.
When you install NetSuite Connector, it automatically creates and configures a generic discount item for you.
For information about the best practice for setting up discount items, see Managing Order Discounts in NetSuite Connector.
Payments
Payment Methods
NetSuite Connector allows a translation mapping between the storefront payment methods and NetSuite payment methods. This way, your NetSuite orders can include a payment method and tokenization data.
Capturing Payment
It's best to capture payment in your marketplace/cart at the time of order, as most are set up to do this by default. NetSuite Connector imports tokenized credit card data from the storefront to NetSuite, if available and the payment method allows it. The credit card data can be used later to refund orders in NetSuite. The data can also be used to capture payment in NetSuite if your state requires payment capture after fulfillment, not at the time of order. The order will include the following information:
-
P/N Ref.
-
Auth. Code
-
Credit Card Approved – This field ensures payment that is not captured in NetSuite.
This approach may not fully apply if the Payment Instruments feature is enabled in NetSuite. Changes with that feature require special handling.
Payment Processors or Gateways
NetSuite Connector doesn't connect to payment gateways or processors, so payment data must arrive directly from the storefront. NetSuite Connector does not authorize or capture payments, it only syncs available payment data from the storefront to NetSuite. This lets you use any payment processor or gateway supported by your storefront's host platform.
Shipment Methods
The best approach is to map the storefront shipment method to a NetSuite shipment method, so shipping costs and tax are accounted for correctly. Without a shipping method, NetSuite won't accept a shipping cost. If shipping was paid on the order in the storefront, but no shipping cost is imported to the order in NetSuite, it will cause a discrepancy in the order totals between the storefront and NetSuite. That's why it's essential to map a shipping method on your orders.
Configure shipping methods or items in a taxable tax schedule in NetSuite, so NetSuite Connector can assign a tax rate if the storefront charged shipping tax. Assigning a shipping method to a non-taxable schedule causes a discrepancy in order totals if the storefront charges shipping tax. That's why it's essential to configure the shipping method or item in a taxable tax schedule.
For more information about setting up Shipping Methods or Items, see Configuring Shipping for NetSuite Connector.
Mapping Logic
All complex logic for determining the field values on the order in NetSuite must be handled in NetSuite using a formula field, script, or some other automation. NetSuite Connector works best with simple mappings. NetSuite Connector either directly syncs data from the storefront to a field in NetSuite, or uses a simple translation mapping to produce a NetSuite field output. Creating complex mapping logic in NetSuite Connector makes troubleshooting harder, and you might need support to edit or view your mappings. Keeping complex logic in NetSuite allows you to have full control and visibility into such logic. If an unexpected value appears in a NetSuite order field, it's easier to figure out where it came from if the logic is in NetSuite.
Order Items
SKU Field
Storefronts use an SKU value to identify items on orders. NetSuite Connector uses the SKU value to match items in NetSuite. A field on the NetSuite item record containing the SKU value is designated in the Order Settings (configurable by connector and account). NetSuite Connector searches for an item record in NetSuite with a matching SKU value from the storefront. When a match is found, NetSuite Connector uses that item on the order in NetSuite. This requires a one-to-one match between SKU values in the storefront and NetSuite.
Consider the following:
-
The best practice is to use the Item Name/Number field as the SKU field.
-
NetSuite Connector requires unique SKUs for all storefronts, even if the storefront allows duplicates.
-
NetSuite SKU values must be unique across all item types, including active and inactive items.
-
SKU values are case-sensitive.
-
When using Product Sync, use the same SKU field for both Order Sync and Product Sync, or you might sync products that aren't being sold in orders.
Price Level
The best practice is for NetSuite Connector to sync the price level on order items to the Custom price level in NetSuite. This way, NetSuite Connector can set the item price to match what was charged on the storefront, regardless of the price in NetSuite. This ensures that the tax for that item and the order total match the storefront.
Price, Quantity, and Tax
NetSuite Connector syncs the price, quantity, and tax rate from the storefront order to the NetSuite order. Don't modify these values, as it can cause discrepancies and problems with other syncs, like refund or settlement sync.
POS (Point of Sale) and FBA (Fulfilled By Amazon) Orders
The best practice for orders that are already paid and fulfilled when they are received by NetSuite Connector such as POS and FBA orders, is to sync them as Cash Sales. Since payment has already been collected and fulfillment has already taken place before the sync, no Sales Order or Item Fulfillment is necessary. Skipping to the Cash Sale record saves you from creating unnecessary records and work in NetSuite. Additionally, since customer information is typically not provided by the storefront with POS and FBA orders, a fixed customer is used for all such orders. NetSuite needs a customer for every order, but without customer data, you can't match or create a new customer. Using a fixed customer helps NetSuite Connector meet the requirement of having a customer for each order, even without customer data from the storefront.
Unit of Measure
NetSuite Connector doesn't sync the Unit of Measure for items because the storefront doesn't provide it when an item is sold. This is because NetSuite has its own logic for handling unit of measure types, which shouldn't be overwritten during order sync. NetSuite will automatically populate the unit of measure on your line items on the order with the unit that you have specified on the item record for that particular item as the Primary Sale Unit type. If you're using Units of Measure in NetSuite, ensure that you configure the item's Primary Sale Unit type to match what you sell in your storefront. The Base Unit should be set for each item (which is essentially a single unit).
For example, if you sell water bottles in cases of 24, the base unit should be 'each' and the sale unit should be 'Case of 24'. This way, when you receive an order for 1 of the 24 case, your inventory will properly decrement 24 units. If your sales unit is set to 'each' but you sell cases, you'll only subtract one unit from inventory, leaving 23 water bottles that have already been sold.