How Stripe Products, Plans, and Pricing Levels Work With NetSuite

In Stripe, you can create different records that are linked to NetSuite items:

  • Pricing Plan (previously known as a "Plan"). This is associated or grouped within a product.
  • Coupons. Used to give discounts (percentage, flat amount, etc) on a invoice.
  • Invoice Items. These are one-time use line items for miscellaneous billing charges.
  • SKU. This is rarely used and associated with the orders system and not Stripe Billing

When SuiteSync encounters any of these Stripe records, we either:

  1. Create a new NetSuite item in NetSuite for the Stripe record
  2. Link the Stripe record to an existing NetSuite item (either by matching or a direct link)

The item configuration (account, deferred revenue, rev rec options, reporting, etc) is configured in NetSuite and is not managed by SuiteSync (more information below).

A couple details worth noting:

  • Stripe also allows you to create a "Product". This is a group of price plans and cannot be purchased directly, so it is not linked to a NetSuite item. Instead, you'll link the individual pricing levels grouped within the product.
  • Stripe Billing used to be called Stripe Subscriptions. If you see references to "subscriptions" here (or anywhere else on the internet!) it's probably a reference to Stripe Billing.

How Plans & Products are Represented in NetSuite

Products in Stripe are essentially records which organize groups of price levels. Each price level (a "plan") has a corresponding item in NetSuite, while products (a group of price plans) do not.

There are a couple of different ways SuiteSync can represent Stripe pricing plans in NetSuite:

  1. Multiple plans in Stripe can be connected to one item in NetSuite. In other words, Stripe plans can be grouped into a single NetSuite item. This approach keeps your item master clean and simple, but limits the amount of control you have over revenue reporting. Every single plan in Stripe can only post to a single revenue account in NetSuite and rev rec cannot be customized across different plans. For example, you may want use this approach if you are price testing in Stripe but do not want a new NetSuite item for each price test.
  2. Each plan in Stripe can correspond to a unique NetSuite item. This approach adds more entries to your item master, but gives you detailed reporting and control over rev rec, revenue accounts, etc for each Stripe plan.
  3. Define a custom mapping. You can provide us with a sheet of the mapping you'd like to use between Stripe and NetSuite. During the onboarding process, we can setup this custom mapping for you.

How Coupons (Discounts) Are Represented in NetSuite?

Stripe Coupons are supported. They are represented as NetSuite discount items. You can either create a unique discount item in NetSuite for each coupon in Stripe or use a single discount item (i.e. a "global discount item") for all coupons in Stripe (you can also develop a custom mapping). As with all Stripe records, you can map them directly to a particular item in NetSuite using metadata.

In Stripe, coupons are represented as a separate line item on the invoice. In NetSuite, there are two options for representing coupons:

  1. An additional line item on the invoice, just like Stripe.
  2. On the header level of the invoice, using the "Discount" drop-down in NetSuite.

We recommend using an additional line item on the invoice to represent discounts. If you have a low volume of discounts (10 or so), we recommend bringing over individual discounts; if you many discounts, we recommend grouping them into a single discount item in NetSuite.

Using coupons with revenue recognition

Coupons do not have a revenue period. If you are using revenue recognition, you'll want to use non-posting discounts. This causes the discount amount to be subtracted from the total revenue recognized for the item representing the subscription.

If there are multiple items on the invoice, non-posting discounts are not distributed over all items. The discount decreases the income booked to the item directly 'above' the discount item in the NetSuite item list. This is how NetSuite's non-posting discounts are designed and there's not a way to customize this behavior.

If you choose to use posting discount items, the revenue account used can be customized.

Changing the Account Used by a NetSuite Item

If SuiteSync creates an item in NetSuite, we use a default income account (and possibly some other default options) when creating the item. After the item is created, you can go ahead and edit the NetSuite item and change whatever configuration options you'd like.

For instance, if an item created by SuiteSync (or any other system) is not posting to the correct income account, you can edit the item in NetSuite to change the income (and/or deferred revenue) account used by the item. Unless the item contains a transaction in a closed accounting period, NetSuite allows you to modify the income account after the item is created.

How items affect GL impact in NetSuite is often very confusing. Here's a short video that helps make this more clear: