Standalone charges are payments in Stripe created without an invoice. If Stripe Subscriptions isn't being used or if you are using a 3rd party system that connects to Stripe (like Tito, Invoiced, Recurly, etc) standalone (i.e. one-time) payments are being created. In this case, Stripe only has information about the cash collected but does not have any details about the line items or revenue components of the Stripe charge.
If it's important to track multiple line items (for instance, if you have revenue and taxes to record for each payment), you'll need to create an invoice in NetSuite linked with the Stripe payment. You can do this using a CSV import or directly via the API.
However, if revenue reporting requirements are simple, the integration can create an invoice using the information on the charge.
- For each standalone charge in Stripe, a NetSuite invoice is created. The description of the charge is added to the memo of the invoice. Data from Stripe metadata fields can also be added to the invoice.
- A single line item is used on the invoice to represent the revenue earned by the entire Stripe charge. By default, the same NetSuite item is used for all standalone payments on the Stripe account.
- If you have multiple Stripe accounts, you can use a different NetSuite item for each account, which enables you to separate out these revenue streams in NetSuite reports.
- A different line item can be used if item/sku metadata is added to the Stripe payment (here's more information here).
- A payment is created and applied against the invoice. The payment is automatically reconciled to a bank deposit, fees are recorded, etc.
- Refunds and disputes are automatically represented with a credit memo and refund.
- Discounts, multiple lines items, etc are not supported when using this workflow. Take a read through the other invoice documentation for more information on how to handle more complex cases.
Here's a video walkthrough:
Here's an example of where this feature is helpful:
- You are using a tool like Tito (event management) or some other Stripe plugin and want to accurately record revenue and cash in NetSuite without any engineering work.
- You have a custom billing system which creates standalone charges instead of invoices in Stripe. Instead of making technical changes to your custom system, you want to use the simple data passed to Stripe to record revenue.
Custom NetSuite Items with Standalone Charges
All invoices generated from standalone charges use the same item in NetSuite by default. However, if standalone charges are used to purchase multiple types of products in your app, this becomes problematic because you'll want revenue for those different products to be recorded against unique items in NetSuite in order to have detailed reports in NetSuite on revenue by item, quantity of items sold, etc.
There are two ways to do this:
- A NetSuite item can be matched using a metadata field on the Stripe charge, or any standard field in Stripe (such as the
description). The metadata field is used to search for a NetSuite item whose "Display Name" (or any other field in NetSuite) matches the Stripe metadata field. If a match is not found a fallback item is used. The match is not case sensitive.
- When you create a Stripe charge, you can specify the internal ID of the item you'd like to use. Here's a full list of the item mappings available. From a technical perspective, this approach is not recommended since it tightly couples your application with NetSuite and is brittle if the NetSuite or application environment changes.
Here's an example:
- You create a Stripe charge and add the metadata
product_namewhich contains the name of an item in NetSuite.
- We use the
product_nameand search for an item in NetSuite which matches that name.
- If we find a match, that item is used in the invoice that we create.