Skip to main content
NetSuite - Utilizing Custom Fields
Micah A. Parker avatar
Written by Micah A. Parker
Updated over 5 months ago

Product: NetSuite


Custom Fields within NetSuite allow you to populate EDI Transactions within Transaction Manager using information that is outside the standard scope of the TrueCommerce/NetSuite integration - providing more flexibility to your solution.


Prerequisites


You'll need to make sure you create your Custom Fields prior to engaging TrueCommerce support - as we'll need to update your system's definition files to support the newly added fields, based on their ID configuration.

Supported Fields

The TrueCommerce integration can support Transaction based custom fields - that is Body Fields (custbody) and Line Fields (custcol) fields located within a particular Document inside NetSuite.

In addition we support Item Fields for Inventory Inquiry/Reports (846) and Item Catalogs (832)


Creating Fields


TrueCommerce does not provide assistance in creating the custom fields within NetSuite - please use this guide to see general information on creating fields.

For issues please contact your NetSuite Administrator

Creating the Field

Creating a Body or a Line field is relatively the same - you simply can navigate to the Transaction Body Fields or the Transaction Line Fields and select New. You will need to follow a few basic requirements in order to configure it for Transaction Manager

Header Fields (Transactions)

Header fields are used within the summary data of a transaction, a single field that applies across the entire document. These are known as custbody fields and can be added from the Transaction Body Fields

Navigate: Customization → Lists, Records, & Fields → Transaction Body Fields

Select: New

Fill: Label & ID

An ID of 'edi_notes' will generate an ID of 'custbodyedi_notes'

Line Fields (Transactions)

You can add a field that gets applied on a per-item (Line) basis which is known as custcol fields by using the Transaction Line Fields

Navigate: Customization → Lists, Records, & Fields → Transaction Line Fields

Select: New

Fill: Label & ID

An id of 'item_promo_code' will generate an id of 'custcolitem_promo_code'

Item Fields (Inventory Reports)

If you need a custom field to be sent with your Inventory Inquiry/Report (846) or an Item Catalog (832) you will need to use the Item Field to add it directly to the Inventory system of NetSuite.

Navigate: Customization → Lists, Records, & Fields → Item Fields

Select: New

an item id of 'manufacturer' will generate an id of 'custitem_manufacturer'

Note: Item Fields cannot be pulled for Transactions and would need to be pushed to a Transaction Line Field. Item Fields are used for Inventory Inquiry/Report (846) and Item Catalog (832) only

Populating the ID

Note: it is recommended to fill in the ID manually otherwise NetSuite will auto-generate a numeric ID which is difficult to distinguish within Mapping Manager since the id is used rather than the Label for mapping

Storing Value

When creating the Custom Field - be sure to check the Store Value option in order for the data to be available for Transaction Manager integration.

If this box is unchecked - Transaction Manager will not be able to pull the value

Enabling Field on Transactions

In order for these fields to be present and show up on the appropriate Document within NetSuite - and thus be pushed/pulled by Transaction Manager you'll need to be sure to set the Applies To rules within the NetSuite field.

Applies To

EDI Transactions

Sale / Sale Item

  • Inbound Purchase Order (850)

  • Outbound Invoice (810)

  • Outbound Purchase Order Acknowledgement (855)

  • Outbound Warehouse Shipping Order (940)

Purchase / Purchase Item

  • Outbound Purchase Order (850)

  • Outbound Purchase Order Change (860)

  • Inbound Bill/Invoice (810)

Item Fulfillment

  • Outbound Advance Ship Notice (856)

  • Inbound Warehouse Shipping Advice (945)

Inventory Item

  • Inventory Inquiry/Report (846)

  • Item Catalog (832)

Field Types

Below is a list of the most commonly supported field types for the NetSuite and Transaction Manager integration.

Type

Description

Free-Form Text

A Text box that can have any value entered

List/Record

A dropdown box - must have values passed exactly

Date

Date - formatted

Decimal Number

A number supporting a decimal point

Integer Number

Whole number only

Check Box

A checkbox - represented as true/false

Field Display Location

You can configure where the Custom Field appears by setting the Subtab under the Display tab if you wish for it to show up within a specific tab of your Document within NetSuite.

Navigate: Display

Set (Optional): Subtab

Set (Optional): Insert Before


Mapping Fields


If you have access to Mapping Manager you can use it to map your Custom Fields with your EDI Transactions.

Creating the Field Definition

If this is a new field that has not yet been defined within Mapping Manager - you will need to create a Support Ticket in order to have this added for each Transaction Entity so that can it is available for mapping.

Note: This will need done for each entity definition - if you wish to have this available across different EDI Transaction types.

Be sure to indicate each transaction you wish for this to be available for

Body Fields

For Transaction Body Fields you will want to ensure that the custom field resides within the customFieldList (Header UDF) node.

Line Fields

For Transaction Line Field you will want to ensure that the custom field resides within the customFieldList (Line UDF) node.

Inventory Fields

For Inventory Item Fields you will need to have an xPath configured to pull the custom field under the basic row

For Inventory Fields - the id is used within the xPath and a label can be defined

Example

customFieldList/customField[@scriptId='custitem_manufacturer']/searchValue

Mapping the Custom Field

Once the definition has been added - if you have access to Mapping Manager you can easily map these fields to your EDI Transactions using Partner Maps

Additional Resources


rev 5/30/2024

Did this answer your question?