Bill Conway, NetSuite Practice Lead
You want to move your historical transactional data out of one NetSuite instance into another, while merging it into your existing environment. It sounds easy enough but mapping data between environments can quickly become difficult and complex. Utilizing Dell Boomi to transfer item receipts and fulfillments in NetSuite simplifies this complex process. Here are the steps:
1. Pull the transactions out of the source NetSuite instance
- Records can be pulled out of NetSuite based on a date range. However, NetSuite’s API limits the transfer to 10,000 records at a time
- For example, if a you want to pull transactions dating back to January 2018, break out each month in a filter to pull the specific dates of transactions per process
- Using internal IDs to pull out specific receipts and fulfillments imposes a limitation of 1000 records per process execution but can be used to pull specific records
2. Map the XML from the source to the destination
- When mapping data across environments, it is best to use the minimum number of fields, some fields can be automatically populated if the information is already on the sales order
- Fields can map straight across from the source to destination if the values are the same in both systems (matching internal or external IDs)
- If master data (customers, vendors, items, etc..) is imported via CSV and mapped from source Internal ID to Destination external ID then this approach is feasible
- For entity (customer/vendor) mapping, internal to external is a great approach if master data was imported according to the above.
- Line numbers may not correlate between the two systems if purchase orders and sales orders are not mapped across exactly, resulting in the need for an additional cross reference table to get the new line numbers
- Fields where the data does not map directly across will need to be updated
- A cross reference table can be used to map ID’s between the old and new systems, or a connector call can be used to look up values on the fly
- Custom fields can also be mapped between environments
3. Push the data to the destination instance
- This step is where most errors will be encountered through validation of the input into the new NetSuite instance.
- The document is inserted into the new NetSuite environment and checked for errors, the insert will error if required fields are set incorrectly or the created from record is not in the system
- Boomi will output the error message from NetSuite
- The “upsert” request can be put into a try catch statement in Boomi to handle document errors further in the process
Things to Keep in Mind
The two main challenges for importing transactional item receipts and fulfillments is ensuring that sales and purchase orders have been brought over correctly and that the master data in the system can be mapped between the environments
Any inconsistencies between the sales orders and purchase orders from the original system versus the new system will appear when mapping item receipts and fulfillments. The data on the fulfillment won’t match the new system. Therefore, it is important to ensure that you maintain as much consistency as possible between the original and new NetSuite environments.
Master Data from original instance needs to be imported and pulled into new instance for successful mapping between source and destination instance. Also, all the customers, vendors, items, etc. in the original NetSuite instance need to be imported into the new environment or mapped across to existing customers. Differences in how the two environments handle customer names and other information can quickly cause the process to become more complex as you will need to provide more information for the data to map correctly.