# HubSpot + NetSuite integration

> Sync deals, orders, invoices, and products between HubSpot and NetSuite in both directions, with the custom fields and subsidiaries your finance team runs on.

**Canonical page:** https://tray.ai/connectors/hubspot-netsuite-integrations/
**HubSpot connector:** https://tray.ai/connectors/hubspot-integrations/
**HubSpot documentation:** https://tray.ai/documentation/connectors/service/hubspot
**NetSuite connector:** https://tray.ai/connectors/netsuite-integrations/
**NetSuite documentation:** https://tray.ai/documentation/connectors/service/netsuite

## Overview

HubSpot is where marketing and sales teams track contacts, companies, and deals. NetSuite is where finance books sales orders, sends invoices, and records payments. When the two don't talk, a closed deal turns into a spreadsheet, an email to finance, and a sales order someone re-keys by hand. Integrating HubSpot with NetSuite on Tray.ai turns that handoff into a governed workflow that runs the moment a deal closes, and sends billing status back to the rep who owns the account.

A HubSpot NetSuite integration is the difference between a rep knowing a customer is 60 days overdue and finding out on the renewal call. Without one, finance waits on closed-won deals to create orders, reps quote from stale price lists, and nobody trusts either system's customer record. HubSpot's own NetSuite app covers the standard objects. Teams move to Tray.ai when the sync has to follow their business instead of the default mapping — custom records, multi-subsidiary routing, approval steps, and workflows that also touch billing, CPQ, or a data warehouse. Connected properly, the deal a rep closes in HubSpot is the order finance fulfills in NetSuite, and the payment finance records is the renewal context the rep sees next quarter.

## Use cases

### Closed-Won Deal to NetSuite Sales Order

When a HubSpot deal moves to Closed Won, Tray.ai creates the NetSuite sales order with its line items, pricing, discounts, and billing contact, then writes the NetSuite order number back to the deal. Finance starts fulfillment and billing the same minute sales closes, without a handoff email or a re-keyed order.

- Cut time from closed deal to sales order from days to minutes
- Remove manual re-entry of line items, discounts, and terms
- Keep a NetSuite order reference on every HubSpot deal for audit

### Two-Way Company and Customer Sync

HubSpot companies and contacts sync to NetSuite customers and contacts, and changes made by finance in NetSuite flow back to HubSpot. Matching on external IDs, domain, or tax ID keeps one record per customer in each system, so a new HubSpot company never turns into a second NetSuite customer.

- One customer record across marketing, sales, and finance
- Stop duplicate customers before they reach NetSuite
- Let finance own billing fields while sales owns relationship fields

### Invoice and Payment Status on HubSpot Records

Tray.ai pulls open invoices, amounts due, payment dates, and credit holds from NetSuite onto the matching HubSpot company and deal. Reps see account health before a renewal or upsell conversation, and customer success can trigger a HubSpot workflow when an invoice goes overdue.

- Give reps billing context without a NetSuite login
- Avoid upselling accounts that are on credit hold
- Start collections or success outreach from HubSpot workflows

### NetSuite Products and Price Lists in HubSpot

NetSuite items, SKUs, and price levels sync into the HubSpot product library, so quotes use the prices finance approved. When an item is discontinued or repriced in NetSuite, the HubSpot product updates on the next run.

- Quote from finance-approved prices every time
- Retire discontinued SKUs in HubSpot automatically
- Reduce margin leakage from out-of-date quotes

### Multi-Subsidiary and Multi-Currency Routing

For companies running more than one NetSuite subsidiary, Tray.ai reads the HubSpot deal's region, currency, or business unit and books the order to the right subsidiary with the right currency, tax schedule, and terms. The routing rules live in the workflow, where your team can change them without a code release.

- Book every order to the correct legal entity
- Handle currency and tax schedules per region
- Change routing rules without engineering time

### Renewals and Upsells Driven by NetSuite Billing Data

