Overview & Prerequisites
Understanding ARM's role in ASC 606 / IFRS 15 compliance and what you need before implementation.
What is ARM?
NetSuite Advanced Revenue Management (ARM) is a module that automates the complex accounting requirements of ASC 606 (Revenue from Contracts with Customers) and IFRS 15. It handles the allocation of transaction prices across multiple performance obligations and automates revenue recognition timing.
Standard NetSuite amortization schedules work for simple scenarios (single deliverable, straight-line recognition). ARM is required when you have:
- Multiple deliverables requiring SSP allocation
- Bundled arrangements with discounts
- Complex recognition patterns (percentage-of-completion)
- Need for audit-ready allocation documentation
Prerequisites
| Prerequisite | Details | Owner |
|---|---|---|
| ARM License | Licensed separately from base NetSuite | Account Executive |
| Accounting Policy Memo | Document ASC 606 policy decisions | Controller / External Auditor |
| SSP Analysis | Historical data to support SSP methodology | Finance / Consultant |
| Product Catalog Review | Identify all products/services requiring ARM treatment | Finance / Sales Ops |
| GL Account Structure | Deferred revenue, unbilled AR accounts | Controller |
ASC 606 Policy Decisions
Before configuring ARM, document decisions on these key accounting policy questions:
- Principal vs. Agent: Are you the principal (gross revenue) or agent (net revenue) for each product/service?
- Distinct Performance Obligations: Which goods/services are distinct? Which are combined?
- SSP Hierarchy: What's your order of preference for SSP methods?
- Variable Consideration: How will you estimate discounts, rebates, returns?
- Over Time vs. Point in Time: Which performance obligations recognize over time?
- Measure of Progress: For over-time recognition, input method or output method?
- Contract Costs: Which costs to capitalize (sales commissions)?
- Practical Expedients: Which ASC 606 practical expedients will you elect?
Engage your external auditors early in the ARM implementation. They will need to sign off on your accounting policy memo and SSP methodology. Auditors often have strong opinions about SSP documentation requirements--better to know upfront than during the audit.
ARM Configuration
Enable ARM and configure foundational settings.
Enable ARM Feature
Check Advanced Revenue Management in the Revenue Recognition section. This enables:
- Revenue Element records
- Revenue Arrangement records
- Revenue Recognition Rules
- ARM-specific reports
ARM Preferences
| Preference | Options | Recommendation |
|---|---|---|
| Create Revenue Arrangements | Manually, On Save, On Approval | On Save for automation, Manual for control |
| Arrangement Grouping | By Transaction, By Contract | By Contract for multi-document deals |
| Revenue Plan Approval | None, Manager, Custom | Manager approval for oversight |
| Allocation Method | Relative SSP, Residual | Relative SSP (ASC 606 preferred) |
| Recognition Frequency | Daily, Monthly | Monthly for most; Daily for high-volume SaaS |
GL Account Setup
ARM requires specific GL accounts for proper revenue accounting:
ARM GL ACCOUNT STRUCTURE
===============================================================
BALANCE SHEET ACCOUNTS:
---------------------------------------------------------------
1200 Unbilled Receivables (Contract Asset)
- Revenue recognized before invoicing
2300 Deferred Revenue - Current (Contract Liability)
- Invoiced but not yet recognized (< 12 months)
2400 Deferred Revenue - Long Term (Contract Liability)
- Invoiced but not yet recognized (> 12 months)
INCOME STATEMENT ACCOUNTS:
---------------------------------------------------------------
4000 Revenue - Products
4100 Revenue - Software License
4200 Revenue - SaaS Subscription
4300 Revenue - Professional Services
4400 Revenue - Support & Maintenance
4500 Revenue - Training
RECOMMENDATION: Create separate deferred revenue accounts
for each revenue type to support disclosure requirements. Standalone Selling Price (SSP) Methodology
Establish defensible SSP for each performance obligation.
SSP Hierarchy
ASC 606 prescribes a hierarchy for determining SSP:
Observable Price Method
Best evidence of SSP--actual prices from standalone sales:
- Pull historical sales data for standalone transactions
- Analyze price distribution (median, mean, range)
- Consider customer segment, volume, geography adjustments
- Document data sources and analysis methodology
SSP ANALYSIS EXAMPLE: IMPLEMENTATION SERVICES =============================================================== DATA GATHERING: - Period: Last 24 months - Filter: Standalone implementation deals (no bundled software) - Sample size: 47 transactions ANALYSIS: +-------------------------------------------------------------+ | Transaction Count: 47 | | Total Revenue: $2,115,000 | | Average Deal Size: $45,000 | | | | Price Distribution: | | Minimum: $18,000 | | 25th Percentile: $32,000 | | Median: $42,500 | | 75th Percentile: $55,000 | | Maximum: $95,000 | | | | Standard Deviation: $18,200 | +-------------------------------------------------------------+ CONCLUSION: SSP for Implementation Services = $42,500 (median) Range: $32,000 - $55,000 (interquartile range) DOCUMENTATION: Saved Search #SS-2847, exported to Excel analysis file "SSP_Implementation_2025.xlsx"
Adjusted Market Assessment
When observable prices aren't available, use market data:
- Competitor pricing research
- Industry benchmarks and surveys
- Adjust for company-specific factors (brand, quality, features)
Expected Cost Plus Margin
Build up SSP from expected costs:
- Calculate expected costs to fulfill obligation
- Add appropriate margin based on company targets or industry norms
- Common for services and customization work
COST PLUS MARGIN EXAMPLE: TRAINING SERVICES =============================================================== COST BUILDUP (Per Training Day): --------------------------------------------------------------- Trainer Salary (fully loaded): $800/day Travel & Expenses (average): $400/day Materials & Facilities: $100/day --------------------------------------------------------------- Total Direct Cost: $1,300/day Target Margin: 35% Cost Plus Margin: $1,300 / (1 - 0.35) = $2,000/day SSP for Training = $2,000 per day
Residual Approach
Only when SSP is highly variable or uncertain:
- SSP = Total Transaction Price - Sum of other elements' SSP
- Strict criteria: Must demonstrate high variability
- Often used for software licenses with highly negotiated pricing
Auditors will request SSP documentation. Maintain:
- Data extraction queries (saved searches)
- Analysis spreadsheets with formulas visible
- Decision memo explaining methodology choices
- Annual update schedule and review evidence
SSP in NetSuite
Configure SSP at the Revenue Element level:
| SSP Source Field | Use When |
|---|---|
| List Price | Observable price = item's base price in NetSuite |
| Fair Value Price Level | Separate price level with SSP values |
| Custom Field | Store SSP in custom field on item record |
| Calculated | SuiteScript calculates SSP dynamically |
Revenue Elements
Configure how each product/service type is recognized.
Revenue Element Structure
Revenue Elements define the recognition rules for item types:
| Field | Purpose | Example Values |
|---|---|---|
| Name | Descriptive name | "SaaS Subscription - Annual" |
| Revenue Recognition Rule | How/when to recognize | Over Time - Straight Line |
| SSP Source | Where to get SSP value | Fair Value Price Level |
| Revenue Account | GL account for recognized revenue | 4200 - Revenue - SaaS |
| Deferred Revenue Account | GL account for deferred amounts | 2300 - Deferred Revenue |
| Recognition Period Source | Duration for over-time recognition | Custom Field, Fixed Period, Date Range |
Common Revenue Element Configurations
REVENUE ELEMENT EXAMPLES =============================================================== ELEMENT: Software License (Perpetual) --------------------------------------------------------------- Recognition Rule: Point in Time Trigger: Ship Date (or Delivery Date) SSP Source: Fair Value Price Level Revenue Account: 4100 - Software License Revenue Deferred Account: 2300 - Deferred Revenue ELEMENT: SaaS Subscription --------------------------------------------------------------- Recognition Rule: Over Time - Straight Line Recognition Period: Custom Field (Subscription Term) SSP Source: List Price Revenue Account: 4200 - SaaS Revenue Deferred Account: 2300 - Deferred Revenue - SaaS ELEMENT: Implementation Services --------------------------------------------------------------- Recognition Rule: Over Time - Percent Complete (Cost) Recognition Period: Project Dates SSP Source: Cost Plus Margin (35%) Revenue Account: 4300 - Professional Services Revenue Deferred Account: 2310 - Deferred Revenue - Services ELEMENT: Support & Maintenance --------------------------------------------------------------- Recognition Rule: Over Time - Straight Line Recognition Period: 12 months from Start Date SSP Source: 20% of Software License SSP Revenue Account: 4400 - Support Revenue Deferred Account: 2320 - Deferred Revenue - Support
Link Elements to Items
Associate Revenue Elements with NetSuite items:
- Open item record (Lists → Accounting → Items)
- Navigate to Accounting subtab
- Set Revenue Recognition Template field
- This links the item to a Revenue Element
Use CSV import or mass update to assign Revenue Elements to many items at once. Create saved searches to identify items missing revenue element assignments before go-live.
Revenue Arrangements
Understand how ARM groups and allocates transaction prices.
Arrangement Creation
Revenue Arrangements are created automatically from source transactions based on your ARM preferences:
| Source | When Arrangement is Created |
|---|---|
| Sales Order | On save or approval (per preference) |
| Invoice | If no linked SO, creates arrangement |
| Cash Sale | On save |
| Project | For project-based revenue (SuiteProjects) |
Arrangement Structure
REVENUE ARRANGEMENT ANATOMY
===============================================================
+-------------------------------------------------------------+
| REVENUE ARRANGEMENT HEADER |
|-------------------------------------------------------------|
| Arrangement ID: RA-00456 |
| Source: Sales Order SO-12345 |
| Customer: TechCorp Industries |
| Arrangement Date: 2025-03-01 |
| Total Value: $250,000 |
| Status: Pending Allocation |
+-------------------------------------------------------------+
|
v
+-------------------------------------------------------------+
| REVENUE ELEMENTS (Performance Obligations) |
|------------------+---------+---------+----------+------------|
| Element | Amount | SSP | Alloc % | Allocated |
|------------------+---------+---------+----------+------------|
| Software License |$150,000 |$180,000 | 56.25% | $140,625 |
| Implementation | $60,000 | $80,000 | 25.00% | $62,500 |
| Year 1 Support | $40,000 | $60,000 | 18.75% | $46,875 |
|------------------+---------+---------+----------+------------|
| TOTAL |$250,000 |$320,000 | 100% | $250,000 |
+------------------+---------+---------+----------+------------+
|
v
+-------------------------------------------------------------+
| REVENUE PLANS (Recognition Schedules) |
|-------------------------------------------------------------|
| Plan 1: Software License |
| Amount: $140,625 |
| Recognition: Point in Time (Ship Date: 2025-03-15) |
| |
| Plan 2: Implementation |
| Amount: $62,500 |
| Recognition: Over Time (Mar-Jun 2025, % Complete) |
| |
| Plan 3: Year 1 Support |
| Amount: $46,875 |
| Recognition: Over Time (12 months, Straight-Line) |
+-------------------------------------------------------------+ Allocation Calculation
ARM allocates the transaction price using relative SSP:
RELATIVE SSP ALLOCATION FORMULA =============================================================== Allocated Amount = Transaction Price x (Element SSP / Total SSP) EXAMPLE: --------------------------------------------------------------- Transaction Price: $250,000 Total SSP: $180,000 + $80,000 + $60,000 = $320,000 Software License Allocation: $250,000 x ($180,000 / $320,000) = $250,000 x 56.25% = $140,625 Implementation Allocation: $250,000 x ($80,000 / $320,000) = $250,000 x 25.00% = $62,500 Support Allocation: $250,000 x ($60,000 / $320,000) = $250,000 x 18.75% = $46,875 Total Allocated: $140,625 + $62,500 + $46,875 = $250,000
The discount ($70,000 in the example above) is allocated proportionally across all performance obligations. This is the default ASC 606 treatment unless you can demonstrate a discount relates to specific elements.
Recognition Processing
Generate revenue recognition journal entries.
Recognition Methods
Point in Time
Revenue recognized when control transfers:
- Ship Date: When goods ship (FOB shipping point)
- Delivery Date: When goods arrive (FOB destination)
- Acceptance Date: When customer formally accepts
- License Effective Date: When software license starts
Over Time - Straight Line
Equal recognition each period over service term:
STRAIGHT-LINE RECOGNITION EXAMPLE =============================================================== Total Amount: $120,000 Recognition Period: 12 months (Jan 1 - Dec 31) Monthly Recognition = $120,000 / 12 = $10,000 RECOGNITION SCHEDULE: --------------------------------------------------------------- Month | Recognized | Cumulative | Remaining Deferred ----------+------------+------------+-------------------- January | $10,000 | $10,000 | $110,000 February | $10,000 | $20,000 | $100,000 March | $10,000 | $30,000 | $90,000 ... | ... | ... | ... December | $10,000 | $120,000 | $0
Over Time - Percentage of Completion
Recognition based on progress measure:
| Method | Formula | Best For |
|---|---|---|
| Cost-to-Cost | Costs Incurred / Total Expected Costs | Implementation, consulting projects |
| Hours-to-Hours | Hours Worked / Total Expected Hours | Fixed-fee professional services |
| Units-Based | Units Delivered / Total Units | Deliverable-based projects |
| Milestone | Milestones Complete / Total Milestones | Phased implementations |
PERCENTAGE OF COMPLETION EXAMPLE (COST-TO-COST) =============================================================== Project: ERP Implementation Contract Value: $200,000 Estimated Total Cost: $120,000 Margin: 40% END OF MONTH 3 STATUS: --------------------------------------------------------------- Costs Incurred to Date: $45,000 % Complete: $45,000 / $120,000 = 37.5% Revenue to Recognize: $200,000 x 37.5% = $75,000 Previously Recognized: $50,000 This Period Recognition: $75,000 - $50,000 = $25,000 JOURNAL ENTRY: Dr: Unbilled Receivables $25,000 Cr: Revenue - Services $25,000
Running Recognition
- Select recognition period
- Choose arrangements to process (or all)
- Preview recognition amounts
- Generate journal entries
- Review and post journals
Run revenue recognition BEFORE period close. Revenue recognition journals cannot be posted to closed periods. Include in your month-end close checklist with buffer time for review.
Contract Modifications
Handle changes to existing contracts under ASC 606.
Modification Types
ASC 606 defines three modification scenarios:
| Scenario | Criteria | Treatment | ARM Handling |
|---|---|---|---|
| Separate Contract | New distinct goods/services at SSP | Account as new arrangement | Create new Revenue Arrangement |
| Termination & New | Remaining goods distinct from delivered | Close old, start new arrangement | End original, create new RA |
| Cumulative Catch-Up | Remaining goods NOT distinct | Update allocation, catch-up adjustment | Modify existing RA |
CONTRACT MODIFICATION EXAMPLES =============================================================== SCENARIO 1: SEPARATE CONTRACT --------------------------------------------------------------- Original: 100 SaaS seats @ $100/seat = $10,000/month Modification: Add 25 seats @ $100/seat (list price) Analysis: - Additional seats are distinct (customer can use them) - Price is at SSP ($100 = list price) Result: Account as separate contract ARM Action: New Revenue Arrangement for 25 seats SCENARIO 2: TERMINATION + NEW CONTRACT --------------------------------------------------------------- Original: 12-month implementation ($120K) Month 6: Scope change - completely different approach Analysis: - Remaining services (months 7-12) are distinct - New scope is different from original deliverables Result: Terminate old, start new contract ARM Action: - Close original RA (recognize $60K earned) - Create new RA for revised scope SCENARIO 3: CUMULATIVE CATCH-UP --------------------------------------------------------------- Original: Fixed-fee project ($200K over 10 months) Month 4: Change order adds $30K, extends to 12 months Analysis: - Additional work is NOT distinct from original - Project is one integrated deliverable Result: Cumulative catch-up adjustment ARM Action: - New total: $230K over 12 months - Recalculate % complete - Recognize catch-up in current period
Processing Modifications in ARM
- Create sales order amendment or change order
- ARM evaluates modification against criteria
- System prompts for modification type (or auto-determines)
- Generates appropriate revenue adjustment
- Updates Revenue Arrangement and plans
Modifications are where ARM implementations get complex. Document clear criteria for distinguishing the three scenarios. Train sales and finance teams on when modifications require approval. Build workflow that requires revenue accounting review for significant contract changes.
Variable Consideration
Handle pricing that may change based on future events.
Types of Variable Consideration
| Type | Example | Estimation Approach |
|---|---|---|
| Volume Discounts | 10% rebate if >$1M annual purchases | Expected value based on forecast |
| Performance Bonuses | $50K bonus for on-time delivery | Most likely amount if binary outcome |
| Penalties | $10K/week for late delivery | Expected value of penalty exposure |
| Returns | 30-day return policy | Historical return rates |
| Price Concessions | Expected future discounts | Historical concession patterns |
Estimation Methods
Expected Value
Probability-weighted sum of possible outcomes:
EXPECTED VALUE CALCULATION =============================================================== SCENARIO: Volume Rebate Program Customer commits to purchase, rebate tiers based on volume Possible Outcomes: --------------------------------------------------------------- Outcome | Revenue | Probability | Expected Value -----------------+----------+-------------+---------------- < $500K (0%) | $400,000 | 10% | $40,000 $500K-$750K (5%) | $570,000 | 30% | $171,000 $750K-$1M (7.5%) | $740,000 | 40% | $296,000 > $1M (10%) | $900,000 | 20% | $180,000 -----------------+----------+-------------+---------------- Expected Value: $687,000 Transaction Price = $687,000
Most Likely Amount
Single most probable outcome--use for binary outcomes:
MOST LIKELY AMOUNT CALCULATION =============================================================== SCENARIO: Performance Bonus $50,000 bonus for on-time project delivery Assessment: - Project is on track - 85% probability of achieving bonus - Binary outcome (either $50K or $0) Most Likely Amount: $50,000 (since >50% probability) Transaction Price includes: $50,000 bonus
The Constraint
Include variable consideration only to the extent a significant reversal is NOT highly probable:
Be more conservative (constrain more) when:
- Amount is highly sensitive to external factors
- Long time before uncertainty resolves
- Limited experience with similar contracts
- Wide range of possible outcomes
- Contract allows customer discretion
ARM Configuration for Variable Consideration
ARM handles variable consideration through:
- Estimated fields: Capture initial estimates on arrangements
- Reassessment triggers: Update estimates periodically
- Constraint application: Apply constraint percentage
- True-up processing: Adjust when uncertainty resolves
GL Accounting
Journal entries and account flows for ARM transactions.
Common Journal Entry Patterns
ARM GL FLOW PATTERNS =============================================================== PATTERN 1: INVOICE BEFORE RECOGNITION (Deferred Revenue) --------------------------------------------------------------- Invoice Customer: Dr: Accounts Receivable $120,000 Cr: Deferred Revenue $120,000 Monthly Recognition: Dr: Deferred Revenue $10,000 Cr: Revenue - SaaS $10,000 PATTERN 2: RECOGNITION BEFORE INVOICE (Unbilled AR) --------------------------------------------------------------- Recognize Revenue (% complete): Dr: Unbilled Receivables $25,000 Cr: Revenue - Services $25,000 Invoice Customer: Dr: Accounts Receivable $25,000 Cr: Unbilled Receivables $25,000 PATTERN 3: SIMULTANEOUS (Point in Time) --------------------------------------------------------------- Ship Product & Invoice: Dr: Accounts Receivable $50,000 Cr: Revenue - Products $50,000 PATTERN 4: ALLOCATION RECLASS --------------------------------------------------------------- When contract price < total SSP, recognize allocated amounts: Invoice at Contract Price: Dr: Accounts Receivable $250,000 Cr: Deferred Revenue - License $140,625 Cr: Deferred Revenue - Services $62,500 Cr: Deferred Revenue - Support $46,875
Account Reconciliation
Monthly reconciliation between ARM subledger and GL:
Reports & Disclosure
ARM reports for management and ASC 606 disclosure requirements.
Standard ARM Reports
| Report | Purpose | Audience |
|---|---|---|
| Revenue Arrangement Summary | Overview of all arrangements and status | Revenue accounting |
| Revenue Element Allocation | SSP and allocation detail by arrangement | Auditors |
| Deferred Revenue Rollforward | Opening → Additions → Recognition → Ending | Finance, auditors |
| Revenue Recognition Schedule | Future recognition by period | FP&A, management |
| Unbilled Receivables Aging | Contract assets by age | Finance, auditors |
| Revenue by Element Type | Revenue breakdown by performance obligation | Management, disclosure |
ASC 606 Disclosure Requirements
Public companies must disclose:
- Disaggregation of revenue: By product line, geography, timing (point vs. over time)
- Contract balances: Receivables, contract assets, contract liabilities with rollforward
- Performance obligations: Remaining obligations and expected timing
- Significant judgments: Timing of satisfaction, transaction price, allocation
- Contract costs: Capitalized costs and amortization
EXAMPLE DISCLOSURE: CONTRACT BALANCES
===============================================================
December 31, December 31,
2025 2024
----------- -----------
Accounts receivable $45,200,000 $38,500,000
Contract assets (unbilled) $8,300,000 $6,200,000
Contract liabilities (def rev)$32,100,000 $28,400,000
Revenue recognized during 2025 that was included in
contract liabilities at December 31, 2024: $24,800,000
Revenue recognized during 2025 from performance
obligations satisfied in prior periods: $1,200,000 Data Conversion
Migrate existing contracts to ARM at go-live.
Conversion Approaches
| Approach | Description | Pros / Cons |
|---|---|---|
| Full Retrospective | Restate all historical contracts as if ARM always existed | Complete data; very complex |
| Modified Retrospective | Apply to open contracts at transition; cumulative adjustment | Less work; most common choice |
| Prospective | Apply only to new contracts after go-live | Simplest; inconsistent treatment |
Conversion Steps (Modified Retrospective)
- Identify open contracts: Active arrangements with remaining performance obligations
- Gather historical data: Original terms, amounts, recognition to date
- Recompute allocations: Apply SSP methodology to each contract
- Calculate adjustment: Difference between old and new recognition
- Load conversion entries: Import Revenue Arrangements and plans
- Record cumulative adjustment: Adjust retained earnings at transition
CONVERSION EXAMPLE =============================================================== CONTRACT: Multi-year SaaS + Implementation Original Contract: $360,000 (3 years) Start Date: July 1, 2024 Go-Live Date: January 1, 2025 OLD METHOD (simple straight-line on total): --------------------------------------------------------------- Total: $360,000 over 36 months = $10,000/month Recognized (Jul-Dec 2024): $60,000 Deferred at 12/31/24: $300,000 NEW METHOD (ARM with allocation): --------------------------------------------------------------- Implementation (SSP $40,000) -> Recognized Jul-Sep 2024 SaaS (SSP $320,000 over 36 months) -> $8,889/month Proper Recognition (Jul-Dec 2024): Implementation: $40,000 (complete) SaaS: $8,889 x 6 = $53,333 Total: $93,333 CONVERSION ADJUSTMENT: --------------------------------------------------------------- Should have recognized: $93,333 Actually recognized: $60,000 Adjustment needed: $33,333 Entry at 1/1/2025: Dr: Deferred Revenue $33,333 Cr: Retained Earnings $33,333
ARM data conversion is time-intensive. Start gathering historical contract data 3-4 months before go-live. Engage auditors early to agree on transition approach and cumulative adjustment methodology.
Troubleshooting
Common ARM issues and solutions.
Common Issues
| Issue | Cause | Solution |
|---|---|---|
| Arrangement not created | Item missing Revenue Element assignment | Assign Revenue Element template to item |
| SSP shows $0 | SSP source field is empty | Populate SSP field or configure Fair Value price level |
| Recognition not posting | Revenue Plan not approved | Approve Revenue Plan; check approval workflow |
| GL out of balance | Recognition ran after period close | Reopen period or post to current period |
| Allocation changes unexpectedly | SSP values updated | SSP changes don't affect existing arrangements |
| Duplicate arrangements | Transaction edited after arrangement created | Void duplicate; review ARM preferences |
Validation Checks
Build these saved searches for ongoing monitoring:
- Items without Revenue Element assignment
- Revenue Elements with missing SSP
- Arrangements pending approval > 7 days
- Recognition journals pending posting
- Deferred revenue balance vs. ARM subledger
- Negative deferred revenue (over-recognition)
The #1 ARM support issue is "why didn't my arrangement get created?" Build a validation workflow that checks for Revenue Element assignments BEFORE orders are approved. A User Event script that blocks orders with items missing ARM setup prevents most support calls.
Back to Chapter
Return to Chapter 8.9: Advanced Revenue Management for implementation overview.
