Bulk Add Subsidiaries to Existing Vendors in NetSuite with CSV

Add subsidiaries to many existing NetSuite vendors in one CSV import, with one row per vendor and subsidiary, the Vendor-Subsidiary Relationship record type, and Internal ID references.

The quick answer

Build a CSV with one row per vendor and subsidiary pair, using internal IDs for both. Go to Setup > Import/Export > Import CSV Records, set Import Type to Relationships and Record Type to Vendor-Subsidiary Relationship, and upload the file. Keep Data Handling on Add. On Field Mapping, map your columns to Vendor and Subsidiary, then use the pencil on each one to set Choose Reference Type to Internal ID. Run the import, check that the job imported every row, and open a vendor's Subsidiaries subtab to see the new rows under its primary subsidiary.

The screenshots show sample data. Person and operating-company names are fictional. Use your own records and values when following the steps.

Before you start

You need a OneWorld account with the Multi-Subsidiary Vendors feature turned on, and a role that can run CSV imports and edit vendors. This example uses the Administrator role. If your role can't see every subsidiary, a vendor's Subsidiaries subtab may not show all of its existing relationships, so check with someone who can.

Three vendors, Ridgeline Fasteners, Copperleaf Packaging, and Northfork Textiles, are shared only with their primary subsidiary, Tamarack US. Purchasing is opening in Tamarack Mexico and Tamarack Germany, so buyers there need those vendors too. Ridgeline and Copperleaf get both new subsidiaries. Northfork only gets Tamarack Germany. That's five relationships, and the import adds all five from one file. The internal IDs below belong to this sample account. Yours will be different.

The record type is the choice that matters. A Vendors import works on the vendor record itself. A Vendor-Subsidiary Relationship import adds rows to each vendor's Subsidiaries subtab and leaves the primary subsidiary alone.

01. Check each vendor's current subsidiaries

Go to Lists > Relationships > Vendors, open Ridgeline Fasteners, and click the Subsidiaries subtab. It has one row: Tamarack US, with Primary Yes. Nobody in Tamarack Mexico or Tamarack Germany can use this vendor yet.

Before: Ridgeline Fasteners is shared only with Tamarack US, its primary subsidiary.

Go back to the list and do the same for Copperleaf Packaging and Northfork Textiles. Each one shows only Tamarack US.

02. Look up the subsidiary internal IDs

The file uses internal IDs, so you need them for the subsidiaries you're adding. Go to Setup > Company > Subsidiaries. Tamarack Mexico is 6 and Tamarack Germany is 8. Tamarack US is 2, but the vendors already have it, so it doesn't go in the file.

Tamarack Mexico is 6 and Tamarack Germany is 8.

If there's no Internal ID column, turn on Show Internal IDs under Home > Set Preferences > General. Depending on the list view, you might still have to add the column to the view. The internal ID is also in the record's URL, and you can add it to a saved search or export.

03. Look up the vendor internal IDs

Go back to Lists > Relationships > Vendors. Ridgeline Fasteners is 1184, Copperleaf Packaging is 1187, and Northfork Textiles is 1192. Bramble Freight Lines and Summit Electrical Supply aren't part of this change.

Ridgeline Fasteners is 1184, Copperleaf Packaging 1187, and Northfork Textiles 1192.

04. Build one row per vendor and subsidiary

The file, vendor-subsidiaries.csv, has three columns: Vendor Internal ID, Vendor Name, and Subsidiary. Each row is one relationship to add. A vendor that needs two subsidiaries gets two rows, so 1184 and 1187 each appear twice, with 6 and with 8, and 1192 appears once, with 8. Five rows.

One row per relationship: five rows, three vendors, two subsidiaries.

Vendor Name is there so people can read the file. The import only uses the two ID columns, and you can leave the extra column unmapped. If your Import Assistant marks External ID as required (see step 07), add a fourth column with a unique value per row, such as V1184-S6.

05. Choose Vendor-Subsidiary Relationship

Go to Setup > Import/Export > Import CSV Records. Set Import Type to Relationships, then set Record Type to Vendor-Subsidiary Relationship. Don't pick Vendors. That import targets vendor records and isn't how you add secondary subsidiaries in bulk. If multi-subsidiary customers are enabled, the same list has Customer-Subsidiary Relationship for customers.

Under CSV File(s), click Select..., choose vendor-subsidiaries.csv, and click Next.

Record Type is Vendor-Subsidiary Relationship, under Import Type Relationships.

06. Keep Data Handling on Add

On Import Options, leave Data Handling on Add and click Next. The file only creates relationships. A row that repeats an existing vendor and subsidiary pair isn't a new relationship, so expect it to be rejected while the other rows import. The CSV Response file tells you which rows failed. Update and Add or Update are for changing values on existing relationships. They need the relationship's own identifier, such as its External ID or internal ID. Don't count on a vendor ID plus a subsidiary ID to find the row.

Data Handling stays on Add, because every row creates a relationship.

07. Map Vendor and Subsidiary by Internal ID

On Field Mapping, the Subsidiary column is already mapped to Vendor-Subsidiary relationship : Subsidiary (Req), because the header matches the field name. Check that it's right. The Vendor (Req) row has no column yet, and the import can't continue without it.

