For users in different regions, terminology may vary. For example, "Tenancies" in Europe and the Asia-Pacific region are referred to as "Leases" in North America. For more details on regional differences, please see our Glossary of Regional Terminology.
What is Revenue Recognition?
Scenario: Managing Revenue for a 12-month Commercial Lease
Business Context
You manage a commercial property and have signed a 12-month lease agreement with a tenant starting on January 1st. The total rent for the year is $120,000, billed quarterly in advance ($30,000 every 3 months).
The Challenge
From an accounting perspective, even though you're invoicing $30,000 every quarter, you shouldn't recognize all of that revenue immediately. Instead, you need to recognize revenue gradually and proportionally, $10,000 per month, over the course of the lease.
Why Revenue Recognition Matters
Without automated revenue recognition, you or your finance team would need to manually calculate and journal the appropriate revenue amounts each month, which is time-consuming, error-prone, and non-compliant with some accounting standards.
With Revenue Recognition Enabled
- You create a Sales Order for the full 12-month lease in your system.
- The invoicing schedule is set to bill quarterly.
- Revenue recognition schedules are automatically generated, ensuring that revenue is recognized monthly in NetSuite, regardless of how or when the tenant is invoiced.
- This creates clean financials, and makes it easy to report on recognized vs deferred revenue.
Benefits
- Accurate Financial Reporting: Ensures recognized revenue reflects actual service delivery.
- Automation: Eliminates manual journal entries and reduces risk of human error.
- Compliance: Aligns with accounting standards
- Flexibility: Works with various billing schedules while recognizing revenue proportionally.
By following this guide, you can ensure precise accounting and streamlined automation in NetSuite.
Step-by-Step Setup
1. Enable Advanced Revenue Management (ARM) Features
- Navigate to Setup > Company > Enable Features.
- Under the Accounting tab, enable the following options; these features enable the tools for advanced revenue recognition.
- Advanced Revenue Management (Essentials)
- Advanced Revenue Management (Revenue Allocation)
- Click Save.
For the first time, Advanced Revenue Management Configuration Mode will be enabled. This allows you to set up ARM without running revenue recognition. However, once Configuration Mode is disabled, ARM features will be locked and can no longer be changed.
2. Configure Accounting Preferences
This sets system-wide rules for how NetSuite creates and manages revenue arrangements and plans.
- Go to Setup > Accounting > Accounting Preferences.
- Under Advanced Revenue Management Only, set the following preferences:
- Revenue Arrangement Update Frequency: Manual
- Revenue Plan Update Frequency: Manual
- Default Standard Revenue Recognition Rule: Default Standard
- Number of Short-Term Revenue Periods: 12
- Click Save.
3. Create a Revenue Recognition Rule
A Revenue Recognition Rule determines how revenue will be recognized (e.g., evenly over a period).
- Navigate to Lists > Accounting > Revenue Recognition Rules > New.
- Configure the rule with these settings:
- Name: Straight-Line Monthly
- Recognition Method: Straight-Line, by even periods
- Rev Rec Start/End Date Source: Revenue Element Start/End Date
- Click Save.
4. Set Up Revenue Recognition Items
Items are the products or services you sell. For this setup, we’ll create an item called "Rent."
- Go to Lists > Accounting > Items > New.
- Choose Service Item - For Sale.
- Fill in the following (view screenshots for reference):
-
Item Name/Number: Enter
Desired name
- Under Accounting Subtab:
- Deferred Revenue Account: Select Deferred Revenue
- Select a Tax Schedule
- Under Revenue Recognition / Amortization Subtab:
- Revenue Recognition Rule: Select the rule created in Step 3
- Allocation Type: Normal
- Rev Rec Forecast Rule: Default Standard / Same with Rev Rec Rule
- Create Revenue Plans On: Revenue Arrangement Creation
-
Item Name/Number: Enter
- Click Save.
5. Add Custom Fields for Start/End Dates
The custom fields are set to update Rev Rec Start Date and End Date of the Revenue Arrangement.
- Navigate to Customization > Forms > Transaction Forms.
- Edit the Sales Order Form you will be using: Like
Z - HM Sales Order Form
. - In Sublist Fields Subtab, click New Field button.
- Fill in the fields:
- Label: Enter
Start Date
(and another field forEnd Date
) - Type: Date
- Store Value: Checked
-
Applies To:
- Check Sale Item
- be sure to clear the Revenue Arrangement box for any custom field that should not be included in revenue arrangements.
- Label: Enter
- Click Save - Do this for both the start date and end date.
6. Map Custom Fields to Revenue Recognition
This maps the start date and end date custom fields to Revenue Arrangement and forecast start date and end date fields.
- Go to Setup > Accounting > Revenue Field Mapping > New.
- Fill in the fields:
- Source Record Type: Transaction Line
- Source Field: Start Date
- Target Field: Start Date
- Enable Automatically Update Target Field Value
- Click Save.
- Repeat for the following mapping in the table:
Source Record Type | Source Field | Target Field |
Transaction Line | Start Date (Line) | Start Date |
Transaction Line | Start Date (Line) | Forecast Start Date |
Transaction Line | End Date (Line) | End Date |
Transaction Line | End Date (Line) | Forecast End Date |
7. Create a Sales Order
The Sales Order serves as the contract for the tenancy, providing the start and end dates for revenue recognition.
- Navigate to Transactions > Sales > Enter Sales Orders > New.
- Fill in the fields:
- Customer: Select a customer
-
Item: Choose
Item created in Step 4
- Quantity: Enter the number of billing periods (e.g., 12 for 12 months)
- Price: Enter the monthly rent amount
-
Start Date and End Date: Populate these fields for the tenancy duration
- To avoid the 13-period issue:
- Adjust the start date to the 1st of the month, even if the service starts mid-month.
- Bill monthly as usual.
- Accept minor misalignment between rev rec and actual billing dates (this is often immaterial for auditors, if documented).
- To avoid the 13-period issue:
- Click Save.
8. Generate Revenue Arrangements
Once the Sales Order is saved, NetSuite can automatically create a Revenue Arrangement depending on the Accounting Preference set in Step 2. To do it manually,
- Navigate to Transactions > Financial > Update Revenue Arrangements and Revenue Recognition Plans.
- Set the filters if desired.
- Click Update Revenue Arrangements.
- Click Refresh until any revenue element and revenue arrangement processes display Complete in the Submission Status column.
- Click the Complete link to open a page with a link to the revenue arrangement or elements.
- NOTE: Sometimes the link to the Revenue Arrangement is not easy to locate among the processes listed. If you believe the update is already complete and the Revenue Arrangement has been created, you can instead navigate back to the original Sales Order (Transactions > Sales > Enter Sales Orders > List). View the Sales Order and under the History subtab, you should find a link to the associated Revenue Arrangement.
- Open the arrangement and review the details:
- Confirm the total amount matches the Sales Order.
- Check that the revenue schedule aligns with the tenancy start and end dates.
- If no arrangement appears:
- Check Step 1 to ensure ARM Configuration Mode is disabled.
9. Review Revenue Plans
The Revenue Plan breaks the arrangement into scheduled revenue. Revenue plans are the actual schedules that dictate when revenue is recognized.
- Open the Revenue Arrangement created in Step 8.
- Click Update Revenue Plans
- Click View Revenue Plans
- Verify the following:
- Revenue is allocated evenly across the tenancy duration.
- The dates match the start and end dates of the Sales Order.
10. Test with an Invoice
This confirms that revenue recognition is tied to the sales order, not the invoice.
- Navigate to Transactions > Sales > Invoice Sales Orders.
- Select the sales order customer from the dropdown
- With the Sales Order you created, click Invoice link to check the details before creating the invoice.
- Chose the quantity from the item line (the default quantity on the invoice is the total quantity from the sale order so if you only want to bill a single month, change the quantity to 1)
- Save the invoice
- Generate an invoice from the Sales Order
- If you return to the sales order, this invoice will be present under the History tab
- This invoice will now sync to Re-Leased
The user can check the Revenue Plan again to ensure it still follows the original schedule (even if the invoice is issued later).
11. Create Revenue Recognition Journal Entry
- Navigate to Transactions > Financial > Create Revenue Recognition Journal Entries (If this doesn’t show up in the menu, enter ‘Create Revenue Recognition Journal Entries’ in the search bar)
- Set the filters as needed:
- Posting Period: Select the accounting period for which you want to recognize revenue.
- Subsidiary: Choose the appropriate subsidiary you are using
- Transaction Type: Select Revenue Arrangement.
- Select Individual Schedule (optional): Use this if you want to create a journal entry for a specific revenue arrangement.
- Check (or click Mark All) to select the revenue arrangement records you want to generate journal entries for.
- Click Create Journal Entries.
- After the journal entries are created, they should appear in the Revenue Plan.
12. Monitor Revenue Recognition
- Navigate to Reports > Revenue > Revenue Recognition Forecast.
- Review the report to see how revenue will be recognized over time.
Creating a Revenue Recognition Invoice in Re-Leased
- To find the Sales Order ID (Created in Step 7), open the Sales Order in Netsuite
Transactions > Sales > Enter Sales Order > List - View the relevant sales order
- In the URL of the sales order, it will display the ID - There is work under way to use the Sales Order number instead (i.e. SLS00000656)
- When creating the rev rec invoice in Re-Leased, use this id in the Sales Order ID field of the invoice along with the Item created in Step 4
- When this invoice is saved and a sync is triggered, this invoice will now be present in the ‘History’ tab of the sales invoice