Filter One Custom Dropdown by Another in NetSuite

Make a custom List/Record field depend on another field with Sourcing & Filtering: set Source List to the parent field and Source Filter By to the matching field on the child record type.

The quick answer

Open the child field (the dropdown you want filtered) under Customization > Lists, Records, & Fields, for example Entity Fields, and go to its Sourcing & Filtering subtab. Set Source List to the parent field on the same form, and Source Filter By to the field on the child's record type that holds each record's parent value. Leave Source From blank and save. The child dropdown then lists only records whose Source Filter By value matches what's picked in the parent. The child's choices must be records of a record type that carries that field, not plain custom list values.

The screenshots show sample data. Person and company names are fictional. Use your own fields, lists, and record types when following the steps.

Before you start

This example uses Kestrel Fluid Systems. Customers have two custom fields on the Custom subtab:

  • Equipment Category is a List/Record field pointing at a custom list with Pumps, Valves, and Filters.
  • Equipment Model is a List/Record field pointing at a custom record type, Equipment Model, with seven model records.

Each Equipment Model record has its own Equipment Category field. That field is what makes the filter possible. A plain custom list only has values, with no fields of its own, so it can't say which category a value belongs to. The child's choices need to be records, and the field on those records must point at the same list the parent uses.

You need the Custom Records feature and a role that can edit custom fields. The Administrator role can. Both fields have to be on the customer form you use, and anyone filling in the form needs permission to view the Equipment Model record type; without it the child list can look empty.

01. See the problem

Go to Lists > Relationships > Customers > New and open the Custom subtab. In Equipment Category, choose Valves. Open Equipment Model. It lists all seven models, including F-510 Cartridge Filter, F-530 Bag Filter, P-100 Centrifugal Pump, and P-220 Diaphragm Pump.

With Valves chosen, all seven models are offered.

Choose P-100 Centrifugal Pump. Nothing stops a pump from being recorded for a valve customer.

Valves with a pump model: a pair that shouldn't exist.

Click Cancel without saving.

02. Check the parent list

Go to Customization > Lists, Records, & Fields > Lists and click Equipment Category. Its Values subtab lists Pumps, Valves, and Filters. The customer's Equipment Category field points at this list.

The parent list: Pumps, Valves, Filters.

03. Check the child record type

Go to Customization > Lists, Records, & Fields > Record Types and click Equipment Model. On the Fields subtab, the record type has an Equipment Category field of type List/Record that points at the Equipment Category list.

Each model record carries an Equipment Category.

Go back to Record Types and click List on the Equipment Model row. Each model shows its category: P-100 and P-220 are Pumps; V-310, V-340, and V-360 are Valves; F-510 and F-530 are Filters.

Seven models, each tagged with a category.

04. Set Sourcing & Filtering

The dependency goes on the child field, not the parent. Go to Customization > Lists, Records, & Fields > Entity Fields and click Equipment Model. Check that Type is List/Record and List/Record is Equipment Model.

Open the Sourcing & Filtering subtab:

  1. In Source List, choose Equipment Category. This is the parent field on the customer, whose value drives the filter.
  2. In Source Filter By, choose Equipment Category. This dropdown lists the fields of the Equipment Model record type, so this is the field on each model that holds its category.
  3. Leave Source From blank and the Filter Using grid empty.
The child field's Sourcing & Filtering.

Both settings say Equipment Category, but they're different fields: Source List is the customer's field and Source Filter By is the model record's field. Source From is for copying a value from another record and isn't needed here. The Filter Using grid adds extra conditions, like a second controlling field.

Click Save. The Custom Entity Fields list confirms the save.

Saved.

05. Test it on a new customer

Go to Lists > Relationships > Customers > New and enter Company Name Harlow Irrigation Co. On the Custom subtab, choose Equipment Category Valves, then open Equipment Model. Only V-310 Ball Valve, V-340 Gate Valve, and V-360 Check Valve are listed.

Valves now offers only the three valve models.

Choose V-340 Gate Valve. Then change Equipment Category to Pumps. NetSuite rebuilds the model list and clears Equipment Model, because V-340 Gate Valve isn't a pump. Test this on your own form and role; it's form behavior, not a database rule.

Changing the category clears the model.

Open Equipment Model again. Only P-100 Centrifugal Pump and P-220 Diaphragm Pump are listed. Choose P-220 Diaphragm Pump.

The list is rebuilt for Pumps.

Click Save.

Saved with a matching pair.

Check the result

  1. With Valves chosen, Equipment Model lists only the three valve models.
  2. Changing the category clears a model that no longer fits.
  3. The saved customer shows Pumps and P-220 Diaphragm Pump.

The filter only applies on the form. CSV imports, scripts, web services, and inline editing in lists may still be able to save a mismatched pair, so test those paths separately and add a workflow or script check if they matter. A saved search can find records that were saved with mismatches before the filter existed.

Adding a new model later needs no change to the field. Create the record with its Equipment Category, keep it active, and it shows up under that category. Inactive models don't appear as choices.

Common questions

When do I need the Filter Using grid instead of Source Filter By?

For one parent and one child, Source List and Source Filter By are enough, and the grid stays empty. Use the grid when you need more conditions, like a second controlling field, a fixed value, or a Compare to Field rule. Each row narrows the list further.

Why does my custom dropdown still show every option after I set Source List?

Source List alone doesn't filter anything. Set Source Filter By to the field on the child record type that holds the parent value. Then check that each child record has that field filled in, and that it points at the same list the parent field uses, not a different list with the same labels.

Why is my dependent dropdown empty?

Usually the parent field is blank, and with no value to match, the child list is normally empty. If the parent has a value, check that the user's role can view the child record type and that the child records are active and have their parent field filled in.

Can a custom list be filtered by another custom list?

Not directly. A plain custom list only has values, with no fields that could say which parent each value belongs to. Make the child options records of a custom record type with a field pointing at the parent list.

Does NetSuite clear the child field when the parent changes?

On the form, usually yes. In this example, switching Valves to Pumps cleared V-340 Gate Valve and the list showed only the two pump models. It's form behavior, so test it on the exact form and role you use.

Do dependent dropdowns stop CSV imports from saving mismatched values?

No. The filter works on the entry form. CSV imports, scripts, web services, and inline editing in lists may still write a mismatched pair, so add a workflow or script check if those paths matter, and use a saved search to find existing mismatches.