Skip to main content
NetSuite is a cloud-based business management software suite that includes ERP, financials, CRM, and e-commerce capabilities. It provides a comprehensive solution for managing business operations, financial data, and customer relationships.

Configuring NetSuite as a Source

In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the NetSuite option from the list of connectors. Click Next and you’ll be prompted to add your access.

1. Add account access

You’ll need your NetSuite API credentials for this connection. These can be obtained from your NetSuite account’s Setup > Integration > Manage Integrations section. Once you have them, add the following credentials:
  • Consumer Key: Your NetSuite consumer key for API authentication, obtained from a TBA integration record.
  • Consumer Secret: Your NetSuite consumer secret for API authentication, obtained from a TBA integration record.
  • Token ID: Your NetSuite token ID for API authentication, obtained when creating a TBA token associated with the integration record created above.
  • Token Secret: Your NetSuite token secret for API authentication, obtained when creating a TBA token associated with the integration record created above.
  • Account ID: Your NetSuite account ID. This can be extracted from your NetSuite URL. For example, if your URL is https://123456.app.netsuite.com/ your account ID will be 123456.
  • Date Filter Format: The date format to use for incremental syncs. Choose from: DD/MM/YYYY (Brazilian format), MM/DD/YYYY (US format), YYYY-MM-DD (ISO format). This must match your NetSuite account configuration.
  • Start Date: Records created or updated after this date will be extracted from the source.
This connector uses Token Based Authentication (TBA). Follow this tutorial to know more on how to create these credentials.

2. Select streams

Choose which data streams you want to sync - you can select all streams or pick specific ones that matter most to you. The available streams are:
  • Bill of Materials
  • BOM Revision
  • BOM Revision Component
  • Billing Schedule
  • BOM (Bill of Materials)
  • BOM Revision
  • BOM Revision Component
  • Customers
  • Department
  • Items
  • Location
  • Previous Transaction Line Link
  • Term
  • Transaction Lines
  • Transactions
  • Units Type
  • Units Type UOM
  • Vendor
We use NetSuiteQL language to query your data, which allows for an efficient extraction process. The only limitation is that the data for each column returns as string, being necessary further processing to parse data to appropriate types (ex. numbers, dates, etc)
Tip: The stream can be found more easily by typing its name.
Select the streams and click Next.

3. Configure data streams

Customize how you want your data to appear in your catalog. Select a name for each table (which will contain the fetched data) and the type of sync.
  • Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix and make this process faster!
  • Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
    • Incremental: every time the extraction happens, we’ll get only the new or modified data since the last sync - which is good for maintaining an efficient data pipeline.
    • Full table: every time the extraction happens, we’ll get the current state of the data - which is good if you want to ensure complete data accuracy.
Once you are done configuring, click Next.

4. Configure data source

Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently your NetSuite data is updated and how current you need your analytics to be. Optionally, you can determine when to execute a full sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while. Once you are ready, click Next to finalize the setup.

5. Check your new source

You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.
For you to be able to see it on your Catalog, you need at least one successful source run.

Streams and Fields

Below you’ll find all available data streams from NetSuite and their corresponding fields:
Stream for fetching Bill of Materials records from NetSuite.
Stream for fetching BOM Revision records from NetSuite.
Stream for fetching BOM Revision Component records from NetSuite.
Stream for fetching billing schedule records from NetSuite. Billing schedules define the recurring billing terms for transactions.
Stream for fetching Bill of Materials records from NetSuite. BOMs define the components and quantities needed to build an assembly item.Key Fields:
  • id - Internal ID
  • links - Links associated with the BOM
  • name - BOM name
  • memo - Memo
  • subsidiary - Subsidiary ID
  • externalid - External ID
  • isinactive - Indicates if the BOM is inactive
  • includechildren - Indicates if children subsidiaries are included
  • usecomponentyield - Indicates if component yield is used
  • availableforallassemblies - Available for all assemblies
  • availableforalllocations - Available for all locations
  • availableforlocations - Available for specific locations
  • availableforsubisidiaries - Available for specific subsidiaries
  • restricttoassemblies - Restrict to specific assemblies
  • bomrevision - BOM revision ID
  • usedonassembly - Assembly items using this BOM
  • legacybom - Indicates if this is a legacy BOM
  • createddate - Date created
  • lastmodifieddate - Last modified date
