# Sync Stripe data to NetSuite

Learn how the connector syncs Stripe data to NetSuite.

> #### Use the Accounts v2 API to represent customers
> 
> The Accounts v2 API is generally available for Connect users, and in public preview for other Stripe users. If you’re part of the Accounts v2 preview, you need to specify a [preview version](https://docs.stripe.com/api-v2-overview.md#sdk-and-api-versioning) in your code.
> 
> To join the Accounts v2 preview, go to [Account previews and features](https://dashboard.stripe.com/settings/previews) in your Dashboard and enable **Reusable payment methods for Global Payouts**.
> 
> For most use cases, we recommend [modeling your customers as customer-configured Account objects](https://docs.stripe.com/accounts-v2/use-accounts-as-customers.md) instead of using [Customer](https://docs.stripe.com/api/customers.md) objects.

Use the Stripe Connector for NetSuite to sync your data from Stripe to NetSuite. The table below describes how the connector handles these [webhook events](https://docs.stripe.com/webhooks.md).

| Webhook event | NetSuite action |
| --- | --- |
| account.updated | None |
| account.application.deauthorized | None |
| account.external_account.created | None |
| account.external_account.deleted | None |
| account.external_account.updated | None |
| application_fee.created | None |
| application_fee.refunded | None |
| application_fee.refund.updated | None |
| balance.available | None |
| charge.captured | The connector creates a `CustomerPayment`. For charges associated with a Stripe invoice, the connector also creates a NetSuite invoice. If one doesn’t exist, the connector creates a `Customer`. |
| charge.failed | None. The connector only syncs successful payments. |
| charge.refunded | For charges associated with a Stripe invoice, the connector creates a `CreditMemo` for the invoice and a `CustomerRefund` for the credit memo. For charges that aren’t associated with a Stripe invoice, the connector creates a `CustomerRefund` for the `CustomerPayment`. |
| charge.succeeded | The connector creates a `CustomerPayment`. For charges associated with a Stripe invoice, the connector also creates a NetSuite invoice. If one doesn’t exist, the connector creates a `Customer`. |
| charge.updated | The connector creates a `CustomerPayment`. For charges associated with a Stripe invoice, the connector also creates a NetSuite invoice. If one doesn’t exist, the connector creates a `Customer`. |
| charge.dispute.closed | None. Disputed funds appear as a line item on the payout they’re included in. |
| charge.dispute.created | For disputes associated with a Stripe invoice, the connector creates a `CreditMemo` for the invoice and a `CustomerRefund` for the credit memo. For disputes that aren’t associated with a Stripe invoice, the connector creates a `CustomerRefund` for the `CustomerPayment`. |
| charge.dispute.funds_reinstated | None. Reinstated funds appear as a line item on the payout they’re included in. |
| charge.dispute.funds_withdrawn | For disputes associated with a Stripe invoice, the connector creates a `CreditMemo` for the invoice and a `CustomerRefund` for the credit memo. For disputes that aren’t associated with a Stripe invoice, the connector creates a `CustomerRefund` for the `CustomerPayment`. |
| charge.dispute.updated | The connector follows the logic for `charge.dispute.created` or `charge.dispute.funds_reinstated`, depending on the updates. |
| coupon.created | None. The connector only syncs coupons associated with an invoice and represents them as a NetSuite `DiscountItem`. |
| coupon.deleted | None. The connector doesn’t mark records as inactive nor delete any records in your NetSuite instance. |
| coupon.updated | None. The connector only syncs coupons associated with an invoice and represents them as a NetSuite `DiscountItem`. |
| customer.created | The connector does one of the following, depending on your settings:

- Creates a `Customer` in NetSuite
- Does nothing, if you enabled the global customer workflow setting
- Associates the customer with an existing NetSuite customer ID, if you enabled customer matching or created the customer with the `netsuite_customer_id` metadata key |
| customer.deleted | None. The connector doesn’t mark records as inactive nor delete any records in your NetSuite instance. |
| customer.updated | None |
| customer.discount.created | None |
| customer.discount.deleted | None |
| customer.discount.updated | None |
| customer.source.created | None. The connector doesn’t represent customer payment sources in NetSuite. |
| customer.source.deleted | None |
| customer.source.updated | None |
| customer.subscription.created | None. The connector doesn’t represent customer subscriptions in NetSuite. Instead, it syncs invoices created by customer subscriptions. |
| customer.subscription.deleted | None |
| customer.subscription.trial_will_end | None |
| customer.subscription.updated | None |
| invoice.created | None. The connector only syncs finalized invoices. |
| invoice.payment_succeeded | The connector creates the customer and invoice in NetSuite, and represents each Stripe `InvoiceItem` as a `ServiceSaleItem`. The connector applies a `CustomerPayment` to the created NetSuite invoice. |
| invoice.payment_failed | The connector creates the customer and invoice in NetSuite. The invoice remains open until it’s paid. |
| invoice.updated | The connector checks the invoice for updates that might affect the general ledger and updates NetSuite as needed. |
| invoice.item.created | None |
| invoice.item.deleted | None |
| invoice.item.updated | None |
| price.created | The connector does one of the following, depending on your settings:

- Creates a `ServiceSaleItem` in NetSuite

- Does nothing, if you enabled the global price workflow setting

- Associates the price with an existing NetSuite item ID, if you enabled price matching or created the price with one of the following metadata keys:

  - `netsuite_service_sale_item_id`
  - `netsuite_service_resale_item_id`
  - `netsuite_non_inventory_sale_item_id`
  - `netsuite_non_inventory_resale_item_id` |
| price.deleted | None. The connector doesn’t modify the item status to prevent creating issues with the business logic in your account. |
| price.updated | None |
| product.created | None. The connector doesn’t sync products, only their child prices. |
| product.updated | None |
| payout.created | The connector validates the payout’s underlying transactions, but doesn’t sync the payout. This includes connect payouts. |
| payout.failed | None. The connector ignores failed payouts. |
| payout.paid | The connector validates the payout’s underlying transactions, and creates deposits for successful payouts. |
| payout.reversed | None |
| payout.updated | The connector syncs the payout, if it hasn’t already synced successfully. |
