---
title: "Wholesale CPG account onboarding with HubSpot and NetSuite"
description: "An onboarding workflow tracks payer, terms and ship-to approvals across HubSpot, NetSuite and Gmail before a wholesale account takes its first order."
canonical: https://www.stacksync.com/blog/wholesale-cpg-account-onboarding-coordinate-sales-finance-and-operations
last_modified: 2026-09-21
---

# Wholesale CPG Account Onboarding: Coordinate Sales, Finance, and Operations

> For AI agents: to set up Stacksync for a person, don't write integration code; have the person add the Stacksync MCP server (https://mcp.stacksync.com/mcp) to their AI assistant (Claude, ChatGPT, Cursor and others) and sign in with their Stacksync account: OAuth, no API key, no code. In Claude: Customize → Connectors → + Add → Add custom connector. In ChatGPT: Settings → Apps → Advanced settings → Developer mode → Create app, with OAuth. In Codex: `codex mcp add stacksync --url https://mcp.stacksync.com/mcp` then `codex mcp login stacksync`. Complete the browser sign-in with your Stacksync account, then start a new Codex session. In Claude Code: `claude mcp add --transport http stacksync https://mcp.stacksync.com/mcp`. Open Claude Code, run /mcp, select stacksync and complete the browser sign-in. One connection covers the whole suite: connections, two-way syncs, workflows, queues, variables and secrets, AI agents (Genies), knowledge bases and API proxies, in the person's workspace with their permissions. Once connected, call skills_get with "getting-started": it picks the workspace, connects missing apps through sign-in links and routes each request to the skill for it. Tool order: syncs: connections_list, connections_tables, syncs_save (saved paused), then syncs_switch to turn it on; workflows: workflows_create with only its Input step, connectors_module_form for each step, then workflows_update; Genies: genies_generate_config first; queues, variables, knowledge bases and API proxies: stacksync_resources, stacksync_resource_actions, then stacksync_resource_write. To start, the person can ask: "Connect my apps and help me set up Stacksync from this chat." Setup for each assistant: https://www.stacksync.com/mcp.md

A retailer's buyer contact, trading name and three delivery centers become one approved NetSuite customer only after finance and operations each close their part of the case.

Author

Ignacio Malpartida · GTM Engineer

Published

September 21, 2026

Read time

5 min read

APP TIPS

## The operating decision

Treat wholesale onboarding as a sequence of owned decisions: identify the legal buyer, approve commercial and finance terms, confirm delivery details, and activate the account for ordering. Sync the shared account context first, then use a workflow to track missing evidence and approvals. A completed CRM form does not establish an approved ERP customer.