Stream for fetching BOM Revision records from NetSuite. Revisions represent versioned configurations of a Bill of Materials, with effective date ranges.Key Fields:
  • id - Internal ID
  • links - Links associated with the revision
  • name - Revision name
  • billofmaterials - Parent BOM ID (foreign key to BOM)
  • externalid - External ID
  • memo - Memo
  • isinactive - Indicates if the revision is inactive
  • effectivestartdate - Effective start date
  • effectiveenddate - Effective end date
  • previousrevisionkey - Previous revision key ID
  • createddate - Date created
  • lastmodifieddate - Last modified date
Stream for fetching the individual component lines of a BOM Revision. Each record represents one item and its quantity within a revision. Full table sync only (no replication key).Key Fields:
  • id - Internal ID
  • links - Links associated with the component
  • bomrevision - Parent BOM Revision ID (composite primary key, foreign key to BOM Revision)
  • item - Item ID (composite primary key, foreign key to Items)
  • displayname - Display name
  • description - Component description
  • quantity - Quantity
  • units - Units of measure
  • componentyield - Component yield percentage
  • bomquantity - BOM quantity
  • itemsource - Item source
  • lineid - Line ID
  • isoutsourcingcharge - Indicates if this is an outsourcing charge
Stream for fetching customer information from NetSuite.
Stream for fetching department records from NetSuite. Departments are used to track transactions and organize your business structure.
Stream for fetching item records from NetSuite.
Stream for fetching location records from NetSuite. Locations represent physical or logical places where inventory is stored or business is conducted.
Stream for fetching payment term records from NetSuite. Terms define payment conditions such as due dates and discounts.
Stream for fetching transaction line-level details from NetSuite. Each transaction can have multiple lines representing individual items, charges, or accounting entries.
Stream for fetching transaction records from NetSuite.
Stream for fetching Units Type records from NetSuite.
Stream for fetching Units Type UOM (Unit of Measure) records from NetSuite.
Stream for fetching vendor records from NetSuite.
Stream for fetching unit of measure type records from NetSuite. Units types group related units of measure (e.g., Weight, Length). Full table sync only (no replication key).Key Fields:
  • id - Internal ID
  • links - Links associated with the units type
  • name - Units type name
  • isinactive - Indicates if the units type is inactive
  • lastmodifieddate - Last modified date
Stream for fetching individual unit of measure records within a Units Type. Each record represents one unit (e.g., kg, lb) and its conversion rate relative to the base unit. Full table sync only (no replication key).Key Fields:
  • internalid - Internal ID
  • links - Links associated with the UOM
  • unitname - Unit name
  • abbreviation - Unit abbreviation
  • pluralname - Plural unit name
  • pluralabbreviation - Plural abbreviation
  • conversionrate - Conversion rate relative to base unit
  • baseunit - Indicates if this is the base unit
  • unitstype - Parent Units Type ID (foreign key to Units Type)
  • inuse - Indicates if the unit is in use
Stream for fetching vendor (supplier) records from NetSuite.Identification:
  • id - Internal ID
  • links - Links associated with the vendor
  • entityid - Entity ID
  • entitynumber - Entity number
  • entitytitle - Entity title
  • externalid - External ID
  • companyname - Company name
  • legalname - Legal name
  • altname - Alternate name
  • fullname - Full name
Person Fields:
  • isperson - Indicates if the vendor is a person
  • firstname - First name
  • middlename - Middle name
  • lastname - Last name
