Flow Summary
The Order Import flow imports order data in real time from Magento into NetSuite as soon as the order is created in Magento.
Multi-Store Setup
If you use multiple stores in Magento, the Connector imports orders from all the stores. However, the Connector can be configured to import orders only from specific stores. For example, your Magento account operates three stores, but only store #1 and store #3 need to be integrated with NetSuite. The Connector can be configured to import orders from only those two stores without any additional cost.
Magento Order Statuses
The connector is configured to import orders with the status of Processing or Pending by default. However this can be customized to import orders with specific statuses only, including custom statuses. For example, your Magento account operates two stores, store #1 can be configured to import orders with processing or pending statuses and store #2 can be configured to import orders with Pending status only without any additional cost.
Duplicate Order Check
The Connector creates a custom Magento ID field in NetSuite during Connector installation. The Magento ID from Magento is stored in this field as well as the External ID field when orders are imported to NetSuite. When importing an order, the Connector first checks for an existing order in NetSuite with the same Magento ID. If found, the new order is considered a duplicate and an error is logged for the same in the Celigo Integration Logs.
The setting of the Magento order ID as the NetSuite order’s External ID acts as an additional check against importing duplicate orders, as NetSuite does not allow multiple orders with the same External ID. The Connector also checks the Magento box on the NetSuite order to indicate that the order came from Magento.![]()
Handling Customers Associated With Orders
There are two types of orders in Magento – customer orders and guest orders. Based on the order type, the Connector uses the following criteria to find the corresponding NetSuite customer and set it on the NetSuite order:
-
Magento ID – For customer orders, the Connector searches for existing customers in NetSuite based on the Magento ID value of the customer. If found, that customer is set on the NetSuite order.
-
Email address – For guest orders or for customer orders when no match is found on Magento ID, the Connector searches for customers with a matching email address. If a match is found, the Connector selects the first record returned in the result, which is the record with the lowest internal ID when there are multiple matches. The Connector checks the match for a Magento ID related to another Magento customer. If a Magento ID exists, it creates a new customer record in NetSuite. If no Magento ID exists, it updates the record with the data from Magento and also sets the Magento ID field.
If neither of the above searches returns any matches, the Connector creates a new customer record in NetSuite and sets the customer name on the order.
Note: Additional search criteria can be included as part of either of the above searches if needed. Please refer Customer Import Criteria section in the Customer Import flow
Multi-Currency Support
If the “Multiple Currencies” feature is turned on in NetSuite, the Connector can check the currency of the Magento order and set it on the corresponding customer’s record in NetSuite when an order is being imported. NetSuite will then automatically use that currency for any orders created (in NetSuite) for that customer. If the “Multi-Currency Customers” feature is also enabled in NetSuite, it is possible to set multiple currencies for the same customer. If this feature is disabled, NetSuite allows the currency to be set only while there are no existing transactions for the customer, and will report an error if an attempt is made to change the currency of a customer with existing transactions.
Handling Discounted Orders (Coupons, Gift Certificates, Store Credits, and Reward Points)
Magento supports several types of discounts such as coupons (shopping cart price rules), gift certificate redemption, store credit and rewards points. This section describes how the Connector handles them.
-
Coupons – The Connector supports coupons without any changes required. Magento coupon codes are mapped to existing NetSuite discount items by default. However, they can be mapped to promotions by Celigo at no additional charge. During import, the Connector sets the appropriate field on the NetSuite order. Discounts are applied at the order level; they are not supported on line items.
The Connector does not support syncing of data from coupons, discounts, or promotions between NetSuite and Magento. You need to set up matching discounts in both systems.
-
Gift Certificates – Certificate redemption is not supported by default but can be added as a customization. Certificate purchase can be partially supported with the Connector. Please contact Celigo to obtain pricing on how this can be customized.
-
Store Credits – Store credits can be partially supported with the Connector. Please contact Celigo to obtain pricing on how this can be customized.
-
Reward Points – Reward points are not supported by default. Please contact Celigo to obtain pricing on how this can be customized.
Credit Cards and Payment Methods
For orders placed using credit cards, the actual credit card number is imported and stored securely in NetSuite. However, the authorization code imported along with the order data is enough to capture the payment in NetSuite. The main benefit of having the Credit Card Number in NetSuite is the ability to do a refund later or a re-authorization if an order went on backorder and the original authorization code expired. Please note that the same payment gateway needs to be used in the both systems in this case; otherwise the payment cannot be captured in NetSuite.
The Connector supports the following card types only:
-
Visa
-
MasterCard
-
American Express
-
Discover
The Connector imports the Credit Card Information from these fields in Magento: ‘Name on Card’ ,’Credit Card Type’, ‘Credit Card Number’, ‘Expiration Date’.
The credit card type in Magento maps to the Payment Method field on the NetSuite sales order. Magento sends the payment method ID (such as paypal_express for PayPal Express) separately, and it is stored in the “Magento Payment Method” custom field under the Custom tab on the NetSuite sales order. Only credit card types can be mapped to the Payment Method field in NetSuite by default. If this field needs to be used for other Magento payment methods such as PayPal Express or cash/check, this can be done as a customization. Please contact Celigo to obtain pricing on this customization.
Important Notes
-
Credit Card Number – The CC Number cannot be imported if the Order fails to import into NetSuite on the first attempt. Also, the CC Number cannot be imported for the Payment Methods which redirect the shopper to third party websites for payment processing and then redirects them back to Magento Order success page. This would typically include these payment methods: ‘Paypal Standard’, ‘Paypal Express Checkout’, ‘Authorize.net Direct Post’.
-
Sales Tax – The Connector cannot set the Tax Item or the Tax Total on the NetSuite sales order if NetSuite is configured to automatically apply them. In order for tax totals to match between systems, the tax tables/rules must be identical in both systems. The Connector does not sync tax tables between the two systems.
-
Shipping – Shipping method rates must also be identical in both systems. Otherwise, the order total will differ between NetSuite and Magento. The Connector does not sync shipping method rates between the two systems.
-
Discount Amounts – While setting discounts or promotions, the Connector sets the discount amount based on the value coming from Magento. However, in some cases NetSuite may override the value which the Connector sets. To prevent this, it is important to make corresponding discounts or promotions use the same rate or value.
-
Order Total – The Connector does not set the Order Total amount. NetSuite automatically calculates and sets this amount.
Handling Order Total Variance
It is possible that the order total might not match between the two systems if there is a mismatch in tax, shipping, or discount rates. The Connector has the ability to calculate variances in order total. After the order is imported to NetSuite, the Connector immediately compares NetSuite’s calculated total fields with what was sent from Magento. These fields include Tax Total, Ship Total, and Order Total. If there is any difference between the values calculated by NetSuite and the values sent from Magento, the difference is stored in the variance custom fields as shown below. You may report on these fields in NetSuite on a periodic basis and adjust your G/L with a journal entry if variance values exist.
![]()
Handling Import Failure
In case of a Order Import Failure, the error would be logged on the Celigo Integration Log. Once the error is addressed, the order can be re-pushed from Magento by clicking the ‘Push to NetSuite’ button on the Order View Page in Magento for the particular order. Also, failed orders can be pushed to NetSuite in bulk by selecting the Mass Action ‘Push to NetSuite’ in the Order List Page.
Flow Schedule and Monitoring
The Order Import flow runs in real time as soon as the order is placed in Magento. The flow can be monitored from the Integration Dashboard. Please click here for more information.
Default Field Mappings
The following mappings are installed by default. Please consult your Celigo project resource for mapping additional fields, as it might not be possible to map certain fields. If you need assistance, please contact Celigo to obtain pricing on this customization.
NetSuite Field
|
Magento Field
|
Notes
|
Credit Card #
|
Credit Card Number
|
|
Name on Card
|
Name on Card
|
|
Expires (MM/YYYY)
|
Expiration Date
|
|
P/N Ref.
|
|
This mapping allows credit card payments to be captured by standard NetSuite billing functionality.
|
Status
|
|
All orders are imported with a Pending Fulfillment status.
|
Payment Method
|
Credit Card Type
|
The mapping to the NetSuite Payment Method field only maps credit card payments in Magento. A second field called Magento Payment Method displays non credit card payment methods. Please click here for more info on configuring this mapping.
|
Magento Payment Method
|
Payment Method
|
A text version of the payment method selected in Magento.
|
Ship Via
|
Shipping Method
|
Please click here for more info on configuring this mapping.
|
Shipping Cost
|
Shipping & Handling
|
|
Discount
|
Discount
|
This mapping does not set the actual discount total in NetSuite. This mapping is only used to tell the connector to compare discount amounts between the two systems and report any differences in the Discount Total Variance field.
|
Tax Total
|
Tax
|
This mapping does not set the actual tax total in NetSuite. This mapping is only used to tell the Connector to compare tax amounts between the two systems and report any differences in the Tax Total Variance field.
|
Total
|
Total Due
|
This mapping does not set the actual total in NetSuite. This mapping is only used to tell the Connector to compare total amounts between the two systems and report any differences in the Order Total Variance field.
|
Item > Item
|
Items Ordered > Product
|
|
Item > Quantity
|
Items Ordered > Qty
|
|
Item > Rate
|
Items Ordered > Price
|
|
Bill To > Address 1
|
Billing Address > Street Address Line1
|
|
Bill To > Address 2
|
Billing Address > Street Address Line 2
|
|
Bill To > Addressee
|
Billing Address > Full Name
|
The full name in Magento is generated from the individual name fields on the address entry.
|
Bill To > City
|
Billing Address > City
|
|
Bill To > Phone
|
Billing Address > Telephone
|
|
Bill To > Country
|
Billing Address > Country
|
|
Bill To > State/Province
|
Billing Address > State/Province
|
|
Bill To > Zip
|
Billing Address > Zip/Postal Code
|
|
Ship To > Address 1
|
Shipping Address > Street Address Line 1
|
|
Ship To > Address 2
|
Shipping Address > Street Address Line2
|
|
Ship To > Addressee
|
Shipping Address > Full Name
|
The full name in Magento is generated from the individual name fields on the address entry.
|
Ship To > City
|
Shipping Address > City
|
|
Ship To > Phone
|
Shipping Address > Telephone
|
|
Ship To > Country
|
Shipping Address > Country
|
|
Ship To > State/Province
|
Shipping Address > State/Province
|
|
Ship To > Zip
|
Shipping Address > Zip/Postal Code
|
|
Note: The Order Import flow does not support order cancellations. If a Magento order is cancelled after it has been imported into NetSuite, the corresponding NetSuite order must be manually cancelled. Updates to orders that are already in both systems are not synced.
The Connector does not support ‘Item Group’ type items. That is, if an item on an order being imported is set up as an ‘Item Group’ in NetSuite, the import of that order will fail.