Source a Customer Field onto a NetSuite Sales Order

Create a stored transaction body text field, source the customer’s service territory, and test two customer selections on an unsaved NetSuite sales order.

The quick answer

Create a transaction body field with a compatible text type, select Sale on Applies To, and set Source List to Customer and Source From to the customer's field. Save the definition, then select a customer on a sales-order form that shows the field. In this example, Service territory changes from blank to Coastal, then to Inland when the customer changes.

Before you start

The customer field already exists as Free-Form Text and applies to customers. Cedar Point Service holds Coastal; Alder Bay Service holds Inland. Confirm those source values before testing the transaction field.

Use a role that can customize transaction body fields and read the source field. The example uses Administrator. Your sales-order form must show the transaction field, and field access must permit the role to see it. Main alone does not override a form that hides the field.

Field locations and selector controls vary by account and form. This walkthrough uses a dropdown for Source From; your account may show a lookup. Source List choices also depend on the transaction and related record.

Alex Morgan and Example Supply Co. are fictional example data. The field definition is saved during the walkthrough. The sales order remains unsaved throughout the test.

1. Create the body field

Open Customization > Lists, Records, & Fields > Transaction Body Fields > New. Enter Service territory as Label and _service_territory as ID.

Name the transaction field and give it a descriptive script ID suffix.

Select Free-Form Text and keep Store Value checked. This example uses Free-Form Text for both fields. Source and target types must be compatible; other types may need a different configuration.

Use a compatible text type and keep Store Value checked.

On Applies To, select Sale. This makes the body field available to sales transaction categories; it does not restrict it to sales orders or create a field on individual item lines.

Select Sale on Applies To.

2. Choose the customer source

Open Sourcing & Filtering. Set Source List to Customer.

Customer identifies the related record that supplies the value.

Set Source From to Service territory. Source List chooses the related record; Source From chooses the field on that record. If the customer field is missing, check its type, customer applicability and role access.

Service territory identifies the field on the selected customer.

3. Set the display

Open Display. Set Subtab to Main and retain Normal as Display Type. Use a sales-order form that shows the field. Do not use Hidden for this sourcing configuration.

Choose Main and retain Normal display.

4. Save the field definition

Click Save. Find Service territory in Transaction Body Fields. NetSuite prefixes the typed suffix with custbody. Verify the resulting full ID; the example is custbody_service_territory.

Verify the full ID after saving the field definition.

Confirm the row shows Main under Tab and Service territory under Source. This verifies the saved field definition.

The saved definition lists its Main subtab and customer source field.

5. Test two customers

Open Transactions > Sales > Enter Sales Orders. Confirm the intended form is selected and shows the field for your role. Customer and Service territory should initially be blank. Select Cedar Point Service and let sourcing finish.

Select Cedar Point Service on the draft order.

Service territory becomes Coastal without entering text into that field.

The first customer selection sources Coastal without typing it into this field.

Change Customer to Alder Bay Service on the same draft.

Change Customer to Alder Bay Service on the same draft.

Service territory changes to Inland. Leave the order unsaved. The two selections confirm entry-time sourcing in this browser form; they do not test saving a transaction, later customer-master edits, imports or integrations.

The second customer selection replaces the territory with Inland.

Common questions

What is the difference between Source List and Source From?

Source List identifies the related record reference. Source From identifies a field on that record. Here, Customer supplies the record and Service territory supplies the text.

Why is the customer field missing from Source From?

Check that the source field exists, applies to customers, is readable by the role and has a compatible type. The related-record reference and available fields can vary by transaction and account.

Why does the transaction field not appear on my sales order?

Check Sale applicability, the field's subtab and display settings, the transaction form's field visibility and the role's field access. Main does not force a custom form to show the field.

Will changing the customer update the sourced value?

The two selections in this browser-entry example source the corresponding territory. Test other forms, entry channels and customizations separately before relying on the same behavior there.

Does Store Value keep saved orders synchronized with customer-master changes?

Store Value makes the transaction field hold its own value. It does not by itself keep existing orders synchronized with later customer-master edits. This walkthrough leaves the order unsaved; test saved-order edits, re-sourcing and customizations separately.

Does Sale limit the field to sales orders?

Sale makes the field available to sales transaction categories. It does not limit the field to sales orders. Review the forms and transaction types where the field should appear.

Supporting reference

Oracle's custom field sourcing guidance explains Source List, Source From and display constraints. Test the configuration on the forms and entry channels your team uses.