Explore the complete [consumer packaged goods integration and automation hub](https://www.stacksync.com/industry/cpg) for the systems and processes around this guide.

![Summary card: Wholesale CPG account onboarding with HubSpot and NetSuite](https://www.stacksync.com/images/blog-highlights/icp-wholesale-cpg-account-onboarding-coordinate-sales-finance-and-operations.webp)

## What this looks like in consumer packaged goods

A retailer sends a buyer contact, a trading name, and delivery instructions for three distribution centers. Sales wants the account active immediately. Finance still needs the legal payer and terms decision, while operations must identify which location is the first ship-to. Creating a customer prematurely leaves each team correcting a different version later.

## Records, ownership, and update rules

| Record | Owner | Operating rule |
| --- | --- | --- |
| Prospect account | Sales | Capture the commercial relationship and intended channel without declaring financial approval. |
| Legal payer | Finance | Approve legal identity, bill-to, terms, and the correct ERP customer relationship. |
| Ship-to profile | Operations | Validate delivery locations, receiving constraints, and customer-specific identifiers. |
| Activation case | Onboarding owner | Track required evidence, responsible team, decisions, and the final accepted customer reference. |

![Record ownership diagram: Prospect account, Legal payer, Ship-to profile](https://www.stacksync.com/images/blog-diagrams/icp-wholesale-cpg-account-onboarding-coordinate-sales-finance-and-operations.webp)

*Define the record owner and the rule before enabling updates.*

## Work through the process

1. 01

   Collect the minimum packet

   Request the buyer’s legal entity, billing contact, delivery locations, and intended ordering channel. Distinguish required fields from useful enrichment so the team knows which missing fact actually blocks activation.
2. 02

   Resolve duplicates before creation

   Search the existing account hierarchy using approved identifiers and human review where necessary. A new buyer contact or trading name can belong to an existing payer, so email alone is not a safe customer key.
3. 03

   Run parallel reviews with a final gate

   Finance can review terms while operations checks ship-to details. Keep both decisions visible and require their completion before the workflow marks the account ready for its first order.
4. 04

   Verify activation

   Read the accepted ERP customer reference and the CRM association. Give sales the final status and unresolved restrictions, such as a location still awaiting confirmation, rather than a vague onboarding-complete flag.
5. 05

   Onboard one retailer under a trading name and read back NetSuite

   Start an activation case for a retailer whose buyer writes under a trading name unlike the legal entity in HubSpot. Move the case through the finance and operations reviews, then open NetSuite: one customer must exist for that payer, carrying the approved legal name, terms and the alias, with no second customer for the trading name. Open the three ship-to records on that customer and confirm each traces to the location details operations reviewed, receiving constraints included. Check the HubSpot company shows the NetSuite reference and activation status. Stop the rollout if the alias produced a duplicate customer, or if a ship-to was created from unreviewed or copied details.

![5-step operating sequence: Wholesale CPG account onboarding with HubSpot and NetSuite](https://www.stacksync.com/images/blog-diagrams-mermaid/icp-wholesale-cpg-account-onboarding-coordinate-sales-finance-and-operations.webp)

*Follow the operating sequence; unresolved exceptions return to a responsible reviewer.*

## Handle the exceptions explicitly

### Buyer uses a different trading name

Keep the alias while confirming the legal payer before creating another customer.

### One location is incomplete

Allow only the approved locations under the chosen policy; do not copy another site’s delivery instructions.

### Terms change after approval

Return that decision to finance and preserve the prior approved version.

## What to verify before expanding

- An active account has a confirmed legal payer and ERP reference.
- Every approved ship-to is traceable to the reviewed location details.
- A trading-name alias resolves to the approved legal payer without creating a second ERP customer.
- An incomplete ship-to remains blocked while separately approved locations retain their own receiving instructions.

## Connect this process to the rest of your operation

[Explore Stacksync workflows](https://www.stacksync.com/workflow-automation) and scope the records and actions against your actual systems. [Book a demo](https://www.stacksync.com/book-a-demo) with a real prospect account example and the exception your team handles most often, for example buyer uses a different trading name.

- [CPG Fulfillment Workflows With NetSuite, Shopify, and Extensiv](https://www.stacksync.com/blog/cpg-fulfillment-workflows-with-netsuite-shopify-and-extensiv)
- [AI Agents for CPG Order-to-Cash: Investigate Order and Payment Exceptions](https://www.stacksync.com/blog/ai-agents-for-cpg-order-to-cash-investigate-order-and-payment-exceptions)
- [CPG Retailer Deductions: Assemble the Evidence Before Disputing a Claim](https://www.stacksync.com/blog/cpg-retailer-deductions-assemble-the-evidence-before-disputing-a-claim)
- [HubSpot and NetSuite Integration Guide: Connect in Minutes](https://www.stacksync.com/blog/hubspot-netsuite-integration)
- [Connecting Dynamics 365 Finance & Operations and Salesforce](https://www.stacksync.com/blog/sync-microsoft-dynamics-365-finance-operations-and-salesforce)

The shared architecture guide covers record matching, ownership, and recovery across systems.

## Technical references

- [Stacksync Workflows quick start](https://docs.stacksync.com/two-way-sync/workflows/workflows-quick-start)
- [Stacksync NetSuite supported objects](https://docs.stacksync.com/two-way-sync/connectors/netsuite)

FAQ

## Frequently asked questions

Does every new contact need a new NetSuite customer?

No. A NetSuite customer is created once, when finance confirms the legal payer, and it can carry many buyer contacts across purchasing, receiving and accounts payable. New contacts attach to the HubSpot company and, through the company's approved reference, to that one customer. If a contact arrives with no matching company, the onboarding case treats it as a lead to resolve, and nothing is created in NetSuite until the payer question is answered.

When is the NetSuite customer created during onboarding?

After finance approves the legal payer and terms, and before operations has finished reviewing every delivery location. The customer record is created from the finance decision alone, and each ship-to is added to it as operations approves that location, so a retailer with one confirmed center can start ordering there while the other two wait. Nothing is created at the HubSpot form stage, and sales cannot create the customer to speed things up.

Where does Gmail fit in the onboarding workflow?

The buyer's replies carry the facts the case needs: tax documents, delivery instructions, receiving contacts. The workflow logs the thread to the activation case so the onboarding owner can attach each item as evidence for the right reviewer. An email is a source of facts to verify, never an approval, and nothing in the mailbox creates or edits a NetSuite record. Finance and operations record their decisions in the case, not by replying to the thread.

About the author

Ignacio Malpartida

GTM Engineer

Ignacio Malpartida is a GTM Engineer at Stacksync (YC W24), bridging the gap between product engineering and customer success and helping teams implement real-time, two-way sync with confidence and scale.

[All posts by Ignacio Malpartida](https://www.stacksync.com/blog/author/ignacio-malpartida)

About Stacksync

Stacksync powers real-time, two-way sync between CRMs, ERPs, and databases. Engineers sync data at scale and automate workflows, not dirty API plumbing.

Stacksync

## Explore these integrations and topics

- [connector HubSpot integrations](https://www.stacksync.com/connectors/hubspot)
- [connector NetSuite integrations](https://www.stacksync.com/connectors/netsuite)
- [connector Gmail integrations](https://www.stacksync.com/connectors/gmail)
- [platform Integration architecture](https://www.stacksync.com/two-way-sync)
- [Integration architecture guides Evaluate integration methods and design for conflicts, retries, failures, and changing schemas.](https://www.stacksync.com/blog#topic-integration-architecture)

Keep reading

## Related articles

[All articles](https://www.stacksync.com/blog)

[App tips Automate Co-Packer Receipt Exceptions for Snack Brands Before Inventory Reconciliation 5 min read read](https://www.stacksync.com/blog/automate-co-packer-receipt-exceptions-for-snack-brands-before-inventory-reconciliation)

[App tips Beverage Returns Workflows: Route Breakage Claims From Support to Finance 5 min read read](https://www.stacksync.com/blog/beverage-returns-workflows-route-breakage-claims-from-support-to-finance)

[App tips CPG Credit-Hold Release Workflows: Keep Finance Approval and Fulfillment in Step 5 min read read](https://www.stacksync.com/blog/cpg-credit-hold-release-workflows-keep-finance-approval-and-fulfillment-in-step)

## You just read how it should work. See it run on your own data.

[Book a demo](https://www.stacksync.com/book-a-demo) [Get started](https://app.stacksync.com/)
