
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 be123456. - 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
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.
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.Streams and Fields
Below you’ll find all available data streams from NetSuite and their corresponding fields:Bill of Materials
Bill of Materials
Stream for fetching Bill of Materials records from NetSuite.
BOM Revision
BOM Revision
Stream for fetching BOM Revision records from NetSuite.
BOM Revision Component
BOM Revision Component
Stream for fetching BOM Revision Component records from NetSuite.
Billing Schedule
Billing Schedule
Stream for fetching billing schedule records from NetSuite. Billing schedules define the recurring billing terms for transactions.
BOM (Bill of Materials)
BOM (Bill of Materials)
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 IDlinks- Links associated with the BOMname- BOM namememo- Memosubsidiary- Subsidiary IDexternalid- External IDisinactive- Indicates if the BOM is inactiveincludechildren- Indicates if children subsidiaries are includedusecomponentyield- Indicates if component yield is usedavailableforallassemblies- Available for all assembliesavailableforalllocations- Available for all locationsavailableforlocations- Available for specific locationsavailableforsubisidiaries- Available for specific subsidiariesrestricttoassemblies- Restrict to specific assembliesbomrevision- BOM revision IDusedonassembly- Assembly items using this BOMlegacybom- Indicates if this is a legacy BOMcreateddate- Date createdlastmodifieddate- Last modified date
BOM Revision
BOM Revision
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 IDlinks- Links associated with the revisionname- Revision namebillofmaterials- Parent BOM ID (foreign key to BOM)externalid- External IDmemo- Memoisinactive- Indicates if the revision is inactiveeffectivestartdate- Effective start dateeffectiveenddate- Effective end datepreviousrevisionkey- Previous revision key IDcreateddate- Date createdlastmodifieddate- Last modified date
BOM Revision Component
BOM Revision Component
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 IDlinks- Links associated with the componentbomrevision- Parent BOM Revision ID (composite primary key, foreign key to BOM Revision)item- Item ID (composite primary key, foreign key to Items)displayname- Display namedescription- Component descriptionquantity- Quantityunits- Units of measurecomponentyield- Component yield percentagebomquantity- BOM quantityitemsource- Item sourcelineid- Line IDisoutsourcingcharge- Indicates if this is an outsourcing charge
Customers
Customers
Stream for fetching customer information from NetSuite.
Department
Department
Stream for fetching department records from NetSuite. Departments are used to track transactions and organize your business structure.
Items
Items
Stream for fetching item records from NetSuite.
Location
Location
Stream for fetching location records from NetSuite. Locations represent physical or logical places where inventory is stored or business is conducted.
Previous Transaction Line Link
Previous Transaction Line Link
Stream for fetching links between related transaction lines. This stream is essential for understanding document flow (e.g., linking sales orders to invoices, purchase orders to vendor bills).
Term
Term
Stream for fetching payment term records from NetSuite. Terms define payment conditions such as due dates and discounts.
Transaction Lines
Transaction Lines
Stream for fetching transaction line-level details from NetSuite. Each transaction can have multiple lines representing individual items, charges, or accounting entries.
Transactions
Transactions
Stream for fetching transaction records from NetSuite.
Units Type
Units Type
Stream for fetching Units Type records from NetSuite.
Units Type UOM
Units Type UOM
Stream for fetching Units Type UOM (Unit of Measure) records from NetSuite.
Vendor
Vendor
Stream for fetching vendor records from NetSuite.
Units Type
Units Type
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 IDlinks- Links associated with the units typename- Units type nameisinactive- Indicates if the units type is inactivelastmodifieddate- Last modified date
Units Type UOM
Units Type UOM
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 IDlinks- Links associated with the UOMunitname- Unit nameabbreviation- Unit abbreviationpluralname- Plural unit namepluralabbreviation- Plural abbreviationconversionrate- Conversion rate relative to base unitbaseunit- Indicates if this is the base unitunitstype- Parent Units Type ID (foreign key to Units Type)inuse- Indicates if the unit is in use
Vendor
Vendor
Stream for fetching vendor (supplier) records from NetSuite.Identification:
id- Internal IDlinks- Links associated with the vendorentityid- Entity IDentitynumber- Entity numberentitytitle- Entity titleexternalid- External IDcompanyname- Company namelegalname- Legal namealtname- Alternate namefullname- Full name
isperson- Indicates if the vendor is a personfirstname- First namemiddlename- Middle namelastname- Last name
email- Email addressemailpreference- Email preferenceemailtransactions- Email transactions flagphone- Phone numberaltphone- Alternate phone numberfax- Fax numberfaxtransactions- Fax transactions flagprinttransactions- Print transactions flagurl- URLdefaultaddress- Default addressdefaultbillingaddress- Default billing addressdefaultshippingaddress- Default shipping addresscomments- Commentscontactlist- Contact listglobalsubscriptionstatus- Global subscription statusunsubscribe- Unsubscribe flag
subsidiary- Subsidiary IDsubsidiaryedition- Subsidiary editionterms- Payment terms IDcurrency- Currency IDcreditlimit- Credit limitbalance- Balancebalanceprimary- Balance in primary currencyunbilledorders- Unbilled orders amountunbilledordersprimary- Unbilled orders in primary currencyprepaymentbalance- Prepayment balanceexpenseaccount- Expense accountpayablesaccount- Payables accountaccountnumber- Account numberprintoncheckas- Print on checks as
category- Vendor categorytaxidnum- Tax ID numberis1099eligible- Indicates 1099 eligibilityrepresentingsubsidiary- Representing subsidiary ID
isinactive- Indicates if the vendor is inactiveduplicate- Duplicate flagisautogeneratedrepresentingentity- Auto-generated representing entity flagisjobresourcevend- Job resource vendor flag
predconfidence- Prediction confidencepredicteddays- Predicted days
workcalendar- Work calendarmanufacturinglocations- Manufacturing locationsdatecreated- Date createdlastmodifieddate- Last modified datecustom_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
Data Types
Data Types
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-15to date types - Numbers: Convert numeric strings to integers or decimals
- Booleans: Values typically come as
"T"(true) or"F"(false)
Custom Fields
Custom Fields
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 fieldscustcol_- Custom column (line-level) fieldscustbody_- Custom body (transaction-level) fieldscseg_- Custom segment fields
Incremental Sync
Incremental Sync
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)
- Billing Schedule (no replication key)
- BOM Revision Component (no replication key)
- Units Type (no replication key)
- Units Type UOM (no replication key)
Document Flow Tracking
Document Flow Tracking
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
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.