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:
  • Billing Schedule
  • Customers
  • Department
  • Items
  • Location
  • Previous Transaction Line Link
  • Term
  • Transaction Lines
  • Transactions
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 billing schedule records from NetSuite. Billing schedules define the recurring billing terms for transactions.Key Fields:
  • id - Internal ID
  • name - Name of the billing schedule
  • links - Links associated with the billing schedule
  • applytosubtotal - Indicates if the schedule applies to the subtotal
  • billforactuals - Specifies if only actual time should be invoiced
  • frequency - Frequency of the billing recurrence
  • inarrears - Specifies if billing is in arrears
  • initialamount - The initial amount to be billed
  • isinactive - Indicates if the billing schedule is inactive
  • ispublic - Indicates if the billing schedule is public
  • numberremaining - Number of recurrences remaining
  • repeatevery - Repeat every X period(s)
  • scheduletype - Type of schedule
  • transaction - Transaction ID
Stream for fetching customer information from NetSuite.Identification:
  • id - The customer’s system ID
  • entityid - Entity ID
  • externalid - External ID
  • entitytitle - Entity title
  • links - Links associated with the customer
Name & Company:
  • companyname - Company name
  • firstname - First name
  • lastname - Last name
  • fullname - Full name
  • altname - Alternative name for the customer
Contact Information:
  • email - Email address
  • phone - Phone number
  • emailpreference - Email preference setting
  • emailtransactions - Email transactions flag
  • faxtransactions - Fax transactions flag
  • printtransactions - Print transactions flag
  • globalsubscriptionstatus - Global subscription status
  • unsubscribe - Unsubscribe flag
Address & Shipping:
  • defaultbillingaddress - Default billing address ID
  • defaultshippingaddress - Default shipping address ID
  • shippingcarrier - Shipping carrier
  • shipcomplete - Ship complete flag
Financial:
  • currency - Currency ID
  • balancesearch - Customer balance
  • depositbalancesearch - Deposit balance
  • overduebalancesearch - Overdue balance
  • unbilledorderssearch - Unbilled orders amount
  • daysoverduesearch - Days overdue
  • oncredithold - Credit hold flag
  • creditholdoverride - Credit hold override status
  • receivablesaccount - Receivables account
Status & Flags:
  • entitystatus - Entity status
  • isinactive - Inactive flag
  • isperson - Person flag
  • isjob - Job flag
  • isbudgetapproved - Budget approved flag
  • isautogeneratedrepresentingentity - Auto-generated representing entity flag
  • duplicate - Duplicate flag
  • alcoholrecipienttype - Type of alcohol recipient
Sales Information:
  • firstsaledate - Date of first sale
  • firstsaleperiod - First sale period
  • lastsaledate - Date of last sale
  • lastsaleperiod - Last sale period
  • probability - Probability value
  • searchstage - Search stage
Hierarchy:
  • toplevelparent - Top level parent ID
Dates:
  • datecreated - Date customer was created
  • dateclosed - Date account was closed
  • lastmodifieddate - Last modified date
Other:
  • language - Language code
  • custom_fields - Array of custom fields with name and value pairs
Stream for fetching department records from NetSuite. Departments are used to track transactions and organize your business structure.Key Fields:
  • id - Internal ID
  • name - Department name
  • fullname - Full name of the department
  • parent - Parent department ID
  • includechildren - Indicates if department includes children
  • isinactive - Indicates if the department is inactive
  • subsidiary - Subsidiary ID
  • lastmodifieddate - Date the department was last modified
Stream for fetching item records from NetSuite.Identification:
  • id - The item’s system ID
  • itemid - Item ID code
  • externalid - External ID
  • displayname - Display name
  • fullname - Full name
  • description - Item description
  • links - Links associated with the item
Type & Classification:
  • itemtype - Type of item
  • subtype - Item subtype
  • class - Class
  • department - Department
  • subsidiary - Subsidiaries
Pricing & Cost:
  • cost - Cost
  • averagecost - Average cost
  • lastpurchaseprice - Last purchase price
  • costestimatetype - Cost estimate type
  • deposit - Deposit flag
Accounts:
  • expenseaccount - Expense account
  • incomeaccount - Income account
  • intercoexpenseaccount - Intercompany expense account
  • intercoincomeaccount - Intercompany income account
Units & Quantity:
  • purchaseunit - Purchase unit
  • saleunit - Sales unit
  • unitstype - Units type
  • weightunits - Weight units
  • minimumquantity - Minimum quantity
  • enforceminqtyinternally - Enforce minimum quantity internally flag
Fulfillment & Shipping:
  • isdropshipitem - Dropship item flag
  • isfulfillable - Fulfillable flag
  • isspecialorderitem - Special order flag
  • shipindividually - Ship individually flag
  • matchbilltoreceipt - Match bill to receipt flag