Contact Information:
  • email - Email address
  • emailpreference - Email preference
  • emailtransactions - Email transactions flag
  • phone - Phone number
  • altphone - Alternate phone number
  • fax - Fax number
  • faxtransactions - Fax transactions flag
  • printtransactions - Print transactions flag
  • url - URL
  • defaultaddress - Default address
  • defaultbillingaddress - Default billing address
  • defaultshippingaddress - Default shipping address
  • comments - Comments
  • contactlist - Contact list
  • globalsubscriptionstatus - Global subscription status
  • unsubscribe - Unsubscribe flag
Financial:
  • subsidiary - Subsidiary ID
  • subsidiaryedition - Subsidiary edition
  • terms - Payment terms ID
  • currency - Currency ID
  • creditlimit - Credit limit
  • balance - Balance
  • balanceprimary - Balance in primary currency
  • unbilledorders - Unbilled orders amount
  • unbilledordersprimary - Unbilled orders in primary currency
  • prepaymentbalance - Prepayment balance
  • expenseaccount - Expense account
  • payablesaccount - Payables account
  • accountnumber - Account number
  • printoncheckas - Print on checks as
Classification:
  • category - Vendor category
  • taxidnum - Tax ID number
  • is1099eligible - Indicates 1099 eligibility
  • representingsubsidiary - Representing subsidiary ID
Status & Flags:
  • isinactive - Indicates if the vendor is inactive
  • duplicate - Duplicate flag
  • isautogeneratedrepresentingentity - Auto-generated representing entity flag
  • isjobresourcevend - Job resource vendor flag
Predictions:
  • predconfidence - Prediction confidence
  • predicteddays - Predicted days
Other:
  • workcalendar - Work calendar
  • manufacturinglocations - Manufacturing locations
  • datecreated - Date created
  • lastmodifieddate - Last modified date
  • custom_fields - Array of custom fields with name and value pairs

Data Model

The following diagram illustrates the relationships between the core data streams in NetSuite. The arrows indicate the join keys that link the different entities.

Implementation Notes

Due to NetSuiteQL limitations, all field values are returned as strings. You’ll need to convert numeric and date fields to their appropriate types in your data pipeline or queries:
  • Dates: Parse strings like 2024-01-15 to date types
  • Numbers: Convert numeric strings to integers or decimals
  • Booleans: Values typically come as "T" (true) or "F" (false)
NetSuite supports extensive customization through custom fields. These are captured in the custom_fields array for each record, containing objects with name and value properties.Custom field names typically start with prefixes like:
  • custentity_ - Custom entity fields
  • custcol_ - Custom column (line-level) fields
  • custbody_ - Custom body (transaction-level) fields
  • cseg_ - Custom segment fields
Most streams support incremental sync using the lastmodifieddate field as the replication key. This allows for efficient data extraction by only fetching records that have changed since the last sync.Streams with incremental sync:
  • Bill of Materials (lastmodifieddate)
  • BOM (lastmodifieddate)
  • BOM Revision (lastmodifieddate)
  • Customers (lastmodifieddate)
  • Department (lastmodifieddate)
  • Items (lastmodifieddate)
  • Location (lastmodifieddate)
  • Previous Transaction Line Link (lastmodifieddate)
  • Term (lastmodifieddate)
  • Transaction Lines (linelastmodifieddate)
  • Transactions (lastmodifieddate)
  • Vendor (lastmodifieddate)
Full table only:
  • Billing Schedule (no replication key)
  • BOM Revision Component (no replication key)
  • Units Type (no replication key)
  • Units Type UOM (no replication key)
The Previous Transaction Line Link stream is particularly valuable for understanding document flow in NetSuite. It tracks relationships between:
  • Sales Orders → Invoices
  • Purchase Orders → Vendor Bills
  • Quotes → Sales Orders
  • Invoices → Payments
Use previousdoc/nextdoc and previousline/nextline to trace the complete lifecycle of a transaction.

Skills for agents

Download NetSuite skills file

NetSuite connector documentation as plain markdown, for use in AI agent contexts.