Stripe & NetSuite Record References

The memo and external ID fields on NetSuite records is used to provide a reference to the Stripe record. The internal ID of Stripe-created NetSuite records are stored in the Stripe record metadata.


Where the NetSuite record ID is stored in Stripe

When a Stripe record is successfully translated to NetSuite, the created record's NetSuite internalId is saved on the Stripe record's metadata:

NetSuite Record Reference in Stripe

When Stripe record metadata is updated, a webhook is triggered enabling you to easily be notified when a NetSuite translation is complete. Also, you can programmatically verify that a translation is complete.

The internal ID can get be used to retrieve the record using the SuiteTalk NetSuite API, or create a URL referencing the transaction in the NetSuite GUI:

https://system.netsuite.com/app/accounting/transactions/transaction.nl?id=147797

Where the Stripe ID is stored in NetSuite

The following NetSuite records's memo field contain the corresponding Stripe record's ID with the prefix Stripe:. This makes it easy to identify which Stripe record a NetSuite record corresponds to.

  • CreditMemo
  • Invoice
  • Deposit
  • Customer
  • CustomerPayment
  • Dispute

On customers, the field comments is used as the memo field does not exist. On items (NetSuite Discount Item, Service for Sale Item, etc) the Stripe ID is included in the item ID and display name fields.

Additional information added to memos

In some cases, additional information is stored in a NetSuite record's memo:

  • If a transaction date is modified in order to ensure the record is successfully translated, the original transaction date is indicated in the memo.
  • The charge description is added to the Customer Payment's memo if the charge is not associated with an invoice or order.
  • If a invoice increases a customer's available balance, this is indicated on the NetSuite invoice.
  • If a credit memo represents a invoice payment from a customer's balance, this is indicated on the credit memo.

How NetSuite external IDs are used

The external ID of every Stripe-created NetSuite record is set to the ID of the corresponding Stripe record. This enables you to easily retrieve a record from NetSuite using a Stripe record's ID.

There are a couple of exceptions where the external ID is prefixed:

  • Credit Memos. The external ID is prefixed with ns_memo:. For example, if the refund ID is re_abcd the Credit Memo external ID is ns_memo:re_abcd.
  • Discount Items for Plans. The external ID is prefixed with the ID of the plan the discount is applied to.

If you have other integrations you are using in your NetSuite instance, it is important to ensure that external IDs that Stripe sets on records are not overwritten.