The Magento 2 - NetSuite Integration App comes with prebuilt data flows between Magento 2 and NetSuite. You can modify the data flows as per your business requirements from the 'Advanced Settings' option in the Integration App.
After installation, the Integration App appears as a tile on the main page. Settings and Dashboard are main options that you will use to run data flows, view status of flows and resolve errors. Hover over the tile to view the settings options.
NOTE ABOUT CUSTOMER IMPORT SETTINGS
Order imports fail if a customer record with the same ID already exists in NetSuite
Order imports into NetSuite sometimes fail when customer records with same Customer IDs are already present in NetSuite. You may see the following error:
"Failed to add/update customer for order #1xx1. A customer record with this ID already exists. You must enter a unique customer ID for each record you create. To correct this record, click and enter a new customer ID in the Customer field."
In the following example, note the field CUSTOMER ID. If another customer comes with the same name, customer creation will fail.
This error occurs because the Auto-ID feature in NetSuite is not enabled. Note that the customer name is used to create the Customer ID. Any time a new customer comes with a name that already exists in NetSuite, customer creation will fail. To avoid such errors, please enable the Auto-ID generation feature in NetSuite.
To set up auto-generated numbers in NetSuite, go to the link ‘Set up Auto-generated Numbers’ (or click https://system.na1.netsuite.com/app/setup/numbering.nl?whence=) and provide the necessary information.
The data flows are visible in the 'Settings' section. Select the data flow group from the left navigation. Ref. screen for 'Order' data flows and options to manage the flow. You also have options to view and manage your 'connections', 'monitoring' and 'notifications'.
The 'Advanced Settings' section displays several options to customize the data flow. The following screen displays 'settings' for Order flow. Similarly, there are 'settings' for every data flow/flow group.
Click 'Advanced Settings' to expand and view the setting options. Field level help is also provided.
- Refer to Ship Method Mapping and Payment Method Mapping topics.
- Magento Order Id(s): Provide a single or multiple comma-separated Magento 2 order ids and click on 'Save' button to on-demand import of orders from Magento 2 into NetSuite. Recommendation: The max number of order ids that should be specified at a time is ten.
- Add Magento orders with status: Lets you define the order status in Magento for which the orders should be imported into NetSuite
- Add Magento orders with custom statuses: Magento allows retailers to define custom statuses for their order workflow. If you would like the Integration App to pull orders when the order status changes to one of the custom changes, provide a single or a comma-separated list status code(s) in this field.
- Add orders created after: Lets you define the order creation date in Magento only after which the orders should be imported into NetSuite.
- NetSuite discount item to track Magento discounts: Lets you choose the corresponding NetSuite item to track discount amounts on your Magento orders. Discount Code used on the Magento order is mapped to the 'Magento Discount Code' field under 'eTail' tab on the Sales Order record in NetSuite.
- NetSuite item to track Magento store credits as a line item: Lets you choose the corresponding NetSuite item to track store credits applied to your Magento orders. Magento2 natively supports store credits in the premium (previously "enterprise") edition only.
- Default NetSuite customer for Magento guest orders: Provide the internal id of the default customer record in NetSuite to be assigned to the NetSuite sales order record for guest checkouts in Magento.
- Trim customer name if invalid on Magento order: This lets you define a business rule where invalid first name & last name on Magento order are automatically trimmed to the first 32 characters before the order is added to NetSuite. This prevents order import failures when the buyer enters more than 32 char for the first name and/or last name fields in Magento.
- Remove phone number if invalid on Magento order: Lets you define a business rule where invalid phone numbers on Magento order are automatically removed before the order is added to NetSuite. This prevents any manual intervention to import orders with invalid phone no.s (<7 digits or alphanumeric format).
- Add Magento bundle products to NetSuite sales order as: Allows you to define how should the Magento bundle products be added on the NetSuite sales order line items. You can choose to import just the parent SKU or all the child item SKUs or both parent and child item SKUs.
- Bundle products in Magento have dynamic SKU: Check/uncheck this option depending on whether the Bundle products in Magento have dynamic or fixed SKU. In Magento, navigate to Products -> Catalog, view any bundle product & check if the Dynamic SKU field is set as enabled or not.
- Multi-Currency customers enabled in NetSuite: Check this box if you allow the creation of sales transactions in multiple currencies for individual customers in NetSuite. In NetSuite, navigate to Setup -> Company -> Enable Features and under 'Company', look for 'Multi-Currency Customers' to see if this feature is enabled.
- NetSuite Saved Search for syncing item fulfillments: Select from the drop-down. Refresh to fetch the latest list of Saved Searches from NetSuite.
- NetSuite Saved Search for syncing inventory levels: Select from the drop-down. Refresh to fetch the latest list of Saved Searches from NetSuite.
- Always sync inventory levels for entire catalog: Enabling this setting allows you to sync the inventory levels for all the NetSuite items (linked to your Magento store) on each run of the inventory export data flow.
- NetSuite locations to pick inventory from: Lets you choose the inventory location(s) in NetSuite from which the inventory quantities should be read & exported to Magento.
- NetSuite Saved Search for auto-billing orders: Select from the drop-down. Refresh to fetch the latest list of Saved Searches from NetSuite.
- Auto-bill orders in NetSuite when the status is: Provide the order status in NetSuite after which the Integration App should automatically bill the sales orders and create corresponding cash sales or invoices.
- NetSuite Saved Search for syncing Billing details: Select from the drop-down. Refresh to fetch the latest list of Saved Searches from NetSuite.
- Credit Card payments are captured in: Provide the system in which the credit card payments are captured and at what point. If your business processes are set up such that you capture in Magento after the order fulfillment, along with the invoice creation, the Integration App will also trigger the invoice capture.
- NetSuite Saved Search for syncing item details: Select from the drop-down. Refresh to fetch the latest list of Saved Searches from NetSuite.
- NetSuite Saved Search for syncing matrix item details: Select from the drop-down. Refresh to fetch the latest list of Saved Searches from NetSuite.
- NetSuite currency for syncing product price: Lets you choose the NetSuite currency to be used for exporting the price to Magento.
- NetSuite price level for syncing product price: Lets you choose the NetSuite price level to be used for exporting the price to Magento.
- Map Customer Group With Netsuite Price Level: This lets you map the Magento 2 customer groups(group ids) to NetSuite price levels(internal ids) for exporting qty based pricing in NetSuite to Magento 2 tier price levels