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 in your code.
To join the Accounts v2 preview, go to Account previews and features 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 instead of using Customer 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.
| 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. |
