Do not issue refunds in both Stripe and NetSuite. Pick one system to issue refunds through.

Stripe User Best Practices

Do not delete customers in Stripe without contacting support. This operation is supported, but it’s important you understand how this will effect the integration.

If you are using the eCommerce or auth-capture flow, don't issue refunds directly in Stripe. Instead use NetSuite to issue refunds.

If you are using auth-capture do not capture charges directly in the Stripe Dashboard. Let SuiteSync manage capturing and releasing charges.

Do not use the customer balance. This feature is supported, but posts to a unique item in NetSuite which may be confusing for the finance team. Contact support if this is a heavily used feature in your account.

NetSuite Administrator Best Practices

If you are going to enable multi-currency transactions for the first time, contact support.

If you are moving to NetSuite OneWorld (multiple subsidiaries), contact support.

If you are using new types of transactions for the first time, contact support. For instance, if you are using SalesOrders or CashSales for the first time.

Do not lock any transactions that need to be processed by the integration.

Do not disable "Allow non G/L changes" in closed accounting periods.

Do not update bundles installed by the integration.

Stripe Administrator Best Practices

If you are opening up a new account that you'd like to use with the integration, contact support.

If you are using a new payment method for the first time (e.g. bank transfers), contact support.

Do not connect additional services to your Stripe account without contacting support. For instance, if you start doing events, do not connect your Stripe account to your event system. Instead, create a new Stripe account dedicated to processing event charges.

When to use Multiple Stripe Accounts

The integration supports connecting multiple Stripe accounts to the same NetSuite instance. Whether or not multiple Stripe accounts should be used depends on a number of factors. We are happy to talk through this decision during the onboarding process with you.

Here are general guidelines for when separate Stripe accounts should be used:

Each Stripe account should be tied to a different NetSuite subsidiary. If you are using multiple subsidiaries in NetSuite, each subsidiary must have it's own Stripe account (note that there are ways around this, but it is error-prone and not recommended).

The customer support or finance teams will not be given access to both Stripe accounts. If you'd like to segregate who has access to certain Stripe data, you'll need to separate the data out into separate Stripe accounts.

The integration configuration for each account is very different. For example, each account might be tied to a different department or use a different workflow (eCommerce vs subscription).

Revenue needs to be deposited in a different bank account depending on the site/app that it was purchased under.

Here's when multiple Stripe accounts should not be used:

The integration configuration is largely the same across both accounts. For example, they are both eCommerce accounts, both posting to the same department/class/subsidiary, etc.

The same customer service and finance teams will have access to both accounts. Having two Stripe accounts creates additional work and possible confusion for these teams.

Each day two deposits will be pushed to your bank account. This does not add additional reconciliation work (this is automated).

Note that Stripe considers separate Stripe accounts as a single account for volume pricing.

You'd like to have separate API keys for multiple sites or components of an application. This can be done by creating a Stripe Connect account and authorizing it against your primary Stripe account, essentially creating sub-accounts of a primary "master" Stripe account.

Saved payment method information should be shared between the various sites/applications using Stripe. Note that using a single Stripe account doesn't force you to share saved payment information, but gives you that option.

SuiteSync will need to be configured to use multiple Stripe accounts as well. Here are some considerations to keep in mind:

SuiteSync supports using one account per NetSuite subsidiary out of the box. However, if your business logic breaks that one-to-one mapping (or if you don't use NetSuite subsidiaries/OneWorld) then there will be customization on your end required. You'll need to implement business logic to "switch" which Stripe account is used in various systems.

In addition to your eCommerce application, here are the key systems that need to "know" which Stripe account to use:

If you are using a unique Stripe account per subsidiary, we support configuring these features for multi-subsidiary use. Search this document for "subsidiary" for examples of how this is done if you are going to be using a custom configuration.

Outside of the SuiteSync, here are some general technical considerations to keep in mind:

Fraud configuration across each account will need to be separately maintained and monitored

Any dispute/chargeback automation, or integration with other systems will be more complex. You'll need to listen for webhooks from multiple accounts and essentially build multi-tenant support into those systems.

Your eCommerce application will need to toggle between Stripe accounts, which it'll need to know which customer, payment, etc a given Stripe record is contained in and use the correct API key.