Table Of Content
Importing Your First Order Into NetSuite : Prerequisites
- Ensure you have an SKU in Magento 2 that also exists in NetSuite with the same SKU name/number. If you don't already have one, use the steps as follows:
- In Magento 2, Go to Products > Catalog > Add a product and create a new product and populate the "SKU" field as "Celigo Test SKU 1".
- In NetSuite, Go to Lists > Accounting > Items > New > Inventory Item and create a new an inventory item and enter "Celigo Test SKU 1" in the Item Name/Number field.
- In Magento 2, go to Sales > Order > Create New Order and create a test sales order for product “Celigo Test SKU 1” and enter the necessary order details. Once the order is created, make a note of the Magento 2 order id.
- Navigate to the Integration App settings page in the integrator.io, In the Settings > Order, click the Shipping tab and perform the following steps:
- Click Map Ship Methods.
- Select the "Use Custom Default Value" option.
- Select a value in the Default Lookup Value field.
- Click Save.
- Do the same steps on the Payment tab to map payment methods, select a value in the Default Lookup Value field and click Save.
- Once everything is set up, go to Flows > Order, click the Off /On switch to enable any one of the Magento Order to NetSuite Order Add flow depending upon whether you want to add the Magento 2 order as a sales order or cash sale in NetSuite.
Now, you are ready to import your first order!
Import your first order
- In the Order tab, under Settings > Order enter the Magento 2 Order Id (noted in Step 2 of the prerequisites) in the Magento 2 Order Id(s) text box.
- Click Save. This action triggers the Integration App to pull the specified order details from Magento 2 and push it into NetSuite.
- To monitor the success or failure of this action, click the Dashboard. On this page, you should see a new job in few seconds that changes its status from Queued -> In Progress -> Completed.
- If the job status shows "Completed" with a success count as 1, this indicates that the order has been successfully added into NetSuite and you can directly go to Step #5.
- If the job status shows "Errored" with an error count of 1, this indicates the order import has failed. In this case, use the following steps to resolve the error:
- Click on the View button next to the error count on the same job to know why the order import failed.
- Fix the error by using our troubleshooting guide and retry the same job using the Retry button.
Note: As NetSuite does not report all errors with an order at once, you may need to fix errors one by one as they appear till the order is successfully added into NetSuite.
Navigate to your NetSuite account and put the same "Magento 2 Order Id" in the global search box to find the order record created in NetSuite for the corresponding order in Magento 2.
Magento Order to NetSuite Order Add
This Magento Order to NetSuite Order Add data flow automatically exports 'order' information from Magento 2 to NetSuite. For example, when an Order is created in Magento 2, the order data is imported into NetSuite automatically by the Integration App. You can customize the pre-built data flow from the settings section.
- Orders: Orders can be imported after a certain date and/or with a specific standard or custom order status in Magento 2.
- Variances in taxes/discounts/ shipping costs/order totals between NetSuite and Magento 2 are reported on the sales order.
- Multi-currency: If multi-currency is enabled in both NetSuite and Magento 2, the Integration App brings the order in the correct order currency in NetSuite.
- Ship methods must be configured separately in both systems by clients. The Integration App allows unlimited ship method mappings.
- Payment methods must be configured separately in both systems by clients. The Integration App allows unlimited payment method mappings.
- Discount codes in Magento 2 are either matched against existing coupon/promo codes in NetSuite or a single discount item can also be used to track discounts in NetSuite.
- Store credits redeemed on an order in Magento 2 can be tracked as an additional Non-Inventory line item on the NetSuite sales order to ensure the order totals match.
- Item support: The Integration App only requires the SKUs to match on Magento 2 Product & NetSuite item regardless of the item type in either system. The Integration App supports Simple, Matrix, and Kit item types.
For information on handling Taxes, see Handling Taxes article.
Example depicting the screens
First, create order in Magento, run the data flow from the settings section, view the flow status in the dashboard, and when the flow is successful, validate that the record is moved into NetSuite.
- Create an Order in Magento 2.
- Run the Order flow from Settings (click ‘Play’ button). It will also show the status right away. The successful flow (green color) indicates that the order information is instantly imported into NetSuite. Go to NetSuite and validate that the order is successfully moved into NetSuite.
The new Settings provide you the options to customize the data flow.
Click 'Settings' to expand and view the setting options that are divided according to category. Field-level help is also provided.
- Map Ship Methods: Refer topic: Configure Ship Method Mappings in Magento 2 - NetSuite Integration App
- Map Payment Methods: Refer topic: Configure Payment Method Mappings in Magento 2 - NetSuite Integration App
Bring Magento cart level discounts into NetSuite as: Select your preferred handling method for cart level discounts in Magento. All the cart level discounts are added at order header-level in NetSuite. Promo Code - If you maintain a 1:1 match between the promo codes in NetSuite and Magento. Coupon Code - If you maintain a 1:1 match between the coupon codes in NetSuite and Magento. Discount Item - If you do not maintain a 1:1 match between the coupon codes in NetSuite and Magento and want to track all cart level discounts against a single default item in NetSuite.
NetSuite discount item to track Magento cart discounts: This preference provides a choice for the default NetSuite discount item against which all the cart-level discounts are posted. The item is added at the order header level in NetSuite and the discount code is posted in the 'eTail Discount Code' custom field.
Bring Magento line-level discounts into NetSuite as: Select your preferred handling method for line level discounts in Magento. All the line-level discounts are added at order line-level in NetSuite.
- Magento Order Id(s): Provide a single or multiple comma-separated Magento 2 order ids and click on 'Save' button to the 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 10.
- 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: Let's you define the order creation date in Magento only after which the orders should be imported into NetSuite.
NetSuite item to track Magento shipping cost as a line item: This is an optional setting and lets you choose the corresponding NetSuite item to track Magento 2 order shipping costs as a line item on the NetSuite sales order. The NetSuite item must be set up as a Non-Inventory item.
NetSuite item to track Magento gift card redemption as a line item: Lets you choose the corresponding NetSuite item to track the Magento 2 gift card amount and adds it as a line item on the NetSuite sales order. The NetSuite item must be set up either as a Non-Inventory item or a Payment item.
NetSuite item to track Magento store credit redemption as a line item: This 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
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.
NetSuite item to track the variance adjustments as a line item: Select NetSuite non-inventory item to track the order total variances b/w two systems. A new adjustment line will be added as a line item to ensure the order total matches in both systems.
- NetSuite item to track gift wrap price as a line item: This setting lets you sync the gift wrap prices as a separate line item in NetSuite. Magento 2 allows customers to gift wrap any product that can be shipped, and this is offered for individual line items, the entire order, or both.
- The item selected in the setting is added as a separate line item on the NetSuite sales order. In NetSuite, be sure to create the item either as a non-inventory or payment.
- The item selected in the setting tracks grift wrap prices at line level and order level. For line-level gift wrap, the quantity is populated for gift wrap associated with a line item. The gift wrap quantity should be the same as the line item quantity. For order-level gift wrap, the quantity is populated as one.
- The gift wrap option is available in the Magento2 Adobe Commerce edition, and this enhancement applies only to the premium edition users of the Adobe Commerce edition.
- 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.
Add all orders against the default NetSuite customer: Check this box to assign a default NetSuite customer record to all the incoming orders. The customer record provided in the 'Default NetSuite customer..' setting is assigned to all orders for this particular Magento account.
- Trim customer name if invalid on Magento order: 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).
- 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.
Assign first customer if multiple customers exist with same email: Check this box to assign the customer with lowest internal id when multiple customer records are found with the same email in NetSuite during the customer search. Unchecking this box prevents the flow from posting the order in such a scenario.
- Sync order to Magento 2 when matching SKU is not found: Check this box to sync orders to Magento 2 when a matching order SKU is not found in Magento 2. If you uncheck the checkbox, the "NetSuite order to Magento 2 order (add)" flow doesn’t sync the order to Magento 2, and an error message "Unable to create the NetSuite order #### in Magento 2 as matching SKU(s) #### are not found in Magento 2" is displayed on the integration app Dashboard. By default, this checkbox is unchecked.