Subsidiary mapped itself. The Vendor (Req) row is still empty.

Click Vendor Internal ID under Your Fields, then click Vendor (Req) under NetSuite Fields. The Vendor row now reads Vendor Internal ID.

Vendor Internal ID now feeds the Vendor field.

The NetSuite Fields list also shows Credit Limit, External ID, and Tax Code. Here only Vendor and Subsidiary are marked (Req). Some accounts and releases also mark External ID as required. Read the (Req) markers in your own assistant. If External ID is required, map your External ID column to Vendor-Subsidiary relationship : External ID. Each row needs its own value. Don't repeat the vendor's external ID across its rows.

Now tell NetSuite the values are internal IDs. Click the pencil on the Vendor row. In Default Value or Reference Type, Choose Reference Type starts on Names. Change it to Internal ID and click Done. Left on Names, 1184 is read as a vendor name, and the row fails unless some record happens to have that name.

For Vendor, the reference type starts on Names. Pick Internal ID.

Do the same on the Subsidiary row: pencil, Choose Reference Type Internal ID, Done.

Subsidiary set to Internal ID as well.

Leave Vendor Name unmapped and click Next. Then choose Run from the Save & Run menu. Saving the mapping is optional.

08. Run the import and check the job

The confirmation says the import job is in process. Click Import Job Status there, or go to Setup > Import/Export > View CSV Import Status. Wait for the Vendor-Subsidiary Relationship job to reach Status Complete. Here the message reads 5 of 5 records imported successfully, which matches the five rows in the file. The wording can differ, so what you're checking is that every row succeeded.

5 of 5 records imported, one for each row in the file.

If fewer rows succeed, click CSV Response to see which rows failed and why.

09. Confirm the new subsidiaries on each vendor

The job count tells you the rows went in. The vendors tell you they went to the right place. Open Ridgeline Fasteners and click the Subsidiaries subtab. It now lists Tamarack US with Primary Yes, then Tamarack Mexico and Tamarack Germany. In this account the new rows show 0.00 balances, because the vendor has no activity in those subsidiaries yet, and Balance (Base) shows each subsidiary's base currency, MXN and EUR. The balance columns on your subtab depend on your features and form.

After: Tamarack Mexico and Tamarack Germany sit under Tamarack US, which is still the primary.

Check the result

  1. The job message says 5 of 5, the same as the rows in the file.
  2. Ridgeline Fasteners and Copperleaf Packaging each list Tamarack US, Tamarack Mexico, and Tamarack Germany.
  3. Northfork Textiles lists Tamarack US and Tamarack Germany only.
  4. Tamarack US is still Primary Yes on all three vendors.

Copperleaf Packaging shows the same three rows. Northfork Textiles shows Tamarack US and Tamarack Germany, because its one row in the file only added Tamarack Germany.

Northfork Textiles gained only Tamarack Germany, matching its one row in the file.

The import creates the relationship rows and sets any relationship fields you mapped, such as Credit Limit, Tax Code, External ID, or custom fields. A mapped Tax Code has to be valid for that subsidiary, or the row fails. The import doesn't change the primary subsidiary, move balances or transactions, or add currencies to the vendor's Currencies list. If buyers in Tamarack Germany need to buy from this vendor in EUR, set that up on the vendor separately.

Adding a vendor to a parent subsidiary doesn't give it to any subsidiary below that parent either. Every subsidiary that needs the vendor gets its own row.

Common questions

Which CSV import record type adds subsidiaries to existing vendors?

Set Import Type to Relationships and Record Type to Vendor-Subsidiary Relationship. Each row adds one subsidiary to one vendor. The Vendors record type works on the vendor record itself, so it's the wrong choice for adding secondary subsidiaries in bulk.

Why do my rows fail with an invalid reference when the file has internal IDs?

The reference type on a mapped field starts on Names, so NetSuite reads a value like 1184 as a vendor name. On Field Mapping, click the pencil on both Vendor and Subsidiary and set Choose Reference Type to Internal ID. Changing one doesn't change the other.

Does the import change the vendor's primary subsidiary?

No. It adds rows to the vendor's Subsidiaries subtab and leaves the primary subsidiary as it was. In this walkthrough Tamarack US is still Primary Yes on all three vendors afterward. It also doesn't add currencies to the vendor.

Is External ID required for a Vendor-Subsidiary Relationship import?

It depends on your account. In this walkthrough only Vendor and Subsidiary are marked (Req), but some accounts and releases mark External ID as required too. Check the (Req) markers on Field Mapping, and if External ID is one of them, give every row its own value.

How do I find vendor and subsidiary internal IDs?

Turn on Show Internal IDs under Home > Set Preferences > General, then look at the Vendors and Subsidiaries lists. You may have to add the Internal ID column to the list view. The ID is also in each record's URL, and you can add it to a saved search or export.

Can I add subsidiaries to customers the same way?

Yes, if multi-subsidiary customers are enabled. Pick Customer-Subsidiary Relationship under Relationships instead, and build the file the same way, with one row per customer and subsidiary pair.

What happens if a row adds a subsidiary the vendor already has?

That relationship already exists, so the row is typically rejected while the other rows import. The job message will show fewer successes than rows in the file. Open CSV Response to see which rows failed, and drop existing pairs from the file before you rerun it.