Case studiesB2B manufacturing and distribution

A two-way CRM sync built inside NetSuite

Companies, contacts and deals kept in step between NetSuite and a marketing CRM, with field mappings the admin can change without a developer.

  • B2B manufacturing and distribution
  • NetSuite
  • HubSpot

The problem

Sales worked in the CRM; finance and operations worked in NetSuite. Customers were typed twice, deals never became estimates, and nobody trusted either system’s contact list. Off-the-shelf connectors either cost too much for the volume or could not handle the custom fields the business relied on.

What we built or worked on

  • A mapping screen inside NetSuite. An admin picks a NetSuite record and field on one side and a CRM object and property on the other, and says which side wins. The screen checks that the field types are compatible before it saves.
  • Sync jobs in both directions. Companies, contacts and deals move on a schedule, with SKU checks on deal lines and the right associations set on the CRM side.
  • Cross-reference IDs on both sides. When a mapping is saved, the sync makes sure the CRM has a property to hold the NetSuite ID, so records are matched by ID, never by name.
  • Loop protection. A record changed by the sync is stamped so the next run does not send it straight back. Without this, two-way syncs ping-pong the same record forever.
  • Web form intake. Quote requests from the website arrive in NetSuite as records the sales team can work, without anyone copying them.

What we would do differently today

The original was written in SuiteScript 1.0 against the CRM’s older API. A rebuild today would use SuiteScript 2.1 Map/Reduce for each direction, the CRM’s current API with a token kept in NetSuite’s secret store, webhooks for near-real-time changes, and a content hash instead of a timestamp to detect echoes.

Why it matters for you

In the syncs we have worked on, matching records, deciding which side wins and stopping loops are the first things we check. If your CRM and NetSuite disagree, we start there.

All case studies