Use of external IDs
Using External IDs in NetSuite for Data Migration
What is an External ID in NetSuite?
In NetSuite, an External ID is a unique identifier that creates a reference to a corresponding record in an external system. It acts as a link between NetSuite and other systems, ensuring that records can be easily matched and tracked across platforms.
This makes External IDs highly useful for data migrations. If you have a unique reference number for a record in another system, you can use it to load or update records in NetSuite. External IDs allow you to match and update data in future imports, making them invaluable in maintaining data integrity during migration.
Why External IDs are Ideal for Migrations
During migrations, having a unique reference to the corresponding record in your legacy system means that you can easily update data in NetSuite if needed. Instead of relying on NetSuite's Internal ID (which only exists after data is loaded), External IDs allow you to match records consistently across systems.
For example:
If you import customers from a CRM into NetSuite, the External ID will let you update customer data in future imports without creating duplicate records.
It simplifies the process of syncing data between NetSuite and other systems, such as an ERP, CRM, or Ecommerce platform.
However, when using External IDs for migration, there are important considerations based on the type of record.
Considerations by Record Type:
1. Vendors / Customers / Items
In many cases, External IDs for these records are already being used by other systems, such as a CRM or Ecommerce platform. This could cause conflicts if NetSuite is integrated with those platforms, as the External ID might already be in use to link the two systems.
What to Watch For:
Pre-existing integrations: If an integration with another system (like a CRM) already uses the External ID, it could overwrite or conflict with your migration data.
Best Practice:
Instead of using the External ID field, consider using a custom field to store your external system's unique identifier during the migration.
This approach ensures that existing integrations won’t be disrupted, especially if you plan to test those integrations before go-live.
Tip:
Even if you don’t use the External ID field, it’s essential to maintain a mapping table. This table should map the target system’s internal IDs (the ones generated by NetSuite after data import) to the corresponding external database key from the source system. This helps with reconciliation and future updates.
2. Loading Opening Balances (AR/AP Transactions)
When loading opening balances and AR/AP transactions, using the Internal ID or database key from the source system as the External ID is common. This works well in most cases, as each transaction typically posts a single line to AR/AP.
However, there are some cases where journals or other multi-line transactions are used to post data to AR/AP. In these situations, using the Internal ID may not be sufficient.
Best Practice:
Use the Line Unique Key when loading multi-line transactions. This ensures that each line on the transaction is tracked individually and avoids issues during reconciliation.
Why It’s Important:
Using the Line Unique Key makes reconciliation faster and more accurate, especially when dealing with journal entries or transactions that span multiple lines in AR/AP.
Summary of Key Points:
External IDs create a direct link between NetSuite and external systems, making them ideal for migrations and future updates.
For Vendors, Customers, and Items, avoid using External IDs if they are already in use by other system integrations. Instead, use a custom field to store the unique identifier during migration.
Maintain a mapping table between NetSuite’s internal IDs and the source system’s external keys for easy reconciliation.
When loading AR/AP transactions, use the Line Unique Key for multi-line transactions to avoid issues and make reconciliation smoother.
Last updated
Was this helpful?