Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Developer tools
Get started
Payments
Finance automation
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Overview
Versioning
Changelog
Upgrade your API version
Upgrade your SDK version
Developer tools
SDKs
API
Testing
Workbench
Event Destinations
Workflows
Stripe CLI
Stripe Shell
Developers Dashboard
Agent toolkit
Stripe health alertsBuild with LLMsStripe for Visual Studio CodeFile uploads
Security
Security
Extend Stripe
Stripe Apps
Stripe Connectors
    Overview
    Integrate a connector
    Commercetools
    Adobe Commerce
    Mirakl
    NetSuite
      Accountant hub
      Developers hub
      Prepare for onboarding
      Deposit automation
      Invoice automation
        Configure taxes
        Customers in NetSuite
        Invoices in NetSuite
        Prices and coupons in NetSuite
        Customer balance in NetSuite
        Revenue recognition
        Credit notes and credit memos
      Invoice payment page
      Customer payment page
      Custom payment application
      Multiple subsidiaries
      Multiple currencies
      Troubleshooting
      Invoice payment link
    Oracle Opera
    Cegid
    PrestaShop
    Salesforce
    SAP
    Shopware 6
    Stripe Tax for WooCommerce
    Stripe Tax for BigCommerce
    Partner connectors
    Build your own connector
Partners
Partner ecosystem
Partner certification
HomeDeveloper toolsStripe ConnectorsNetSuiteInvoice automation

Revenue recognition

Learn about using the NetSuite revenue recognition engine with Stripe Billing.

Copy page

The Stripe Connector for NetSuite automatically syncs data from subscription invoices to NetSuite to enable revenue recognition calculation. The connector passes the start and end dates from the Stripe subscription periods to the NetSuite invoice lines.

Note

The connector supports NetSuite Advanced Revenue Management (ARM) only. NetSuite classic revenue recognition (also called legacy revenue recognition) and Stripe Revenue Recognition aren’t supported. If you don’t use NetSuite ARM, no action is needed from you.

How it works

  1. During onboarding, you specify a revenue recognition rule that the connector uses when it creates an item. You can set up this rule using a field mapping.
  2. When the connector creates an invoice from a Stripe subscription, it specifies a period start and end date. The connector copies these dates to the NetSuite invoice at the line item level.
  3. When the connector creates a full or partial refund for an invoice, the credit memo created against the invoice uses the same revenue recognition schedule as the invoice.
  4. At the end of each accounting period, you manually create a revenue recognition journal entry. When this occurs, revenue moves from the deferred revenue account to your earned income account.

Revenue date range

Stripe and NetSuite define the revenue date range differently. While Stripe defines the date range as up to but not including the end date, NetSuite defines the date range as up to and including the end date.

This means the last day of the revenue period in NetSuite is one day less than the corresponding end date of the revenue period in Stripe. The connector handles this difference to comply with the NetSuite date range definition by adding a day to the Stripe end date and using that value as the NetSuite end date.

Invoice and line item dates

Each line item on a Stripe invoice contains a period start and end date. These dates get copied to the NetSuite invoice line item’s Stripe start and end dates, by default. If you require another set of start and end date fields in NetSuite, you can create a script or workflow to copy the dates from the Stripe start and end dates.

Modified revenue recognition dates

When the connector creates a NetSuite transaction based on another transaction (for example, a credit memo created from an invoice), the revenue recognition schedule copies directly from the original transaction. Because this is a point-in-time copy, any subsequent changes to the revenue recognition schedule on the new transaction won’t reflect on the original source transaction. This applies even if a revenue recognition journal entry hasn’t generated for the original transaction.

For example, you have an invoice in your NetSuite account with a revenue recognition schedule of January 1 to June 1. If you create a credit memo for the invoice on February 15 and manually update the revenue recognition dates, the dates on the invoice won’t change.

Closed accounting periods and earned revenue

When using revenue recognition, open accounting periods affect how refund revenue for credit memos earn over time.

For example, if the September accounting period closes before you can create the credit memo, the September refund revenue moves to October. Two identical entries for October appear in the credit memos revenue recognition schedule.

You must create the revenue recognition journal entries before closing the period. If you don’t, the following occurs:

  • Refund revenue for credit memos created after the last journal entry for invoices with revenue earned in the closing period won’t be accounted for.
  • Revenue in the period about to close won’t move out of the deferred revenue account.
  • Revenue recognition looks like it’s attempting to book revenue for a month that’s already closed.

Coupons

Coupons appear as non-posting discount items. Instead of posting to an income account, these items bundle with the applicable NetSuite item. When calculating the revenue recognition impact for a product item in a NetSuite invoice, the non-posting discount amount subtracts from the total.

Refunds and credit memos

When the connector creates a full or partial refund for a Stripe subscription invoice, it also creates a credit memo and customer refund. The credit memo uses the same revenue recognition schedule as the invoice, regardless of the revenue already earned on the invoice.

For example, in September you created an invoice for 120 USD with a 12 month straight-line by accounting period revenue recognition schedule. The current date is October 15, and the September accounting period isn’t closed yet. The connector creates a credit memo for the total amount of the invoice created in September. The revenue recognition schedule for the credit memo is the same as the invoice schedule, despite different creation months. This means the credit memo contains a refund of 10 USD for September and 10 USD for October.

Credit memos created by customer balance

Credit memos represent the payments against an invoice by a customer balance. You can recognize the credit against the invoice because the credit memo copies the invoice’s revenue recognition schedule.

Manual revenue recognition

You can use the connector’s revenue recognition system without using NetSuite Advanced Revenue Management (ARM). The connector can import revenue recognition data (the revenue period for a specific line item) into NetSuite. Then you can set up manual or custom automated systems to recognize revenue.

Customize the deferred revenue account

You can customize the deferred revenue account using field mappings. For example, you might integrate the following, where the metadata value is the internal ID of the deferred revenue account:

service_sale_item: { "metadata.netsuite_deferred_revenue_account" : "deferred_revenue_account_id" }
Was this page helpful?
YesNo
Need help? Contact Support.
Join our early access program.
Check out our changelog.
Questions? Contact Sales.
LLM? Read llms.txt.
Powered by Markdoc