Set up the Stripe Connector for NetSuite (SCN)
Configure general settings and prebuilt SCN workflows
Note
This guide is for the Full version of SCN. You can configure and test in a sandbox environment before starting your Stripe contract.
If you’re planning to use the Free version of SCN, use the Free NetSuite payment links installation instructions.
If you’re migrating from SuiteSync to Stripe Connector for NetSuite, use the migration instructions.
Before you begin
- Open a Stripe sandbox account.
- Install the SCN Stripe app.
- Connect Stripe and NetSuite using the instruction wizard in the App Settings page.
How to get started
Start testing SCN in a Stripe sandbox connected to your NetSuite sandbox. Your integration will use at least one of the prebuilt SCN workflows, plus the deposit automation workflow and other general functionality. Use this guide to configure the SCN Stripe app and SuiteBundle components needed for your use case.
Use the quickstart guide for the following scenarios
- Upgrade the SCN free payment pages workflow by using the quickstart guide to enable NetSuite payment record creation, payment application, deposit automation, and refund and dispute automation.
- Integrate Stripe Billing or Invoicing with NetSuite using the quickstart guide and then follow the invoice automation setup guide .
- Build an SCN integration that uses one or more workflows simultaneously by first configuring general settings with the quickstart guide. Then follow the guides below to add workflows.
- If you’re planning to use SCN for deposit automation only, use the quickstart guide to configure required settings. This workflow’s automatic reconciliation also requires Stripe payments to be created and linked at the individual transaction level in NetSuite. We recommend using Create unapplied customer payments with the Global customer setting, but other workflows also support this.
Add workflows to your integration
Identify and add one or more SCN workflows to your integration using the provided guides.
Get support and prepare for go-live
Schedule a call with the SCN team for support, solution architecture, and pricing discussions. To make sure you can meet your go-live target date, contact our team at least two weeks ahead. To schedule a call, install the SCN app in your live mode Stripe account and click Request a Demo. Follow the instructions to start preparing for go-live.
Quickstart guide
Use this quickstart guide to configure the minimum required settings to start testing SCN’s general functionality, including the deposit automation workflow. These instructions apply to all use cases and assume you’ve already installed the SCN Stripe app in a Stripe sandbox account and connected it to a NetSuite sandbox subsidiary (or a single entity NetSuite account).
Note
To connect your Stripe live mode account to a NetSuite production subsidiary, the same steps apply, but testing with Stripe test payment methods isn’t supported in live mode.
Review conditionally required settings on the General tab
Most of the settings in this section are conditionally required, depending on your Stripe and NetSuite account settings.
- Go to App Settings > General. Scroll to the General section.
- Required Set NetSuite timezone to match the timezone configured in NetSuite under Home > Set Preferences . NetSuite prioritizes this setting over subsidiary time zones for record timestamp synchronization. SCN-created records default to UTC if the timezone isn’t set.
- Required Review If your NetSuite account has multiple subsidiaries, set NetSuite subsidiary ID to the internal ID of the subsidiary this Stripe account is paired with. This setting is required for all workflows when multiple subsidiaries are present. Additional field mapping is also required—see Configure the Field Mapping tab in this guide.
- Click Save for that section.
- Required Review Scroll to the Currency Synchronization Controls section.
- Confirm that the NetSuite base currency field is set to the ISO currency code matching your Stripe account’s primary settlement currency (for example, USD ).
- If your NetSuite account has Multiple Currencies enabled (even if it only applies to some subsidiaries), enable the Multiple currencies toggle. NetSuite blocks SCN record creation if this isn’t configured correctly.
- Click Save for that section.
- Scroll to the Customer Synchronization Controls section. Synchronization of the Stripe Customer object to the NetSuite customer record is a core functionality of all SCN workflows. A Stripe Customer is created or identified before payment creation. By default, SCN creates a new individual NetSuite customer record for each new Stripe Customer, which is linked in the SCN database for repeated use. Review the following steps to confirm if you need to override the default behavior. If you’re unsure, return to this section as needed after adding SCN workflows to your integration.
- Required Review If you want SCN to instead create one NetSuite customer record and reuse it every time a customer creation trigger happens, select Global customer. All Stripe customers will be linked to this NetSuite customer and all transaction records created in NetSuite by SCN will be related to this NetSuite customer. Note If you use a Customer match option, NetSuite uses the selected customer creation option (either individual or global) as the fallback behavior if SCN fails to find a match.
- Required Review If Stripe customers in your environment already have corresponding NetSuite customer records, link them to prevent SCN from creating duplicate records in NetSuite. Configure one of the Customer match settings in App Settings > General > Customer Synchronization Controls.
- Dynamic customer linking (doesn’t require code): In the Customer match section, enter the field ID of a field on the NetSuite customer record that holds the same value as a field on the Stripe Customer it needs to link to. Note The simplest example of matching fields is
email—the field ID syntax is identical in both Stripe and NetSuite. Another common example is a custom field added by an upstream system, such as a CRM ID that appears on both records. Stripe metadata fields are supported using the formatmetadata.your_metadata_key. - Link customers by metadata (developer option): If you have developer control over the interface that creates each Stripe Customer object, add the following metadata to each Stripe Customer object at the time it’s created, where the value represents the internal ID of the corresponding NetSuite customer record: netsuite _ customer _ id: 12345 Note Metadata linking takes precedence over dynamic linking if both are configured. Several NetSuite-initiated payments workflows automatically perform metadata linking. The SCN team can perform a one-time bulk customer metadata import during go-live. You need to provide a CSV with the corresponding Stripe customer ID and NetSuite customer internal ID in the first two columns if you want the bulk import.
- Click Save for that section.
Configure the Account Mapping tab
- Go to App Settings > Account Mapping . These instructions assume you’ve already configured your NetSuite Chart of Accounts .
- Required Under the Required account mapping section, configure the following fields to fulfill basic requirements before testing.
- Payment processing fees : Select an Expense type account.
- Undeposited funds : Select the single Undeposited Funds GL account created by NetSuite. The internal ID is usually between 100 and 130 .
- Bank deposit account —Select the appropriate Bank type account for each currency you receive Stripe payouts in. If your Stripe account supports multiple bank accounts for different currencies, you can begin testing with only the primary currency’s bank account configured. A US Stripe account typically only supports one USD bank account. Note You can find the bank accounts associated with your Stripe payouts in the Stripe Dashboard. They’re pre-populated in your Stripe sandbox if you created it as a copy of your live mode account. However, if you’re using a new Stripe sandbox, you might need to add your bank account information in the Dashboard. Stripe requires this before your sandbox can simulate a payout and SCN reconciles it, creating the bank deposit record.
- Click Save for that section.
- Recommended Review the remaining sections on the Account Mapping tab and configure any fields that apply to your use case. This step is recommended for your accounting leadership to perform before going live. Workflow-specific setup guides include additional context for some of these fields, while others correspond to advanced settings on the General tab. Click Save next to each section when finished.
Configure the Field Mapping tab
- Required Review If you’re using multiple subsidiaries, add the minimum required subsidiary field mappings before your first test. Go to App Settings > Field Mapping > Basic > Static mappings and click Add mapping to add each of the following:
On creation of NetSuite record type | NetSuite field | Value to map |
|---|---|---|
Deposit | Subsidiary | Internal ID of the NetSuite subsidiary this Stripe account is connected to (confirm on the General tab or the NetSuite Subsidiaries page) |
Customer | Subsidiary | Same internal ID as above |
Note
If you’re setting up Stripe Invoice automation with multiple subsidiaries or using the NetSuite Multi-Subsidiary Customer, use the field mapping template in the invoice automation setup guide instead—it has a more robust set of required field mappings.
You can add additional field mappings at any time. Static mappings assign a default value to a NetSuite field. Dynamic mappings pass Stripe data to NetSuite. In addition to native fields, custom Stripe metadata fields and custom NetSuite fields are supported. Field mapping only takes place when SCN creates a new NetSuite record.
- Required review Check for custom mandatory fields before your first test.
Before running your first test, check whether your NetSuite forms have any non-standard fields set as Mandatory. SCN maps all standard mandatory fields by default—this step only applies if your forms have been customized in NetSuite to make additional fields mandatory. If you skip this step, NetSuite reports missing field errors to SCN individually until you resolve each of them.
- In NetSuite, find the form SCN will use to create each record type in your workflow. Open the form in the Edit or Customize Form view for reference while working. Note By default, SCN uses your NetSuite account’s
Preferredform for each record type. You can force SCN to use a different form using field mapping—select Custom Form from the NetSuite field dropdown and set the internal ID of the custom form in the Value to map field. The Stripe Invoice Automation workflow setup guide lists all record types that you must verify for that workflow.
- For Entry records (such as Customer ): go to Customization > Entry Forms > [select custom form] > Edit .
- For Transaction records (such as Customer Payment , Credit Memo , Customer Refund , Deposit ): go to Customization > Transaction Forms > [ select custom form ] > Edit .
- Go to the Screen Fields or Fields subtab and navigate through each subsequent subtab starting with Main. Review the
Mandatorycolumn for non-standard fields (clickable check marks). Use theDescription*andLabelcolumns to identify the NetSuite field name. - To add custom field mapping, go to App Settings > Field Mapping > Basic subtab. In the Static mappings section, click Add mapping to add each required field. For example, if the NetSuite
Depositform has theDepartmentfield set as mandatory, select the appropriate values in the SCN dropdown menus for On creation of NetSuite record type and NetSuite field. In NetSuite, go to Setup > Company > Classifications > Departments, find the internal ID of the department SCN should use for every deposit it creates, and set that value in the Value to map field. Note NetSuite record subtabs often appear in the SCN On creation of NetSuite record type dropdown as a separate record type. For example, line item fields on anInvoicerecord are configured under theInvoice itemoption. TheDepositand other records also have subtabs arranged in this way. If you receive an error that a field isn’t configured but you already set that field mapping at the parent record level, check whether there is a mandatory field at the subtab or line item level with the same name.
Turn on record sync and run your first test
At this point, you’re ready to enable and test the general functionality of SCN including the deposit automation workflow.
- Go to App Settings > Connection . Turn on Stripe Connector for NetSuite and Automatic record sync . Note If your Stripe sandbox already has unrelated automated activity—for example, test subscriptions someone set up previously and never turned off—turning on sync can cause those unrelated records to fail and clutter the SCN app’s error dashboard. If you’re unsure whether your sandbox is clean, consider using a fresh sandbox instead.
- Run a test to confirm your general settings are working before adding any more workflow-specific configuration. You have two basic test options, depending on your use case:
- If you’re upgrading from the free version or plan to use the NetSuite Payment Page, pay an open invoice or sales order in your sandbox environment using Stripe test cards to trigger the full NetSuite record creation automation.
- If you plan to use any other use case, follow the testing instructions in this guide to create an unapplied customer payment, which is the most basic functionality your workflows could use. Both of these scenarios result in your Stripe sandbox creating a bank payout within 1-2 business days. At that time, SCN’s deposit automation workflow is triggered and should create a bank deposit record in NetSuite.
Optional Learn how to test your integration
Optional Configure advanced settings on the General tab
Select and configure specific workflows
Use these guides to identify and set up one or more workflows after you’ve configured general settings with the quickstart guide. You can use most of the prebuilt workflows simultaneously.
- Stripe-initiated payments
- NetSuite-initiated payments
- Stripe invoice automation
- NetSuite-initiated refunds
Optional Set up SCN on additional accounts or subsidiaries
Prepare for go-live
You may begin preparation for go-live at any point during your sandbox configuration and testing.
- Install the Stripe app in your live mode Stripe account(s).
- Contact the SCN team to request access to the full App Settings in your live mode Stripe account(s). Your account will be gated in after confirming your contract status.
- Connect each live mode Stripe account to your NetSuite production account using the Connect to NetSuite instruction wizard in the app. You will need to install all Suitebundles again in NetSuite production and create new tokens.
- Follow the same workflow instructions in this guide that you used during sandbox configuration, but using your live mode Stripe accounts and NetSuite production account. Confirm all settings—including those that map to NetSuite internal IDs and GL accounts—match the NetSuite production account and subsidiary settings.
- (Optional) Certain workflows such as Stripe Billing and NetSuite Auto Pay might require one-time go-live tasks, such as making sure your live mode Stripe account contains Customer objects with saved payment methods. If you’re migrating subscriptions or payment tokens to Stripe from another payment service provider, start early on migration . It often takes significant time to get the data from your current provider.
- (Optional) If needed, contact the SCN team for help with advanced onboarding tools such as copying complex app configuration from one Stripe account to others (which requires manual verification), backfilling Stripe data into NetSuite for a certain time period before going live, one-time mass customer mapping, and so on.
- When configuration and contract onboarding are complete, turn on live transaction synchronization and monitor the app dashboard for potentially unforeseen record synchronization errors.