Status & Flags:
  • isinactive - Inactive flag
  • isonline - Online flag
  • includechildren - Include children flag
  • copydescription - Copy description flag
  • printitems - Print items flag
  • generateaccruals - Generate accruals flag
  • usemarginalrates - Use marginal rates flag
Dates:
  • createddate - Creation date
  • lastmodifieddate - Last modified date
Other:
  • custom_fields - Array of custom fields with name and value pairs
Stream for fetching location records from NetSuite. Locations represent physical or logical places where inventory is stored or business is conducted.Key Fields:
  • id - Internal ID
  • name - Location name
  • fullname - Full name of the location
  • links - Links associated with the location
  • mainaddress - Main address of the location
  • includeincontroltower - Flag for inclusion in control tower
  • isinactive - Indicates if the location is inactive
  • makeinventoryavailable - Flag indicating inventory availability
  • subsidiary - Subsidiary ID
  • lastmodifieddate - Last modified date
Stream for fetching payment term records from NetSuite. Terms define payment conditions such as due dates and discounts.Key Fields:
  • id - Internal ID
  • name - Term name
  • datedriven - Date driven flag
  • daysuntilexpiry - Days until discount expires
  • daysuntilnetdue - Days until net due
  • discountpercent - Discount percentage
  • installment - Installment flag
  • isinactive - Indicates if the term is inactive
  • preferred - Preferred flag
  • lastmodifieddate - Last modified date
Stream for fetching transaction line-level details from NetSuite. Each transaction can have multiple lines representing individual items, charges, or accounting entries.Identification:
  • id - The transaction line’s system ID
  • uniquekey - Unique key for the transaction line
  • transaction - Transaction ID for this line
  • linesequencenumber - Line sequence number
  • documentnumber - Document number for the line
  • rn - Row number
Item Information:
  • item - Item associated with this line
  • itemtype - Type of item
  • entity - Entity related to the transaction line
Quantity:
  • quantity - Quantity
  • quantitybilled - Quantity billed
  • quantityshiprecv - Quantity shipped/received
  • quantityrejected - Quantity rejected
  • units - Units
Pricing:
  • rate - Rate
  • rateamount - Rate amount
  • ratepercent - Rate percent
  • price - Price for this line
Amounts:
  • grossamt - Gross amount
  • netamount - Net amount
  • taxamount - Tax amount
  • basegrossamt - Base gross amount
  • basetaxamount - Base tax amount
  • foreignamount - Foreign amount
  • foreignamountpaid - Foreign amount paid
  • foreignamountpaidnopost - Foreign amount paid (no post)
  • foreignamountunpaid - Foreign amount unpaid
  • creditforeignamount - Credit foreign amount
  • debitforeignamount - Debit foreign amount
  • amountpending - Amount pending
  • settlementamount - Settlement amount for the line
  • foreignpaymentamountunused - Foreign payment amount unused
  • foreignpaymentamountused - Foreign payment amount used
  • fxamountlinked - FX amount linked
Cost & Profit:
  • costestimate - Cost estimate
  • costestimatebase - Cost estimate base
  • costestimaterate - Cost estimate rate
  • costestimatetype - Cost estimate type
  • estgrossprofit - Estimated gross profit
  • estgrossprofitpercent - Estimated gross profit percent
Accounting:
  • accountinglinetype - Accounting line type (e.g. ACCOUNTSRECEIVABLE)
  • expenseaccount - Expense account
  • mainline - Main line flag
  • taxline - Tax line flag
  • iscogs - Is cost of goods sold flag
  • isfxvariance - Is FX variance flag
  • iscustomglline - Is custom GL line flag
  • isrevrectransaction - Is revenue recognition transaction flag
  • eliminate - Elimination flag
Classification:
  • location - Location
  • department - Department
  • class - Class
  • subsidiary - Subsidiary
Status Flags:
  • isclosed - Is closed flag
  • isinventoryaffecting - Is inventory affecting flag
  • isbillable - Is billable flag
  • isfullyshipped - Is fully shipped flag
  • fulfillable - Whether the line is fulfillable
  • hasfulfillableitems - Has fulfillable items flag
  • hascostline - Has cost line flag
  • cleared - Cleared flag
  • periodclosed - Period closed flag
  • isitemvalueadjustment - Is item value adjustment flag
  • processedbyrevcommit - Processed by revenue commit flag
Order & Fulfillment:
  • dropship - Drop ship flag
  • specialorder - Special order flag
  • kitcomponent - Kit component flag
  • matchbilltoreceipt - Match bill to receipt flag
  • commitmentfirm - Commitment firm flag
  • oldcommitmentfirm - Old commitment firm flag
  • excludefromraterequest - Exclude from rate request flag
  • transactiondiscount - Transaction discount flag
Display:
  • donotdisplayline - Do not display line flag
  • donotprintline - Do not print line flag