Contract end dates, subscription terms, and billed amounts live in NetSuite, while the renewal conversation happens in HubSpot. Tray.ai reads upcoming renewals from NetSuite and creates or updates the renewal deal in HubSpot with the current contract value, so account managers work the renewal pipeline from real billing figures instead of a spreadsheet export.

- Open every renewal deal with the contract value finance actually bills
- Start renewal outreach on schedule, not when someone remembers
- Spot expansion when usage-based billing grows in NetSuite

### AI Agent Answers Across CRM and ERP

A Merlin agent built on Tray.ai can use HubSpot and NetSuite as tools in the same conversation — look up a company in HubSpot, check its open invoices in NetSuite, and draft a renewal note for the rep. Through Agent Gateway, the same governed HubSpot and NetSuite tools are available to MCP clients like Claude and Copilot Studio, with role-based access and a full audit trail.

- Answer "is this customer current on billing?" in one step
- Give AI assistants governed, read-scoped access to ERP data
- Log every agent call to HubSpot and NetSuite for review

## Templates

### HubSpot Closed-Won Deal to NetSuite Sales Order

Creates a NetSuite sales order with full line-item detail when a HubSpot deal reaches Closed Won, and writes the order ID back to the deal.

Connectors used: HubSpot, NetSuite

Steps:
1. Trigger on a HubSpot deal stage change to Closed Won
2. Fetch the deal's associated company, contacts, and line items, then find or create the NetSuite customer
3. Create the NetSuite sales order and write the internal ID back to a HubSpot deal property

### Bidirectional HubSpot Company and NetSuite Customer Sync

Keeps HubSpot companies and NetSuite customers aligned in both directions with duplicate matching and field-level ownership rules.

Connectors used: HubSpot, NetSuite

Steps:
1. Detect created or updated companies in HubSpot and customers in NetSuite
2. Match records on a stored external ID, falling back to domain or tax ID
3. Update only the fields each system owns, and skip records last written by the integration to prevent loops

### NetSuite Invoice Status to HubSpot Company

On a schedule, copies open invoice totals, overdue balances, and credit hold flags from NetSuite onto the matching HubSpot company.

Connectors used: NetSuite, HubSpot

Steps:
1. Run a NetSuite saved search for invoices changed since the last run
2. Roll up amounts due and days overdue per customer
3. Update HubSpot company properties and enroll overdue accounts in a HubSpot workflow

### NetSuite Item Sync to HubSpot Product Library

Keeps the HubSpot product library in step with NetSuite items and price levels.

Connectors used: NetSuite, HubSpot

Steps:
1. Trigger nightly or on NetSuite item changes
2. Map SKU, name, description, and price level to HubSpot product properties
3. Upsert HubSpot products and archive items marked inactive in NetSuite

### NetSuite Payment Received to HubSpot Workflow

Records each NetSuite customer payment on the matching HubSpot company and deal, and enrolls the company in a HubSpot workflow so success and sales teams know the account is current.

Connectors used: NetSuite, HubSpot

Steps:
1. Trigger on new customer payment records in NetSuite, or poll on a short schedule
2. Match the paying customer to its HubSpot company using the stored NetSuite internal ID
3. Update payment properties on the company and deal, then enroll the company in the chosen HubSpot workflow

### NetSuite Upcoming Renewal to HubSpot Renewal Deal

Creates a HubSpot renewal deal ahead of each NetSuite contract or subscription end date, carrying the current contract value and term.

Connectors used: NetSuite, HubSpot

Steps:
1. Run a NetSuite saved search on a daily schedule for contracts ending within the renewal window
2. Look up the HubSpot company and any open renewal deal for that contract
3. Create or update the renewal deal with amount, term, and close date, and assign it to the account owner

## Challenges Tray.ai solves

### Different Data Models for the Same Customer

HubSpot thinks in contacts, companies, and deals. NetSuite thinks in customers, subsidiaries, sales orders, and items, and most NetSuite accounts carry custom fields and custom records on top. A default mapping breaks as soon as the order needs a department, class, location, or custom segment.

