NetSuite to Snowflake

Sync NetSuite transactions, accounts, customers, vendors and items into Snowflake, and keep them current with incremental syncs. Weld connects through NetSuite's REST web services with token-based authentication, and loads as many tables in parallel as your NetSuite concurrency limit allows.

4.8 on G2
NetSuiteSource
WeldWeld
SnowflakeWarehouse

Checked against Weld and vendor docs on

Weld · New sync
NetSuiteSourceNetSuiteConnected
Tables to sync
  • transaction106 cols
  • transactionline68 cols
  • item34 cols
  • entity33 cols
  • transactionaccountingline16 cols
  • deletedrecord12 cols
  • Extract
  • Load
  • Keep in sync
SnowflakeDestinationSnowflakeReady
netsuite schema
  • netsuite.transactionSynced
  • netsuite.transactionlineSyncing
  • netsuite.itemSynced
  • netsuite.entitySynced
  • netsuite.transactionaccountinglineSynced
  • netsuite.deletedrecordSynced
NetSuite tables
9
fields, typed
291
agent context included
MCP

Trusted by data and AI teams

  • Flatpay
  • Holafly
  • eComplete
  • Dishoom
  • Danish Endurance
  • Female Invest
  • Son of a Tailor
  • Onomondo
  • Medik8
  • Pas Normal Studios
Options

Three ways to get NetSuite data into Snowflake

Snowflake's Openflow connector list has no NetSuite connector, so there is no Snowflake managed path. NetSuite's own export route is SuiteAnalytics Connect, a read-only ODBC, JDBC and ADO.NET service that you still need something to load from.

S

SuiteAnalytics Connect plus your own loader

Best for
Teams that already use the Connect drivers for BI
Effort
High: enable the Connect Service, install drivers, build and schedule the load into Snowflake
Freshness
Whatever you schedule
Good to know
Read-only. Oracle says it suits static or rarely changing data, and the older NetSuite.com data source is no longer supported as of 2025.1, so new work targets NetSuite2.com.
C

Custom script on NetSuite's REST APIs

Best for
Teams with engineers to own a pipeline
Effort
High: token-based auth, pagination, concurrency limits, schema changes
Freshness
Whatever you schedule
Good to know
The concurrency limit on your integration record caps how many requests run at once, so the script has to queue its calls and track changes itself for incremental loads.

Weld

Best for
Finance and operations reporting on NetSuite next to your other sources
Effort
Medium: a NetSuite role and integration record, then authorise in Weld
Freshness
Incremental syncs on your schedule
Good to know
Token-based authentication with a dedicated role, incremental syncs, column hashing and blocking, and atomic full loads into Snowflake.
How it works

How to sync NetSuite to Snowflake with Weld.
In the app, with the API or an agent.

Weld · Data warehouse
SnowflakeData warehouseSnowflakeConnected
Data locationChosen when you connect
CredentialsService account or key, stored encrypted
Schema

What lands in Snowflake
Every NetSuite table, keys intact.

NetSuite has no fixed table list in Weld: the tables on offer depend on your account and on the records the connecting role can see. Finance reporting usually starts from NetSuite's transaction records.

Open the schema explorer
  • transaction106 columns
    • idPKstring
    • recordtypestring
    • typestring
    • abbrevtypestring
    • tranidstring

    One row per transaction header: invoices, bills, journals, sales orders and payments, with type, date, status and entity.

  • transaction lines

    The lines on each transaction, with item, quantity and amounts. The level most revenue and margin reports work at.

  • transaction accounting lines

    The general ledger impact of each line: account, debit, credit and whether it posts. The base for a trial balance or P&L.

  • account, entity and item

    The chart of accounts, customers and vendors, and products and services that transactions point to.

All 9 tables
  • transaction
  • transactionline
  • item
  • entity
  • transactionaccountingline
  • deletedrecord
  • accounttype
  • inventorynumberlocation
  • accountingperiodfiscalcalendars
Example query

Posted amount per account per month.
In Snowflake SQL.

Illustrative, for Snowflake with Weld's default lower case quoted names in a schema named netsuite. It uses NetSuite's own record and field names (transaction, transactionaccountingline, trandate, account, amount, posting); check them against the tables in your sync and replace any that differ.

Snowflake · query
1select2  date_trunc('month', t."trandate") as month,3  tal."account",4  sum(tal."amount") as posted_amount5from "netsuite"."transactionaccountingline" as tal6join "netsuite"."transaction" as t7  on t."id" = tal."transaction"8where tal."posting" = true9group by 1, 210order by 1 desc, 2
Weld MCP server

Ask your agent.
It queries Snowflake for you.

Connect Claude, Cursor, ChatGPT or your own agent to Weld over MCP. It reads the NetSuite context, finds the tables it needs and runs the query in Snowflake.

Claude CodeOpus 5
>

How many transaction rows do we have in Snowflake?

Reading the NetSuite context first, so the query uses the right tables and keys.

●weld·search_available_references
⎿raw.netsuite.transaction
+ 8 more NetSuite tables
●weld·get_reference_schema
⎿transaction · 106 columns
columns and types
●weld·run_query
⎿select count(*) from {{raw.netsuite.transaction}}
submitted
●weld·get_query_status
⎿DONE
●weld·get_query_result
⎿rows returned
✓Answered from NetSuite data in Snowflake
>Ask about your NetSuite data
Under the hood

Things to know.
Before you sync NetSuite.

Concurrency limits set the speed
Weld syncs as many tables at once as the concurrency limit on its NetSuite integration record. Set it as high as your licence allows, match it in Weld, and expect the first sync of many tables to take a while.
The role decides what you see
Weld can only read records the connecting role has permission for. If a table is missing or empty, check the role's Transactions, Lists and Reports permissions before anything else.
Access tokens are capped per user
NetSuite allows 25 active token-based access tokens per user. Reconnecting repeatedly with the same user can hit that cap; revoke old tokens under Setup, Users/Roles, Access Tokens.
Quote names, or turn on upper case
Weld quotes every name it writes in Snowflake, so lower case tables must be queried with quotes. Turn on upper case names when you create the sync to query without quotes; it cannot be changed afterwards.
FAQ

Common questions.
About NetSuite to Snowflake.

Start syncing NetSuite to Snowflake.

Set up your NetSuite data pipeline in minutes. No credit card required. Free for 14 days.

NetSuiteSource
WeldWeld
SnowflakeWarehouse