Connect NetSuite B2B to Pipe17

The NetSuite B2B connector sends your orders from the app to NetSuite as sales orders, and brings your B2B customers, locations, and item fulfillments from NetSuite into the app. It uses NetSuite token-based authentication and the Pipe17 SuiteApp. You control each flow with its own toggle, so you can turn on only the flows you need.

With this connector, you can:

  • Create and update NetSuite sales orders from orders in the app, filtered by order source and order status.
  • Match each order to a NetSuite customer by email, company, or your own lookup logic, or use a generic customer.
  • Create customer deposits with sales orders, and sync payment status and customer deposits back from NetSuite.
  • Import NetSuite companies, company locations, and their contacts as B2B customers, along with price-level catalogs.
  • Import NetSuite locations and item fulfillments into the app, and send fulfillments from the app to NetSuite as item fulfillments.

Setup

Before you begin, make sure you have:

  • A NetSuite account with administrator access.
  • The Pipe17 SuiteApp installed in your NetSuite account. To find it, search for Pipe17 in the NetSuite SuiteApp marketplace.
  • Your NetSuite account ID or account URL.
  • A consumer key and consumer secret, and a token and token secret, for token-based authentication in NetSuite.
  • A NetSuite role for the token that includes the Accounting Lists permission, if you plan to import customers with price levels.
Connect NetSuite B2B pop-up

To connect NetSuite B2B:

  1. Navigate to Integrations in the app.
  2. Click Add Integration, and then select NetSuite B2B.
  3. Select the I have installed the Pipe17 SuiteApp in my NetSuite account check box. Select it only after the SuiteApp is installed.
  4. Enter your NetSuite account ID or URL in the Account field.
  5. Enter your consumer key in the Consumer Key field.
  6. Enter your consumer secret in the Consumer Secret field.
  7. Enter your token ID in the Token field.
  8. Enter your token secret in the Token Secret field.
  9. Click Connect.
  10. After you connect, toggle on the flows you want to use: Push orders to NetSuite, Pull customers from NetSuite, Pull locations from NetSuite, Pull fulfillments from NetSuite, and Push fulfillments to NetSuite. All are off by default.

When you connect, the app checks the connection to NetSuite. It then loads reference data from your NetSuite account, such as subsidiaries and search fields, for use in the connector settings. The app refreshes this data once a day.


Settings

Setting Description Options/Default
Push orders to NetSuite Sends orders from the app to NetSuite as sales orders. On/Off. Default: Off
Pull customers from NetSuite Imports NetSuite companies, company locations, and contacts into the app as customers. On/Off. Default: Off
Pull locations from NetSuite Imports NetSuite locations into the app. On/Off. Default: Off
Pull fulfillments from NetSuite Imports NetSuite item fulfillments into the app as fulfillments. On/Off. Default: Off
Push fulfillments to NetSuite Creates item fulfillments in NetSuite from fulfillments in the app, such as fulfillments from a 3PL. On/Off. Default: Off
Filter order creation by source: Sends only orders from the sources you list, such as shopify or Brandboom. To see the source values, check the orders list in the app. Optional. Empty sends orders from all sources
Create Sales Order when order status is Creates a sales order in NetSuite only when the order has one of the statuses you choose. Orders in Draft are never sent. Optional. Empty creates orders in any status except Draft
Exclude orders created before this date if there is no order out checkpoint. Skips orders created before this date. If you leave it empty, the app uses the date you created the integration. After syncing starts, the app processes orders as they change, so an older order is sent only after you update it. Date. Optional
Order push concurrency The number of orders the app sends to NetSuite at the same time. Number. Empty sends one order at a time
Decompose the bundle to only pass bundle components when pushing orders to NetSuite Replaces bundle line items with their components on the sales order. On/Off. Default: Off
Look up products on orders by: The NetSuite field that matches the SKU on the order. Choose Item Name/Number if your sales channel SKU matches the NetSuite item name or number, or UPC if it matches the NetSuite UPC. Item Name/Number or UPC. Default: Item Name/Number
Group of Customer Lookup Logics Rules for matching each order to a NetSuite customer. Each rule has a Customer Category, the Source and Tags it applies to (in the format source or source:tag), a Customer Subsidiary Filter, a Customer match method, a Generic Customer Id, and optional Specify Customer Lookup Logic. The Customer match options let you match by email, by company, or by your own lookup logic, and then either create the customer or fall back to the generic customer. Default: a D2C rule and a B2B rule
Create Customer Deposits with Sales Orders In NetSuite Creates a customer deposit in NetSuite for each successful payment on the order. Use this when orders are paid up front. On/Off. Default: Off
Update Pipe17 order status to 'Sent to Fulfillment' when order is sent to NetSuite Changes the order status in the app to Sent to Fulfillment after the app creates the sales order. Use this when NetSuite handles fulfillment instead of a 3PL. On/Off. Default: Off
Send order updates into NetSuite Sends changes to orders that already exist in NetSuite. When it's off, the app doesn't overwrite manual changes made in NetSuite. On/Off. Default: Off
Update Sales Order when order status is Updates a sales order in NetSuite only when the order has one of the statuses you choose. Optional. Empty updates in any status
Sync Order Payment Status and Customer Deposits from NetSuite Brings customer deposits and the fully paid status of NetSuite sales orders back into the app. On/Off. Default: Off
Item Fulfillments filter Filters which NetSuite item fulfillments the app imports. Optional filter
Pull fulfillments into Pipe17 only when it’s routed to a NetSuite location Attaches imported fulfillments to the order's existing shipping requests at NetSuite locations. On/Off. Default: Off
Exclude fulfillments created before this date Skips item fulfillments created before this date. If you leave it empty, the app uses the date you created the integration. Date. Optional
Use bundle components on Item Fulfillments Uses bundle components instead of the finished bundle item on item fulfillments that the app creates in NetSuite. On/Off. Default: Off
Set the IF location with the shipping request location Sets the location on each item fulfillment line to the shipping request location. Make sure each 3PL location maps to the correct NetSuite location. On/Off. Default: Off
Skip 0 committed order line when submitting IF in NetSuite Leaves out sales order lines with 0 committed quantity from item fulfillments. On/Off. Default: Off
Skip closed order line when submitting IF in NetSuite Leaves out closed sales order lines from item fulfillments. On/Off. Default: Off
Skip back-ordered line item when it’s partial fulfillment Leaves out back-ordered lines from partial item fulfillments. On/Off. Default: Off
Item type whitelist to submit even the committed is Null NetSuite item types to include on item fulfillments even when the committed quantity is empty. By default, the app skips those lines. Optional. List of NetSuite item types
Customer Inbound Filters Saved Search ID A NetSuite saved search that limits which customers the app imports. Enter the internal ID (a positive number) or the script ID (starts with customsearch). Optional
Use UPC code instead of SKU to identify products Uses the NetSuite UPC as the SKU for catalog products imported with customers. On/Off. Default: Off
Location Filter Filters which NetSuite locations the app imports. Optional filter