**How Tray.ai helps:** Tray.ai's workflow builder maps any HubSpot property to any NetSuite field, including custom fields and custom records, with conditional logic for the cases a fixed mapping can't express. When finance adds a field, the mapping changes in the workflow, not in a vendor's roadmap.

### NetSuite API Limits and Concurrency

NetSuite caps concurrent API requests per account, and SOAP and REST behave differently under load. A month-end batch of orders or a first-time backfill can hit those limits and fail halfway through.

**How Tray.ai helps:** Tray.ai's NetSuite and NetSuite SOAP connectors cover both SuiteTalk REST and SOAP, and workflows can batch, queue, and retry with backoff so large syncs finish without dropped records or manual reruns.

### Sync Loops and Duplicate Records

In a two-way sync, an update written to NetSuite can trigger a change event back to HubSpot, which writes back to NetSuite again. Without guardrails the systems fill with redundant updates and duplicate customers.

**How Tray.ai helps:** Tray.ai workflows store cross-system IDs and last-modified sources, compare values before writing, and skip records the integration itself just changed, so the sync settles instead of looping.

### Backfilling Existing Records Before Going Live

Most teams connecting HubSpot and NetSuite already have thousands of companies and customers in both systems. Turning on live sync before reconciling them creates duplicates on day one.

**How Tray.ai helps:** Run a one-time reconciliation workflow that matches and links existing records by external ID, then switch on the event-driven sync — both in the same Tray.ai project, with logs for every record touched.

### Deals That Change After the Order Exists

Deals get amended after they close. A line item is added, a discount changes, or the deal is cancelled, and by then NetSuite already has a sales order. A one-way create-only sync leaves the two systems disagreeing about what the customer bought.

**How Tray.ai helps:** Tray.ai workflows store the NetSuite order ID on the HubSpot deal, so a later change updates or cancels the existing sales order instead of creating a second one. Changes to orders that are already billed can route to finance for approval before anything is written.

## Frequently asked questions

### Can HubSpot integrate with NetSuite?

Yes. HubSpot and NetSuite can be connected through HubSpot's own NetSuite app or through an integration platform like Tray.ai. Tray.ai syncs companies, contacts, deals, sales orders, invoices, payments, and products in either direction, using the pre-built HubSpot and NetSuite connectors.

### Should I use HubSpot's native NetSuite integration or an integration platform?

The native app is a good fit when the standard object mapping matches how your business runs. Choose an integration platform like Tray.ai when you need custom NetSuite records or fields, multi-subsidiary or multi-currency routing, approval steps before an order is booked, or workflows that also include billing, CPQ, support, or a data warehouse.

### Does the HubSpot NetSuite integration sync data in both directions?

On Tray.ai, yes. Deals and companies flow from HubSpot to NetSuite, and invoices, payment status, customer updates, and products flow from NetSuite back to HubSpot. You decide which system owns each field, and the workflow skips records it just wrote so the sync doesn't loop.

### How does Tray.ai handle NetSuite API limits?

Tray.ai's NetSuite and NetSuite SOAP connectors cover SuiteTalk REST and SOAP. Workflows can batch requests, queue work, and retry with backoff, so month-end volumes and first-time backfills finish without manual reruns.

### What happens when a HubSpot deal is marked Closed Won?

A Tray.ai workflow can create the NetSuite sales order with line items, discounts, and terms, find or create the NetSuite customer, route the order to the right subsidiary, and write the NetSuite order number back to the HubSpot deal.

### Can AI agents use HubSpot and NetSuite data?

Yes. Merlin agents on Tray.ai can use HubSpot and NetSuite as tools, and Agent Gateway exposes the same governed tools to MCP clients such as Claude and Copilot Studio, with role-based access and an audit log of every call.

## Learn more

- Intelligent Integration: https://tray.ai/platform/intelligent-ipaas/
- Merlin Agent Builder: https://tray.ai/platform/merlin-agent-builder/
- Agent Gateway for MCP: https://tray.ai/platform/agent-gateway/
- Book a demo: https://tray.ai/contact/