Dates:
  • linecreateddate - Line created date
  • linelastmodifieddate - Line last modified date
  • actualshipdate - Actual ship date
  • expectedreceiptdate - Expected receipt date
  • duedate - Due date
  • closedate - Close date
References:
  • createdfrom - ID of the source transaction that created this line
  • billingschedule - Billing schedule
  • memo - Memo text
Custom Segments:
  • cseg_nscs_aloca_rec - Custom segment NSCS Allocation Record
  • cseg_nscs_class_crd - Custom segment NSCS Class CRD
  • custcol_atlas_promise_date - Custom: Atlas Promise Date
  • custcol_fte_i_line_sequence - Custom: FTE I Line Sequence
  • custcol_ftebr_l_cfop_code - Custom: FTEBR L CFOP Code
  • custcol_nscs_item_code - Custom: NSCS Item Code
Other:
  • custom_fields - Array of custom fields with name and value pairs
Stream for fetching transaction records from NetSuite.Identification:
  • id - The transaction’s system ID
  • tranid - Transaction ID
  • transactionnumber - Transaction number
  • number - Transaction number
  • externalid - External ID
  • trandisplayname - Transaction display name
  • typebaseddocumentnumber - Type-based document number
  • links - Links associated with the transaction
Type & Status:
  • type - Transaction type
  • abbrevtype - Abbreviated transaction type
  • recordtype - Record type
  • status - Status
  • approvalstatus - Approval status
  • customform - Custom form ID
  • customtype - Custom type
Entity:
  • entity - Entity ID
  • email - Email address
Dates:
  • trandate - Transaction date
  • createddate - Creation date
  • lastmodifieddate - Last modified date
  • closedate - Close date
  • duedate - Due date
  • startdate - Start date
  • enddate - End date
  • prevdate - Previous date
  • taxpointdate - Tax point date
  • shipdate - Ship date
Financial - Amounts:
  • foreigntotal - Total in foreign currency
  • foreignamountpaid - Foreign amount paid
  • foreignamountpaidnopost - Foreign amount paid (no post)
  • foreignamountunpaid - Foreign amount unpaid
  • amountunbilled - Unbilled amount
  • totalaftertaxes - Total after taxes
  • basetotalaftertaxes - Base total after taxes
  • totalcostestimate - Total cost estimate
  • estgrossprofit - Estimated gross profit
  • estgrossprofitpercent - Estimated gross profit percentage
Financial - Tax:
  • taxtotal - Tax total
  • basetaxtotal - Base tax total
  • taxdetailsoverride - Tax details override flag
  • taxpointdateoverride - Tax point date override flag
  • taxregoverride - Tax registration override flag
  • legacytax - Legacy tax flag
  • entitytaxregnum - Entity tax registration number
  • subsidiarytaxregnum - Subsidiary tax registration number
  • nexus - Tax nexus
Financial - Currency:
  • currency - Currency ID
  • exchangerate - Exchange rate
Billing & Payment:
  • billingaddress - Billing address ID
  • billingstatus - Billing status
  • terms - Payment terms
  • needsbill - Needs bill flag
  • paymenthold - Payment hold flag
  • isfinchrg - Is finance charge flag
  • balsegstatus - Balance segment status
Shipping:
  • shipcarrier - Shipping carrier
  • shipcomplete - Ship complete flag
  • shippingaddress - Shipping address ID
  • ordpicked - Order picked flag
  • printedpickingticket - Printed picking ticket flag
Status Flags:
  • posting - Posting flag
  • postingperiod - Posting period ID
  • isreversal - Is reversal flag
  • void - Void flag
  • voided - Voided flag
  • memorized - Memorized flag
  • includeinforceast - Include in forecast flag
Intercompany:
  • intercoadj - Intercompany adjustment flag
  • intercostatus - Intercompany status
  • intercotransaction - Intercompany transaction ID
Communication:
  • tobeemailed - To be emailed flag
  • tobefaxed - To be faxed flag
  • tobeprinted - To be printed flag
  • visibletocustomer - Visible to customer flag
Tracking:
  • daysopen - Days transaction has been open
  • daysoverduesearch - Days overdue search
  • source - Source of the transaction
  • otherrefnum - Other reference number
  • memo - Memo text
  • createdby - Created by user ID
  • lastmodifiedby - Last modified by user ID
Revenue:
  • userevenuearrangement - Use revenue arrangement flag
Other:
  • 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:
  • Customers (lastmodifieddate)
  • Department (lastmodifieddate)
  • Items (lastmodifieddate)
  • Location (lastmodifieddate)
  • Previous Transaction Line Link (lastmodifieddate)
  • Term (lastmodifieddate)
  • Transaction Lines (linelastmodifieddate)
  • Transactions (lastmodifieddate)
Full table only:
  • Billing Schedule (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.