The NetSuite ERP V2 connector sends orders from your selling channels to NetSuite and keeps NetSuite and the app in sync for inventory, fulfillments, transfer orders, returns, and refunds. It replaces the deprecated NetSuite ERP connector.
With this connector, you can:
- Push orders to NetSuite as Sales Orders or Cash Sales.
- Pull inventory, locations, and fulfillments from NetSuite.
- Push transfer orders, returns, and refunds to NetSuite.
- Push statement transactions to NetSuite as Deposits.
Supported flows:
- Push Orders to NetSuite as Sales Orders or Cash Sales
- Pull order updates from NetSuite
- Push shipments to NetSuite
- Pull Inventory from NetSuite
- Pull Locations from NetSuite
- Pull Fulfillments from NetSuite
- Push Transfer Orders to NetSuite
- Push returns to NetSuite as Return Authorizations
- Push eCommerce order refunds to NetSuite as Cash Refunds or Customer Refunds
- Push statement transactions to NetSuite as Deposits
- Note: there is another connector called NetSuite E-commerce, which is primarily used to pull orders from NetSuite INTO Pipe17 to be sent to fulfillment channel(s). This is not the subject of this article. The other article is HERE
- Supported flows of the NetSuite eCommerce connector:
- Pull Sales Orders or Item Fulfillments from NetSuite
- Push Item Fulfillments to NetSuite from fulfillment channels
- Pull Product catalog from NetSuite
- Push Inventory to NetSuite
- Pull Locations from NetSuite
- Supported flows of the NetSuite eCommerce connector:
-
Flow Example - NetSuite ERP V2:
-
Flow Example - NetSuite eCommerce:
Before starting:
- Ensure that you have a Pipe17 account.
- Make sure you are licensed to use the Pipe17 NetSuite ERP V2 Connector. If you're not certain, reach out to your Pipe17 onboarding manager
- Follow the steps below to add your connectors
Connector Setup (Basic Flows)
Get connected to the NetSuite ERP V2 connector
- Install the Pipe17 SuiteApp in your NetSuite account
- In NetSuite, go to Customization > SuiteCloud Development > SuiteApp Marketplace > and search "Pipe17"
-
- Add the new access role to a Pipe17 Employee record
- Make sure to have an employee record created in NetSuite called "Pipe17". Add the Pipe17 SuiteApp Role, which the SuiteApp installs, to this employee record
- Do not select the 'Partner Role' option on this record, or you will encounter an error later
- We also suggest adding Administrator role access temporarily so we can best help with the connector setup and troubleshooting during onboarding
- Create access token
- Setup > Users/Roles > Access Tokens > New
- Copy the values for Token ID and Token Secret. You paste them into the Token and Token Secret fields in Pipe17 next
- In NetSuite, go to Customization > SuiteCloud Development > SuiteApp Marketplace > and search "Pipe17"
- In Pipe17, go to the "Integrations" tab on the left side of your Pipe17 portal, and click "Add Integration"
- Select the NetSuite ERP V2 connector
- Input your credentials, be sure to select I have installed the Pipe17 SuiteApp in my NetSuite account
- Account: Enter your NetSuite account ID. Find it at the beginning of your NetSuite URL, or go to Setup > Company > Company Information: Account ID. For sandbox accounts, use the Company Information page, since the case and underscore differ from the URL.
- Consumer Key and Consumer Secret: Enter the consumer credentials of the NetSuite integration record. If you don't have these values, reach out to your Pipe17 onboarding manager.
- Token and Token Secret: Enter the Token ID and Token Secret from the access token you created.
- Once credentials are successfully entered, and the connector status shows "Connected" click over to the "Settings" tab within the connector. Step through the settings below
Connector configuration
Enabling and disabling flows can be configured with the options at the top of the settings page. The settings on the bottom portion of the page are more specific configurations for each flow. Follow the order of operations below for our suggested setup process for most common use cases. For simplest testing, enable each flow one by one and confirm data syncs before moving to next step.
Settings to check in NetSuite prior to configuring Pipe17
Order-related settings
- Setup > Company > General Preferences: "Show Display Names with Item Codes" = FALSE
- This setting concatenates item name with SKU value, causing issues on item lookup when creating transactions
Item-related settings
- Item page > Purchasing/Inventory tab: "Display Components on Transactions" = FALSE
- This setting adds lines to fulfillments for bundle components, causing issue on fulfillment pull from NetSuite if this flow is applicable to the use case
- Only applicable if using bundles and pulling fulfillment from NetSuite
- Item page > Preferences tab: "Can be Fulfilled/Received" = FALSE
- Only applicable for setup on non-fulfillable items i.e. tax items
RMA-related settings
- Customization > Forms > Transaction Forms: " Standard Return Authorization - Cash" = DEFAULT FORM TRUE
- Ensure the default is NOT the credit version of the form, as the flow does not support creation of Credit Memos
Pipe17 configuration in the NetSuite ERP V2 connector:
-
Push Orders to NetSuite
- Find the flow labeled "Push orders to NetSuite" and enable it. View the specific settings in the orders subsection below
-
Common Settings for Sales Orders and Cash Sales: these are general order related settings and contain field help in the ? mark icon to the right.
- Exclude orders created before this date if there is not order out checkpoint.: Use this date filter to only push orders from a certain date over to NetSuite. If left empty, the integration creation date is used.
- Look up products on orders by: Choose Item Name/Number (default) if the sales channel SKU matches the Item Name/Number field in NetSuite, or UPC if it matches the UPC value in NetSuite.
- Decompose the bundle to only pass bundle components when pushing orders to NetSuite: Mark this checkbox to send only the bundle components to NetSuite instead of the bundle line item.
- Order push concurrency: Set how many orders the app pushes to NetSuite at the same time. If left empty, the app pushes orders one at a time.
- Automatically retry pushing orders that failed: On by default. The app retries orders that recently failed to push. If an order fails again during the retry, the app doesn't retry it further.
-
Sales orders preferences:
-
Filter order creation by source: Enter the source channel(s) allowed to create orders in NetSuite i.e. shopify, amazon fba, amazon fbm, bigcommerce, fabric
- If not used, no filter for source channel will be used, meaning orders from all channels will be pushed.
- This filter doesn't apply to orders that the app pushes as Cash Sales.
-
Create Sales Order when order status is: Choose which Pipe17 status should trigger the creation of sales orders into NetSuite. This prevents orders being pushed to NetSuite until they are in a specified status in Pipe17
- For example, if an order comes in with a 'Hold' status, these could be prevented from syncing to NetSuite until they are in 'Ready for Fulfillment' status
- If not used, orders on all statuses will be pushed.
- Send order updates into NetSuite: This allows order changes that happen in the source channel to sync through Pipe17 to NetSuite. Do not enable if updates are being made manually in NetSuite as these will be overwritten by the integration's updates. The app doesn't update Sales Orders that have the Billed status in NetSuite.
-
Update Sales Order when order status is: Choose which Pipe17 status should trigger the update of sales orders into NetSuite
- For example, you may input the status Ready for Fulfillment but disallow order changes to sync to NetSuite after the order has already been transitioned into a Sent to Fulfillment status
- If not used, orders on all statuses will be updated.
-
Update Pipe17 order status to 'Sent to Fulfillment' when order is sent to NetSuite: This checkbox is only to be marked when no other fulfillment channel is connected
- Typically this order status change occurs when Pipe17 is connected to a 3PL/warehouse, but if orders are only being sent to NetSuite for direct fulfillment, this option should be enabled so the status can be updated in Pipe17 when the order is sent to NetSuite.
-
Create Customer Deposits with Sales Orders In NetSuite: Typically used for ecommerce orders paid by the customer at the time of order creation. The app doesn't create Customer Deposits for Cash Sales.
- Create Customer Deposit when order status is: Choose which Pipe17 status should trigger the creation of a Customer Deposit. If left blank, the app uses the Create Sales Order when order status is filter.
- Update Customer Deposit when order status is: Choose which Pipe17 status should trigger the update of a Customer Deposit. If left blank, the app uses the Create Sales Order when order status is filter.
-
Mappings Shortcut for Sales Order: Set default values without editing the mappings: Discount Item, Subsidiary, Location, and Payment Method (a JSON object that matches each payment method to a NetSuite internal ID, for example
{ "Visa": 5, "Shopify": 7 }).
-
Filter order creation by source: Enter the source channel(s) allowed to create orders in NetSuite i.e. shopify, amazon fba, amazon fbm, bigcommerce, fabric
-
Cash sales preferences - if required to push cash sales instead of sales orders in NetSuite, use the setting called "Create Cash Sales in NetSuite" in the Cash Sales section
- The app creates a Cash Sale instead of a Sales Order when the order matches at least one of these settings: Only create Cash Sales for the following order source:, Only create Cash Sales for the following order source type:, or Only create Cash Sales for the following order tags:. Orders that don't match are pushed as Sales Orders.
- Use Create Cash Sales when order status is, Send cash sales updates into NetSuite, and Update Cash Sales when order status is to control creation and updates, the same way as for Sales Orders. The app doesn't update Cash Sales that have the Deposited status in NetSuite.
- Typically used for in-store scenarios with no shipping process or for Amazon FBA.
- Only create Cash Sales for the following order tags: Specify which tag to pick when creating cash sales in NetSuite. Enter each tag as a separate value if more than one will be used. Use this option to create Cash Sales instead of Sales Orders in NetSuite for orders that have the specified tags. If you leave the tag, source, and source type settings empty, the app doesn't create any Cash Sales.
-
Customer creation
- Customer logic will happen alongside the creation of Sales Orders or Cash Sales. Several options are displayed.
- On the NetSuite ERP V2 connector page, under the Settings tab, scroll down to the Customer Creation section and find Group of Customer Lookup Logics. There, ensure settings to match your business needs:
- Customer Category: A separate configuration for customer logic needs to be created for each customer category considered. Two configurations are shown out of the box, D2C and B2B, if neither apply to your business, delete one and erase the value of the other or enter the values considered necessary. Consider category to be the naming of the different logics. The D2C configuration comes with sample Customer Subsidiary Filter and Generic Customer Id values; replace them with values from your NetSuite account.
- Source and Tags: Tags on the order can be used in this field to assign a provided logic. If the order is tagged on Pipe17 as "D2C", enter this value to apply a given logic. Use the pattern <source:tag> to specify a source along with a tag, use <source> if there is no tag. If you leave this field empty, the app uses this category as the default when no other category matches the order source.
- Customer Subsidiary Filter: Fill in the Subsidiary field with a specified value when looking up an existing customer or creating a new customer if it doesn't exist. If searching for an existing customer in NetSuite and two exist with the same email, it will select the default one, with the subsidiary preference.
-
Customer match: A unique selection regarding the behaviors of customer creation within NetSuite needs to be made. The options are:
- Use a generic customer for all orders
- Match the customer by email, create it if it doesn't exist
- Match the customer by email, use a generic customer if it doesn't exist
- Match the customer by company, create it if it doesn't exist
- Match the customer by company, use a generic if it doesn't exist
- Match the customer by company then by email, use a generic as a fallback if nothing shows up
- Match the customer by specified lookup logic, create it if it doesn’t exist
- Match the customer by specified lookup logic, use a generic as a fallback if nothing shows up
- Generic Customer Id: Required when the Customer match option uses a generic customer. Enter the NetSuite internal ID of the customer selected to be the generic.
- New settings can be created to enter required logic dependent on Customer Category, Source and Tags and Customer Subsidiary Filter.
- Use case: some selling channels such as Amazon FBA may mask the customer info when providing order data via API. In this case, a generic customer is often used when pushing the order to NetSuite. With high volume of orders, merchants often also use this generic customer method to simplify the data going to the ERP (and sometimes improve performance)
-
Pull Inventory from NetSuite
-
-
Find the flow labeled "Pull Inventory from NetSuite" and enable it. Also enable the flow labeled "Pull locations from NetSuite" - there needs to be a location created in Pipe17 representing the location before inventory can be pulled. View the specific settings in the Inventory and Locations sections below
- Inventory Filter: Usually, the filter is made to include a set of locations specified by Internal ID or by some other value within the location record in NetSuite.
- Force inventory resync: Force pull inventory from NetSuite along with the locations. Please make sure 'Pull Inventory from NetSuite' and 'Pull locations from NetSuite' are enabled first.
- Location Filter: In the Locations section, use this filter to limit which NetSuite locations the app pulls.
-
Find the flow labeled "Pull Inventory from NetSuite" and enable it. Also enable the flow labeled "Pull locations from NetSuite" - there needs to be a location created in Pipe17 representing the location before inventory can be pulled. View the specific settings in the Inventory and Locations sections below
-
-
Pull Fulfillments from NetSuite
- On the NetSuite ERP V2 connector page, under the Settings tab, scroll down to Item Fulfillments. There, ensure settings to match your business needs:
- Item Fulfillments filter: Request the Pipe17 team for support to create the logic required by your business to filter out Fulfillments pull. If filtered by location, use the field below.
- Only pull Item Fulfillments from specified Locations: Enter NetSuite internal ID for locations. If blank, fulfillments will be pulled for all locations. Partial fulfillment is supported; meaning that if the Item fulfillment in NetSuite has multiple lines with different locations assigned, only the line whose location was specified will be pulled.
- Create fulfillments for SRs created in Pipe17 and routed to NetSuite: Mark this checkbox to attach the fulfillments pulled from NetSuite to the matching shipping requests in Pipe17.
- Exclude fulfillments created before this date: If left empty, the integration creation date is used.
- On the NetSuite ERP V2 connector page, under the Mappings tab, ensure the correct field mapping is used. A baseline is provided automatically by the connector but all can be customized or removed.
- New custom mappings can be requested and the Pipe17 team will provide support.
- Some standard fields and custom fields may not be found on the SOAP order scheme or may not be reachable via API.
- Once settings and mappings have been validated turn on the connection flow on the settings tab.
- On the NetSuite ERP V2 connector page, under the Settings tab, scroll down to Item Fulfillments. There, ensure settings to match your business needs:
-
Pull order updates from NetSuite
- Find the flow labeled "Pull order updates from NetSuite" and enable it. The app pulls updates from NetSuite Sales Orders that were created by Pipe17 and applies them to the matching Pipe17 orders, based on the orders in mappings.
- Sales Order Filters for Order Ingestion: This filter is required. Without it, the app doesn't pull order updates.
-
Push shipments to NetSuite
- Find the flow labeled "Push shipments to NetSuite" and enable it. When a shipping request is routed to NetSuite, the app pushes the order again to update the NetSuite Sales Order, for example with the shipping request location. Once the Sales Order is updated, the app sets the shipping request status to Sent to Fulfillment.
-
Push Transfer Orders to NetSuite
- Make sure both the origin and destination locations of the transfer order are linked to a NetSuite location, for example, the 3PL location has an external location linked to NetSuite.
- One way to do it is to pull location form NetSuite then merge it to a 3PL location; having locations pulled from NetSuite prior to TO push is recommended, but not required.
- Other way is to manually add an external location on the 3PL location and link it to a specified NetSuite location.
- On the NetSuite ERP V2 connector page, under the Settings tab, scroll down to Transfer Orders. There, ensure settings to match your business needs:
- Only push transfer orders for the following status: By default, the app pushes transfer orders with these statuses: Draft, New, New - Auto Hold, Ready For Fulfillment, Sent To Fulfillment, Review Required, and To Be Validated.
- Do not update lineItems when updating a closed transfer order in NetSuite.: Turn this on to keep line items unchanged when the app updates a closed transfer order.
- On the NetSuite ERP V2 connector page, under the Mappings tab, ensure the correct field mapping is used. A baseline is provided automatically by the connector but all can be customized or removed.
- New custom mappings can be requested and the Pipe17 team will provide support.
- Some standard fields and custom fields may not be found on the SOAP order scheme or may not be reachable via API.
- Once settings and mappings have been validated turn on the connection flow on the settings tab.
- Make sure both the origin and destination locations of the transfer order are linked to a NetSuite location, for example, the 3PL location has an external location linked to NetSuite.
-
Push returns to NetSuite as Return Authorizations
- On the NetSuite ERP V2 connector page, under the Settings tab, scroll down to Return Authorization. There, ensure settings to match your business needs:
- Only push return RMA for the following status: Specify which return statuses the app pushes to NetSuite. If not specified, returns with any status are pushed.
- The app pushes a return after the original order exists in NetSuite as a Sales Order. If the Sales Order isn't found, the app retries the return later.
- On the NetSuite ERP V2 connector page, under the Mappings tab, ensure the correct field mapping is used. A baseline is provided automatically by the connector but all can be customized or removed.
- New custom mappings can be requested and the Pipe17 team will provide support.
- Some standard fields and custom fields may not be found on the SOAP order scheme or may not be reachable via API.
- Once settings and mappings have been validated turn on the connection flow on the settings tab.
- On the NetSuite ERP V2 connector page, under the Settings tab, scroll down to Return Authorization. There, ensure settings to match your business needs:
-
Push eCom order refunds to NetSuite
- Find the flow labeled "Push eCom order refunds to NetSuite" and enable it. Refunds have two possibilities to create differentiated records in NetSuite; Customer refunds or Cash Refunds. The app chooses the record based on whether the refunded items were fulfilled:
- Refunds for fulfilled items are created as Cash Refunds.
- Refunds for unfulfilled items are created as Customer Refunds.
- Refunds for orders pushed as Cash Sales are created as Cash Refunds.
- On the NetSuite ERP V2 connector page, under the Settings tab, scroll down to Refunds. There, ensure settings to match your business needs
- Create Customer Refund when order is canceled: Mark this checkbox to create a Customer Refund when the order gets canceled. The refund will be applied to the whole order. This use case applies to cancellations prior to order shipment.
- Associate non-inventory item with inventory item and apply the same refund logic: When enabled, refunds for non-inventory lines such as taxes and shipping follow the same fulfilled or unfulfilled classification as the line item refund they belong to.
- Create standalone Cash Refunds (no Sales Order or Cash Sale) for orders with source: Orders with these sources create only a Cash Refund from their refunds. They never create a Sales Order, Cash Sale, or Customer Deposit. Use it for orders that only carry a refund, such as blind returns. The customer is found with your customer search settings. Requires Push eCom order refunds to NetSuite.
- Create standalone Cash Refunds (no Sales Order or Cash Sale) for orders with tags: Works the same as the source setting, matched on order tags instead.
- Advanced settings and mappings for Customer Refunds: These aren't shown in the app. Request the Pipe17 team for support to create advanced settings and mappings for Customer Refunds.
- Mappings for creating Cash Refunds: We are creating Cash Refunds to refund fulfilled items, but you can specify refund type to create Cash Refunds when it’s not fulfillable. This setting isn't shown in the app. Request the Pipe17 team for support to create advanced settings for Cash Refunds.
- Once settings and mappings have been validated turn on the connection flow on the settings tab.
- Find the flow labeled "Push eCom order refunds to NetSuite" and enable it. Refunds have two possibilities to create differentiated records in NetSuite; Customer refunds or Cash Refunds. The app chooses the record based on whether the refunded items were fulfilled:
-
Push statement transactions to NetSuite as Deposits
- Find the flow labeled "Push statement transactions to NetSuite as Deposits" and enable it. The app pushes payout statements from your selling channels to NetSuite as Deposits, along with their transactions.
- On the NetSuite ERP V2 connector page, under the Settings tab, scroll down to Statement Transactions. There, ensure settings to match your business needs:
- Statement status that trigger full transaction sync: The statement status that triggers pushing the statement and a full sync of its transactions. Default: Pending.
- Statement status that allow apply: The statement statuses that allow the app to create or update the statement and its transactions in NetSuite. Default: Pending and Reported.
- Maximum allowed variance ratio: The maximum allowed difference between the NetSuite Deposit and the statement total, as a ratio of the statement total. If the variance is higher, the app raises an exception. Default: 0.1.
- Filter statements and transactions by source integration: Push only the statements and transactions from the selected source integrations.
- Filter statements and transactions by extStatementId: Push only the statements and transactions with the specified extStatementIds.
- Split large statements into multiple NetSuite Deposits: When enabled, one statement can create several NetSuite Deposits so that no Deposit exceeds 3,000 payment lines.
Mappings
- On the NetSuite ERP V2 connector page, under the Mappings tab, ensure the correct field mapping is used. A baseline is provided automatically by the connector but can be customized.
- New custom mappings can be requested and the Pipe17 team will provide support.
- Some standard fields and custom fields may not be found on the SOAP order schema or may not be reachable via API.
- New custom mappings can be requested and the Pipe17 team will provide support.
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.
Comments
0 comments