Proposal Summary
This proposal summarizes the functionality of implementing integration from Netsuite to Magento for sales orders, customers, and contacts.
Requirement
The client would like to develop a two – way sync of their sales orders, customers and contacts between the Netsuite and Magento.
Deliverables
Customer Sync
- We will create new customers that are created in NetSuite to Website
- When a new customer is created in NetSuite, their information, including email ID and basic details, will be created in Magento.
- For the newly created customers, an email will be sent to these customers with login credentials to login into website and can access their website account (can reset password).
- When a customer is edited in NetSuite the corresponding customer will be updated in Magento.
- Similarly, when a contact or address is added in NetSuite, we will ensure that the corresponding contact and address are also created in Magento.
- When a contact/address is edit in NetSuite we will update the corresponding contact/address in Magento
- Should a customer be deleted from NetSuite, the corresponding customer account will be automatically removed from Magento as well.
- If a contact is assigned with new role, we will update the role in Magento
Sales Order Sync
- When a Magento synced estimate record in NetSuite is converted to Sales order, the quote in Magento will be automatically converted to sales order.
- Also, when a new sales order is created in NetSuite, the same will be reflected in Magento.
- We will develop a functionality that automatically places order in Magento whenever a sales order is created in NetSuite in real time.
- We will maintain a custom record for each sales order synced with Magento to store the Magento responses, Magento ID and the required information.
- Sales order Sync includes the following syncs:
- Sales order Creation: When a sales order is created in NetSuite, an order corresponding to this will be created in Magento in Realtime. After the order creation in Magento, the Magento order ID will be stored in NetSuite sales order.
- Sales order Update: When a synced sales order is updated in NetSuite, the same update will be reflected in Magento.
- Sales order Deletion: When a synced sales order is deleted from NetSuite, we cannot delete the corresponding order from Magento; instead, we will cancel the order in Magento.
- Error handling: In case an error occurs during the sync and the NetSuite-created sales order fails to be created in Magento, we will store the error response in a custom record. Additionally, we will develop a scheduled functionality to reattempt the order creation in Magento for the failed orders every 15 minutes.
Assumptions
Customer and contact two-way sync:
- We assume that we will not need to consider the inactive customers in this customer sync.
Sales order two-way sync:
- If a sales order is created from an estimate record that is synced with Magento, we will not consider such sales orders for syncing from Netsuite to Magento. This is because the order will already be created in Magento when the customer converts the quote to a cart and places the order.
- If a sales order is created in NetSuite for a customer that is not synced with Magento, then we will not create the order in Magento until the customer is synced in Magento.
- Similarly, if a sales order is created with an item or items that are not synced with Magento, the order will not be synced with Magento until the items are synced in Magento.