Flows

Flow Direction Notes
Orders Pipe17 → NetSuite Runs every 5 minutes when Push orders to NetSuite is on. Creates a sales order in NetSuite, or updates the existing one when Send order updates into NetSuite is on. Orders in Draft, orders from sources not in Filter order creation by source:, and orders in statuses you didn't choose are skipped. When Create Customer Deposits with Sales Orders In NetSuite is on, the app also creates customer deposits. Cash sales and refunds aren't supported.
Payment status and customer deposits NetSuite → Pipe17 Runs every 5 minutes when Sync Order Payment Status and Customer Deposits from NetSuite is on. Updates only orders that the app sent to NetSuite. Adds customer deposits created in NetSuite as payments on the order, and marks the order as paid when the NetSuite sales order is billed. Deposits are supported in USD, GBP, CAD, and EUR.
Customers NetSuite → Pipe17 Runs every 5 minutes when Pull customers from NetSuite is on. Imports each NetSuite contact whose parent is a company location, and whose company location's parent is a company. The app creates the company, company location, and individual customers and links them. It also creates a catalog from the company location's price level and item pricing.
Locations NetSuite → Pipe17 Runs every 5 minutes when Pull locations from NetSuite is on. Imports up to 200 locations that match Location Filter.
Fulfillments NetSuite → Pipe17 Runs every 5 minutes when Pull fulfillments from NetSuite is on. Imports item fulfillments for orders that exist in the app, with tracking and carrier details.
Fulfillments Pipe17 → NetSuite Runs every 5 minutes when Push fulfillments to NetSuite is on. Creates an item fulfillment on the matching NetSuite sales order. If the item fulfillment already exists, the app skips it. Fulfillments for transfer orders aren't sent.

Troubleshooting

  • The connection fails with a "Connectivity check failed" error
    The account ID or one of the token-based authentication values is wrong, or the Pipe17 SuiteApp isn't installed. Check the Account, Consumer Key, Consumer Secret, Token, and Token Secret values in NetSuite, and then update them in the connection settings.
  • An order has an exception that says it can't find a source channel setting for this order in customer search
    No rule in Group of Customer Lookup Logics includes the order's source or source and tag. Add the source to Source and Tags in a rule, and then update the order to send it again.
  • An order has an exception about a customer that doesn't exist in NetSuite, or a generic customer that can't be found
    The app couldn't match a customer with the rule's Customer match method. Check that Generic Customer Id is a valid NetSuite customer internal ID, or choose a Customer match option that creates the customer if it doesn't exist.
  • An order isn't sent to NetSuite and has no exception
    The app skipped it. Check that the order's source is in Filter order creation by source: and its status is in Create Sales Order when order status is. For orders already in NetSuite, check Send order updates into NetSuite and Update Sales Order when order status is. Orders in Draft are never sent.
  • A customer has a PriceLevelError exception about the Accounting Lists permission
    The NetSuite role for your token can't read price levels. Add the Accounting Lists permission to the role in NetSuite. The app resolves the exception on its next run.

Need Help?

If you need additional assistance:

  • Use Ask Pippen, our AI agent, located at the top of the platform page.
  • Submit a support request with as much relevant detail as possible. Learn how to submit a request.

We’re here to help you succeed with your operations.

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Article is closed for comments.

Have more questions?
Submit a request
Share it, if you like it.