External IDs

How NetOrderFlow generates External IDs per record type, why they must be unique, and how to avoid collisions when you re-import.

An External ID is your own stable key for a record. NetSuite treats it as a unique identifier it can match on, which makes it both the grouping key for multi-line orders and the thing that lets you safely re-import a corrected file. Configure generation at Settings → Defaults, in the external ID section.

Per record type settings

External ID generation is configured separately for orders, customers, items, and sales reps. Each record type has its own enabled switch, pattern, next sequence number, and sequence padding. When generation is enabled, a new record of that type gets an External ID assigned automatically at creation, and the sequence advances.

SettingEffect
EnabledTurn generation on for that record type. Off means the field stays blank unless you fill it yourself.
PatternThe template for the generated value, with tokens replaced at creation time.
Next sequenceThe number the next generated ID will use. Editable, so you can jump past a range already used in NetSuite.
Sequence paddingHow many digits the sequence is padded to, between 1 and 12.

Pattern tokens

TokenReplaced withExample
{YYYYMMDD}Creation date, no separators20260810
{YYYY}Four-digit year2026
{MM}Two-digit month08
{DD}Two-digit day10
{seq}Next sequence, padded00042
Pattern:  SO-{YYYYMMDD}-{seq}
Padding:  5
Result:   SO-20260810-00042
Preview before you save

The settings screen shows a live preview of the next value as you edit the pattern, sequence, and padding, so you can confirm the shape before any record uses it.

Why uniqueness matters

  • NetSuite rejects a second record with an External ID that already exists when Data Handling is set to Add.
  • With Add or Update, a repeated External ID updates the existing transaction instead of creating a new one. That is the behavior you want when re-importing a fix, and the behavior you do not want if two different orders accidentally share an ID.
  • Within a single order file, all rows that share an External ID are folded into one Sales Order with multiple lines.

Avoiding collisions

  1. 1Use a prefix that is unique to NetOrderFlow, such as SO- for orders and CUS- for customers, so generated IDs cannot collide with keys created by other systems.
  2. 2Include a date token if you want IDs to be readable and naturally partitioned.
  3. 3Before going live, check the highest External ID already in NetSuite for that prefix and set Next sequence above it.
  4. 4Do not reuse a pattern across record types. Two records with different types but the same External ID will confuse a NetSuite saved import.
  5. 5If you restore data or run Clean slate, review Next sequence afterwards. It does not roll back with your data.
Do not edit an External ID after an order is exported

The exported file carries the old value. Changing it here means a re-import creates a duplicate transaction in NetSuite instead of updating the original.

How grouping works across several orders

NetOrderFlow does this for you. Start a 14-day free trial.

Questions about this guide?