GL Design & Segmentation
Strategic framework for designing a Chart of Accounts and segmentation structure that supports financial reporting, operational analysis, and future growth.
Understanding NetSuite's GL Architecture
NetSuite's GL architecture combines a traditional Chart of Accounts with dimensional segmentation. Unlike legacy systems that embed all classifications in the account number itself, NetSuite separates the "what" (account) from the "who/where/why" (segments).
The Account + Segment Model
Traditional GL (Embedded): 4100-01-NYC-MFG
â â â âââ Department
â â âââââââ Location
â âââââââââââ Division
ââââââââââââââââ Account
NetSuite GL (Dimensional):
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Account: 4100 - Product Revenue â
â + Subsidiary: US Operations â
â + Department: Sales â
â + Class: Hardware â
â + Location: New York â
â + Custom Segment: Region = Northeast â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Result: Single account, infinitely sliceable by any dimension
No account explosion, simpler maintenance Benefits of Dimensional Segmentation
| Benefit | Description | Example |
|---|---|---|
| Reduced Account Count | Fewer accounts to maintain | 1 revenue account vs 50 per product line |
| Flexible Reporting | Slice data any way needed | P&L by department, by class, or both |
| Future-Proof | Add new dimensions without COA changes | New location = new segment value, not new accounts |
| Consistent Entry | Users select segments on transactions | Dropdown selection vs memorizing account numbers |
NetSuite's Standard Segments
NetSuite provides four standard classification segments, each with specific characteristics and use cases.
Subsidiary (OneWorld)
| Characteristic | Description |
|---|---|
| Purpose | Legal entity identification |
| Hierarchy | Parent-child for consolidation |
| Currency | Base currency per subsidiary |
| Required | Always required on transactions |
| Typical Use | Legal entities, business units for statutory reporting |
Department
| Characteristic | Description |
|---|---|
| Purpose | Organizational unit classification |
| Hierarchy | Supports parent-child nesting |
| Restrictions | Can be restricted to subsidiaries |
| Typical Use | Cost centers, organizational units, functional areas |
Class
| Characteristic | Description |
|---|---|
| Purpose | Business categorization |
| Hierarchy | Supports parent-child nesting |
| Flexibility | Most flexible segment |
| Typical Use | Product lines, business lines, service types, projects |
Location
| Characteristic | Description |
|---|---|
| Purpose | Physical or logical location |
| Inventory Link | Tied to inventory tracking |
| Required | Required for inventory transactions |
| Typical Use | Warehouses, stores, offices, regions |
Custom Segments
When four standard segments aren't enough, NetSuite supports custom segments for additional classification dimensions.
Custom Segment Types
| Type | Values Source | Use Case |
|---|---|---|
| Custom List | Static list of values | Region, Channel, Brand |
| Custom Record | Custom record instances | Projects, Grants, Contracts |
| Standard Record | Existing NetSuite records | Customer, Employee, Item |
Creating Custom Segments
Key Configuration: âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â Label: Region â â ID: _region (system prefixes with cseg) â â Record Type: Custom List â â Description: Geographic region for sales analysis â â â â Filtering: â â â Filter By: Subsidiary â â â Filter By: Location â â â â Apply To: â â â GL Impact Transactions â â â Non-GL Transactions (quotes, opportunities) â â â â Reporting: â â â Show in Financial Statements â â â Include in Saved Searches â âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Segmentation Design Principles
1. Start with Reporting Requirements
Design segments based on how management needs to view financial data:
- What dimensions do executives need for decision-making?
- What statutory/regulatory reports are required?
- What operational metrics need tracking?
- What budget structures exist?
2. Assign Purpose to Each Segment
Recommended Segment Assignment: Subsidiary â Legal Entity "Who is the legal party to this transaction?" Example: US Inc., UK Ltd., Canada Corp. Department â Cost Center / Organizational Unit "Who is responsible for this cost/revenue?" Example: Sales, Marketing, Engineering, Finance Class â Product Line / Service Line "What product or service is this related to?" Example: Hardware, Software, Services, Support Location â Physical/Operational Location "Where did this transaction occur?" Example: NYC Warehouse, London Office, Online Custom Segment â Any Other Dimension "What else do we need to track?" Example: Region, Channel, Project, Grant
3. Design for Hierarchy
Department Hierarchy Example:
Department
âââ Operations
â âââ Manufacturing
â â âââ Assembly
â â âââ Quality Control
â âââ Warehouse
â âââ Receiving
â âââ Shipping
âââ Sales
â âââ Direct Sales
â â âââ Enterprise
â â âââ SMB
â âââ Channel Sales
âââ G&A
âââ Finance
âââ HR
âââ IT
Benefit: Report at any level (Operations total, or drill to Assembly) Segment Application on Transactions
Header vs Line Level
| Level | When Used | Example |
|---|---|---|
| Header Only | All lines share same segment | Single-department purchase order |
| Line Level | Lines can have different segments | Sales order with items for different classes |
| Header Default to Line | Header sets default, lines can override | Most flexible approach |
Making Segments Required
Path: Setup > Accounting > Accounting Preferences
Configuration Options:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Department: â
â â Mandatory on all transactions â
â â Mandatory on specific transactions only â
â â Optional â
â â
â Class: â
â â Mandatory on all transactions â
â â Mandatory on specific transactions only â
â â Check: Invoice, Bill, Journal Entry â
â â Optional â
â â
â Location: â
â Follows inventory settings (mandatory for inventory items) â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Tip: Start optional during implementation, make mandatory at go-live
after users are trained. Default Segment Values
NetSuite can default segment values from multiple sources:
| Source | Priority | Example |
|---|---|---|
| Item Record | Highest for item lines | Item "Widget" defaults Class = Hardware |
| Entity Record | High | Customer defaults Department = Channel Sales |
| Employee/User | Medium | User's default department |
| Transaction Form | Lower | Form template defaults |
| Preference | Lowest | Company-wide defaults |
Common Segmentation Patterns by Industry
Manufacturing
Subsidiary: Legal entities Department: Production, Quality, Engineering, Sales, G&A Class: Product family (Widgets, Gadgets, Components) Location: Plants, Distribution centers Custom: Production Line, Shift
Software/SaaS
Subsidiary: Legal entities Department: R&D, Sales, Customer Success, G&A Class: Product (Platform, Add-ons, Services) Location: Office locations (often minimal) Custom: ARR Segment, Customer Tier
Professional Services
Subsidiary: Legal entities, Practice groups Department: Service line (Consulting, Audit, Tax) Class: Industry vertical (Healthcare, Tech, Financial) Location: Office locations Custom: Project, Engagement Partner
Nonprofit
Subsidiary: Legal entities, Chapters Department: Programs, Fundraising, G&A Class: Program/Fund (restricted vs unrestricted) Location: Service locations Custom: Grant, Campaign, Donor restriction
Segmentation Design Checklist
Chart of Accounts
Account types, numbering conventions, hierarchies, and best practices for COA design in NetSuite.
NetSuite Account Types
NetSuite provides predefined account types that control behavior on financial statements and transactions.
Balance Sheet Accounts
| Type | Normal Balance | Financial Statement | Examples |
|---|---|---|---|
| Bank | Debit | Assets (Current) | Operating Checking, Payroll Account |
| Accounts Receivable | Debit | Assets (Current) | Trade AR (system-controlled) |
| Other Current Asset | Debit | Assets (Current) | Prepaid Expenses, Deposits |
| Fixed Asset | Debit | Assets (Non-Current) | Equipment, Vehicles, Buildings |
| Accumulated Depreciation | Credit | Assets (Contra) | Accum Depr - Equipment |
| Accounts Payable | Credit | Liabilities (Current) | Trade AP (system-controlled) |
| Credit Card | Credit | Liabilities (Current) | Corporate Amex, Visa |
| Other Current Liability | Credit | Liabilities (Current) | Accrued Expenses, Sales Tax Payable |
| Long Term Liability | Credit | Liabilities (Non-Current) | Notes Payable, Mortgage |
| Equity | Credit | Equity | Common Stock, Retained Earnings |
Income Statement Accounts
| Type | Normal Balance | Financial Statement | Examples |
|---|---|---|---|
| Income | Credit | Revenue | Product Sales, Service Revenue |
| Other Income | Credit | Other Income | Interest Income, Gain on Sale |
| Cost of Goods Sold | Debit | COGS | Product COGS, Direct Labor |
| Expense | Debit | Operating Expenses | Rent, Utilities, Salaries |
| Other Expense | Debit | Other Expenses | Interest Expense, Loss on Disposal |
Account Numbering Best Practices
Standard Numbering Scheme
Common 4-5 Digit Numbering: 1XXX - Assets 1000-1099: Cash & Bank 1100-1199: Accounts Receivable 1200-1299: Other Current Assets 1300-1499: Fixed Assets 1500-1999: Other Assets 2XXX - Liabilities 2000-2099: Accounts Payable 2100-2299: Other Current Liabilities 2300-2999: Long Term Liabilities 3XXX - Equity 3000-3099: Capital Stock 3100-3199: Retained Earnings 3200-3999: Other Equity 4XXX - Revenue 4000-4099: Product Revenue 4100-4199: Service Revenue 4200-4999: Other Revenue 5XXX - Cost of Goods Sold 5000-5099: Product COGS 5100-5199: Direct Labor 5200-5999: Other Direct Costs 6XXX-8XXX - Operating Expenses 6000-6999: Selling Expenses 7000-7999: G&A Expenses 8000-8999: Other Operating 9XXX - Other Income/Expense 9000-9099: Interest Income/Expense 9100-9199: Gains/Losses 9200-9999: Tax/Extraordinary
Account Hierarchies (Parent/Child)
NetSuite supports account hierarchies for roll-up reporting. Parent accounts are "header" accounts that sum their children.
Hierarchy Example
Account Hierarchy: 1000 - Cash and Cash Equivalents (Header - no posting) âââ 1010 - Operating Checking (Posting) âââ 1020 - Payroll Checking (Posting) âââ 1030 - Money Market (Posting) âââ 1040 - Petty Cash (Posting) 6000 - Salaries and Wages (Header - no posting) âââ 6010 - Salaries - Exempt (Posting) âââ 6020 - Wages - Non-Exempt (Posting) âââ 6030 - Bonuses (Posting) âââ 6040 - Commissions (Posting) âââ 6050 - Overtime (Posting) Reporting Impact: Balance Sheet shows "1000 - Cash and Cash Equivalents: $500,000" Drill-down shows individual account balances
Subsidiary Account Restrictions (OneWorld)
In OneWorld, accounts are shared across all subsidiaries by default. You can restrict accounts to specific subsidiaries.
Restriction Scenarios
| Scenario | Configuration | Example |
|---|---|---|
| Shared Account | Available to all subsidiaries | 4000 - Product Revenue (all subs) |
| Restricted Account | Limited to specific subsidiary(ies) | 6250 - UK VAT Expense (UK only) |
| Elimination Account | Used only for consolidation | 3800 - Elimination (Parent only) |
Path: Lists > Accounting > Accounts > Edit Subsidiary Restrictions: âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â Available To: â â â Parent Company â â â US Operations â â â UK Operations (restricted - has local equivalent) â â â Canada Operations â â â â Note: Unchecked subsidiaries cannot post to this account â âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Special Purpose Accounts
System-Controlled Accounts
Some accounts are managed by NetSuite and require special setup:
| Account | Purpose | Configuration |
|---|---|---|
| Accounts Receivable | Customer balances from invoices | One AR account required; can have multiple for different transaction types |
| Accounts Payable | Vendor balances from bills | One AP account required; can have multiple |
| Retained Earnings | Year-end close accumulation | Must exist in COA; system posts at year-end close |
| Undeposited Funds | Payments received, not yet deposited | Used when grouping payments into deposits |
| Currency Rounding | FX rounding differences | Auto-created for multi-currency |
Inventory Accounts
Items with inventory tracking require linked GL accounts:
Item â Accounting Tab Accounts: Asset Account: 1300 - Inventory Asset Debited: When inventory received (PO receipt, production completion) Credited: When inventory sold (invoice, consumption) COGS Account: 5000 - Cost of Goods Sold Debited: When inventory sold Credited: (offset to Asset above) Income Account: 4000 - Product Revenue Credited: When inventory sold (invoice) Debited: (offset to AR) Expense Account: (for non-inventory items) Debited: When purchased
COA Design Checklist
GL Impact by Transaction
Understanding how each transaction type affects the General Ledger.
Sales Cycle GL Impact
Invoice
Transaction: Invoice for $1,000 product sale + $80 tax ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â DR: Accounts Receivable $1,080 â â CR: Product Revenue $1,000 â â CR: Sales Tax Payable $80 â â â â If inventory item: â â DR: Cost of Goods Sold $600 â â CR: Inventory $600 â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Customer Payment
Transaction: Payment received $1,080 ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â DR: Undeposited Funds $1,080 â â CR: Accounts Receivable $1,080 â â â â After Bank Deposit: â â DR: Bank Account $1,080 â â CR: Undeposited Funds $1,080 â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Purchase Cycle GL Impact
Vendor Bill
Transaction: Bill for $500 office supplies ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â DR: Office Supplies Expense $500 â â CR: Accounts Payable $500 â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Bill Payment
Transaction: Pay vendor $500 ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â DR: Accounts Payable $500 â â CR: Bank Account $500 â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Inventory Transactions
Inventory Adjustment (Increase)
Inventory Adjustment - Increase ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â DR: Inventory Asset $500.00 â â CR: Inventory Adjustment Account $500.00 â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Inventory Adjustment (Decrease)
Inventory Adjustment - Decrease ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â DR: Inventory Adjustment Account $500.00 â â CR: Inventory Asset $500.00 â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Transfer Order (Between Locations)
Transfer Order - Item Fulfillment ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â DR: Inventory In Transit $1,000.00 â â CR: Inventory Asset (Source) $1,000.00 â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ Transfer Order - Item Receipt ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â DR: Inventory Asset (Dest) $1,000.00 â â CR: Inventory In Transit $1,000.00 â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Manufacturing Transactions
Assembly Build (Non-WIP)
Assembly Build ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â DR: Finished Goods Inventory $1,200.00 â â CR: Raw Materials Inventory $1,200.00 â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Work Order Issue (WIP)
Work Order Issue - Material Consumption ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â DR: WIP - Components $800.00 â â CR: Raw Materials Inventory $800.00 â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Work Order Completion (WIP)
Work Order Completion ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â DR: Finished Goods Inventory $1,200.00 â â CR: WIP - Assemblies $1,200.00 â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Work Order Close (WIP)
Work Order Close - With Variance ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â DR: WIP - Assemblies (to clear) $1,200.00 â â CR: WIP - Components (to clear) $800.00 â â CR: WIP Variance $400.00 â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Banking Transactions
Check
Check - Direct Expense ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â DR: Expense Account $500.00 â â CR: Bank Account $500.00 â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Transfer
Bank Transfer ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â DR: Bank Account (To) $10,000.00 â â CR: Bank Account (From) $10,000.00 â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
GL Impact Summary Table
| Transaction | Primary Debit | Primary Credit |
|---|---|---|
| Invoice | Accounts Receivable, COGS | Revenue, Inventory |
| Customer Payment | Bank / Undeposited Funds | Accounts Receivable |
| Credit Memo | Revenue (contra) | Accounts Receivable |
| Vendor Bill | Expense / Inventory | Accounts Payable |
| Bill Payment | Accounts Payable | Bank |
| Vendor Credit | Accounts Payable | Expense / Inventory |
| Journal Entry | Per entry lines | Per entry lines |
| Inventory Adjustment (+) | Inventory Asset | Adjustment Account |
| Inventory Adjustment (-) | Adjustment Account | Inventory Asset |
| Assembly Build | Finished Goods | Components |
Journal Entries
Creating and managing manual journal entries in NetSuite.
Journal Entry Types
| Type | Use Case | Access Path |
|---|---|---|
| Journal Entry | Standard manual entries | |
| Intercompany JE | Cross-subsidiary entries | |
| Statistical JE | Non-monetary tracking | Requires Statistical Accounts feature |
| Advanced Intercompany JE | Multi-subsidiary with auto-elimination | Requires AIJE feature |
Common Journal Entry Scenarios
Accrued Expense (Month End)
Accrue Unbilled Services - Dec 31 ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â DR: Professional Services Expense $5,000.00 â â CR: Accrued Expenses $5,000.00 â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ Reverse Accrual - Jan 1 ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â DR: Accrued Expenses $5,000.00 â â CR: Professional Services Expense $5,000.00 â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Prepaid Expense Amortization
Monthly Insurance Amortization ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â DR: Insurance Expense $1,000.00 â â CR: Prepaid Insurance $1,000.00 â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Reclassification
Reclass Expense to Correct Department ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â DR: Travel Expense (Marketing Dept) $500.00 â â CR: Travel Expense (Sales Dept) $500.00 â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Opening Balances
Load Opening Balance Sheet ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â DR: Cash $100,000.00 â â DR: Accounts Receivable $50,000.00 â â DR: Inventory $75,000.00 â â CR: Accounts Payable $30,000.00 â â CR: Retained Earnings $195,000.00 â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Journal Entry Best Practices
Documentation Standards
- Memo field: Always describe the purpose (e.g., "Dec 2024 rent accrual")
- Line memos: Detail each line if multiple purposes
- Attachments: Attach supporting documentation
- Name field: Link to customer/vendor if applicable
Approval Workflows
Journal Entry Approval Workflow: Criteria: - Amount > $10,000 OR - Contains specific accounts (intercompany, equity) Routing: Level 1: Controller (all JEs meeting criteria) Level 2: CFO (if amount > $100,000) Actions: - Approved: JE posts to GL - Rejected: Returns to creator with comments - Pending Approval: Does not post
Reversing Entries
- Check "Reversing" box on accrual entries
- System auto-creates reversal on first day of next period
- Use for: Month-end accruals, prepaid allocations
- Do NOT use for: Reclassifications, corrections
Multi-Book Accounting
Maintaining multiple sets of books for different accounting standards (GAAP, IFRS, statutory) in a single NetSuite account.
Multi-Book Overview
Multi-Book Accounting allows maintaining separate general ledgers with different accounting treatments while sharing a common transactional backbone.
Primary vs Secondary Books
| Characteristic | Primary Book | Secondary Book(s) |
|---|---|---|
| Purpose | Main operational book | Alternative accounting standards |
| Currency | Subsidiary base currency | Can differ from primary |
| Transactions | All transactions post | Automatic or adjustment-only |
| Example | US GAAP book (USD) | IFRS book, Local statutory (EUR) |
Common Multi-Book Scenarios
- GAAP + IFRS: Different revenue recognition, lease accounting
- GAAP + Tax: Book vs tax depreciation differences
- GAAP + Local Statutory: Country-specific requirements
- Management + Statutory: Internal vs external reporting
Configuring Multi-Book
Enabling Multi-Book
Prerequisites: - Cannot be disabled after enabling - Existing data becomes primary book - Plan secondary books before enabling
Creating Secondary Books
Configuration: âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â Name: IFRS Book â â Currency: EUR â â Status: Active â â â â Book Settings: â â â Automated (transactions post automatically) â â â Manual (adjustments only) â â â â Accounting Method: Accrual â â â â Subsidiaries: (select which subsidiaries use this book) â â â Parent Company â â â UK Operations â â â Germany GmbH â âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Book-Specific Account Mapping
When accounting treatment differs between books, map different accounts:
Example: Revenue Recognition Difference
Transaction: Software License Sale $100,000
2-year term, paid upfront
Primary Book (GAAP - ASC 606):
Dr: AR $100,000
Cr: Deferred Revenue $100,000
(then recognize $4,167/month over 24 months)
Secondary Book (Cash Basis):
Dr: Cash $100,000
Cr: Revenue $100,000
(recognize immediately when paid)
Configuration:
Item record â Accounting tab â Book-specific accounts
Or use adjustment journal entries for secondary book Book-Specific Adjustments
When automatic posting isn't sufficient, use book-specific journal entries.
Creating Book-Specific Journal Entry
Standard JE posts to: All books (unless overridden) Book-Specific Adjustment: âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â Journal Entry â â Accounting Book: IFRS Book (dropdown) â â â â Lines: â â Dr: Depreciation Expense - IFRS $5,000 â â Cr: Accumulated Depreciation $5,000 â â â â Note: This entry ONLY posts to IFRS book â â Primary book is unaffected â âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Common Book Differences
| Topic | GAAP Treatment | IFRS Treatment |
|---|---|---|
| Revenue Recognition | ASC 606 | IFRS 15 (similar but differences exist) |
| Leases | ASC 842 | IFRS 16 (no operating lease for lessees) |
| Inventory | LIFO allowed | LIFO prohibited |
| Development Costs | Generally expensed | Capitalized if criteria met |
| Fixed Assets | Cost model | Cost or revaluation model |
Reporting Across Books
Financial Reports by Book
Path: Reports â Financial â Balance Sheet Report Settings: Accounting Book: [Select primary or secondary] Subsidiary: [Select] As Of Date: [Date] Each book produces separate financial statements Drill-down shows book-specific transactions
Book Comparison Report
Use saved searches to compare balances across books:
Saved Search: Book Comparison Type: Transaction Criteria: - Account: [specific accounts] - Date: [period] Results: Account | Primary Book | IFRS Book | Difference --------|--------------|-----------|------------ Revenue | $500,000 | $480,000 | $20,000 Deferred| $50,000 | $70,000 | -$20,000
Currency & Revaluation
Multi-currency transactions, exchange rate management, and period-end revaluation processes.
Multi-Currency Fundamentals
Currency Types in NetSuite
| Type | Definition | Example |
|---|---|---|
| Base Currency | Subsidiary's primary currency | USD for US subsidiary |
| Transaction Currency | Currency used on transaction | EUR invoice to French customer |
| Reporting Currency | Additional currencies for reports | GBP for UK stakeholder reporting |
Exchange Rate Types
| Rate Type | Purpose | When Used |
|---|---|---|
| Current | Default transaction rate | Daily transactions |
| Average | Period average rate | Income statement translation |
| Historical | Rate at original transaction | Equity translation |
| Consolidation | Parent company restatement | Consolidation reporting |
Foreign Currency Transactions
Transaction Recording
Payment with Gain/Loss
Realized vs Unrealized Gains/Losses
| Type | When Recognized | Account |
|---|---|---|
| Realized | Settlement (payment/receipt) | Realized Gain/Loss |
| Unrealized | Revaluation (open balances) | Unrealized Gain/Loss |
Currency Revaluation
Revaluation adjusts open foreign currency balances to current exchange rates at period end.
Running Revaluation
Steps: 1. Select subsidiary 2. Set "As Of" date (period end) 3. Choose accounts to revalue: - Bank accounts (foreign currency) - AR accounts - AP accounts - Other balance sheet accounts 4. Review preview 5. Post revaluation Result: Journal entry created for unrealized gain/loss
Revaluation Example
Exchange Rate Management
Automatic Rate Updates
Options: 1. Manual entry (Lists â Accounting â Currency Exchange Rates) 2. Scheduled auto-update (daily/weekly) 3. Third-party integration (XE, OANDA via SuiteApp) Rate Providers: - ECB (European Central Bank) - free, delayed - XE - real-time, subscription required - Custom feed via SuiteScript
Rate Override on Transactions
Users can override exchange rates on individual transactions when needed:
- Click "Currency" button on transaction
- Enter custom rate
- Rate locks to transaction regardless of future rate changes
Consolidation
Consolidating multiple subsidiaries, elimination entries, and intercompany balancing in OneWorld.
OneWorld Consolidation
NetSuite OneWorld automatically consolidates subsidiary financials up the hierarchy. Key processes include currency translation and intercompany eliminations.
Subsidiary Hierarchy
Example Hierarchy: Global Holdings (Parent - USD) âââ US Operations (Child - USD) â âââ US East (Grandchild - USD) â âââ US West (Grandchild - USD) âââ UK Operations (Child - GBP) âââ Germany GmbH (Child - EUR) Consolidation Flow: Grandchildren â Children â Parent Foreign currencies translated at each level
Consolidation Settings
Key Settings per Subsidiary: âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â Currency: EUR â â Parent: Global Holdings â â â â Elimination Subsidiary: (for IC eliminations) â â â None â â â Global Holdings â â â Specific elimination sub â â â â Translation Method: â â Current rate for balance sheet â â Average rate for income statement â â Historical rate for equity â âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Intercompany Transactions
Automatic Intercompany Journal Entries
When enabled, NetSuite auto-creates offsetting entries for intercompany transactions.
Enable: Check "Automated Intercompany Journals" Example: US sub sells $10,000 service to UK sub System Creates: âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â US Operations Journal: â â Dr: Intercompany Receivable - UK $10,000 â â Cr: Intercompany Revenue $10,000 â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ⤠â UK Operations Journal (auto-created): â â Dr: Intercompany Expense ÂŖ8,000 â â Cr: Intercompany Payable - US ÂŖ8,000 â âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Intercompany Account Setup
Required Intercompany Accounts:
Balance Sheet:
- Intercompany Receivable (by subsidiary)
- Intercompany Payable (by subsidiary)
- Due To/Due From accounts
Income Statement (optional for management fees):
- Intercompany Revenue
- Intercompany Expense
- Management Fee Income/Expense
Configure: Lists â Accounting â Accounts
Check "Intercompany" box on account
Assign to subsidiaries involved in IC transactions Elimination Entries
Elimination entries remove intercompany balances during consolidation so the consolidated view shows only external transactions.
Auto-Elimination
NetSuite Auto-Eliminates: - Intercompany receivables/payables (when flagged) - Intercompany revenue/expense (when flagged) Process: 1. Mark accounts as "Eliminate Intercompany Transactions" 2. Run consolidation or view consolidated report 3. System auto-eliminates matching IC balances
Manual Elimination Journal
Equity Eliminations (Investments)
Consolidated Reporting
Running Consolidated Reports
Path: Reports â Financial â Balance Sheet (or Income Statement)
Settings:
Subsidiary: [Parent Company - Consolidated]
â Include Children
Output Shows:
- Parent amounts
- Children amounts (translated)
- Eliminations (if enabled)
- Consolidated total Consolidation Checklist
Consolidation Setup & Processing
Period Close
Month-end, quarter-end, and year-end closing procedures, lock dates, and close checklist.
NetSuite Accounting Periods
Period Structure
Default Structure: âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â Fiscal Year 2025 â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ⤠â Q1 2025 â â âââ Jan 2025 (Period 1) â â âââ Feb 2025 (Period 2) â â âââ Mar 2025 (Period 3) â â Q2 2025 â â âââ Apr 2025 (Period 4) â â âââ ... and so on â âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ Custom Calendars: - 4-4-5, 4-5-4 retail calendars - 13-period calendar - Non-calendar fiscal year
Period Status
| Status | Meaning | Who Can Post |
|---|---|---|
| Open | Normal operations | All users with permissions |
| Closed to Non-Posting | Block non-financial transactions | GL transactions only |
| Closed | Fully closed | No one (without reopening) |
| Closed (AR/AP/All) | Selective closure | Depends on closure type |
Month-End Close Checklist
Pre-Close Activities
Accruals & Adjustments
Reconciliation
Multi-Currency
Close Period
Year-End Close
Additional Year-End Tasks
Year-End Close Process
What Happens:
1. System calculates Net Income for the year
2. Creates journal entry:
Dr: Income Summary (all revenue accounts)
Cr: Income Summary (all expense accounts)
Dr/Cr: Retained Earnings (net)
3. Income statement accounts reset to zero for new year
4. Balance sheet rolls forward with new retained earnings
Note: You can still reopen a closed year if needed
(with proper permissions) Lock Dates
Lock dates provide additional control beyond period status to prevent changes to closed periods.
Lock Date Types
Lock Dates:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Lock AR (Receivables): 12/31/2024 â
â Lock AP (Payables): 12/31/2024 â
â Lock All: 12/31/2024 â
â â
â Role Override: â
â â Allow Administrator override â
â â Allow specific role override â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Behavior:
- Transactions dated on/before lock date cannot be:
- Created
- Edited
- Deleted
- Even administrators blocked unless override enabled Financial Reporting
Standard financial statements, Report Builder, and creating custom financial reports.
Standard Financial Reports
Built-In Financial Statements
| Report | Path | Key Options |
|---|---|---|
| Balance Sheet | Reports > Financial > Balance Sheet | As of date, subsidiary, consolidated |
| Income Statement | Reports > Financial > Income Statement | Period range, comparative periods |
| Cash Flow Statement | Reports > Financial > Cash Flow Statement | Direct or indirect method |
| Trial Balance | Reports > Financial > Trial Balance | Summary or detail, period comparison |
| General Ledger | Reports > Financial > General Ledger | Account detail with all transactions |
Report Customization Options
Common Filters (available on most financial reports): Subsidiaries: - Single subsidiary - Consolidated (with or without children) - Multiple selected Periods: - Single period - Period range - Comparative (vs prior period, prior year) - YTD, QTD Segments: - Filter by Department - Filter by Class - Filter by Location - Filter by Custom Segments Display: - Summary (account totals) - Detail (transactions) - Expand to show hierarchy
Financial Report Builder
Report Builder allows creating custom financial reports with complex row/column layouts.
Creating Custom Financial Report
Layout Structure: âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â ROWS (define what accounts/items to include) â â Row 1: Revenue (account range 4000-4999) â â Row 2: COGS (account range 5000-5999) â â Row 3: Gross Profit (formula: Row1 - Row2) â â Row 4: Operating Expenses (account range 6000-6999) â â Row 5: Operating Income (formula: Row3 - Row4) â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ⤠â COLUMNS (define periods/comparisons) â â Col A: Current Month Actual â â Col B: Current Month Budget â â Col C: Variance (formula: ColA - ColB) â â Col D: Variance % (formula: ColC / ColB * 100) â â Col E: YTD Actual â â Col F: YTD Budget â âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Row Types
| Type | Purpose | Example |
|---|---|---|
| Account | Single account or account range | 4100 or 4000-4999 |
| Summary | Subtotal of rows above | Total Revenue |
| Formula | Calculation using other rows | Gross Margin % = R3/R1 |
| Text | Label or heading | Section header |
| Line | Visual separator | Horizontal line |
Column Types
| Type | Purpose | Example |
|---|---|---|
| Period | Specific accounting period | Dec 2024, Q4 2024 |
| Range | Period range (YTD, QTD) | Jan-Dec 2024 |
| Budget | Budget amounts | 2024 Operating Budget |
| Formula | Calculation using other columns | Variance = Actual - Budget |
| Prior Period | Comparative period | Same period prior year |
Departmental/Segment P&L
P&L by Department
Filters: Period, Subsidiary
Rows/Columns: Show Departments as columns
Output:
Sales Marketing Engineering G&A Total
Revenue 500,000 50,000 10,000 5,000 565,000
COGS 300,000 0 0 0 300,000
Gross Profit 200,000 50,000 10,000 5,000 265,000
Operating Exp 50,000 100,000 150,000 75,000 375,000
Operating Inc 150,000 (50,000) (140,000)(70,000) (110,000) Custom P&L Layout Example
Board-Ready P&L Report: Row Layout: Column Layout: 1. Total Revenue A. Current Month 2. Product Revenue B. Budget 3. Service Revenue C. Variance $ 4. Other Revenue D. Variance % 5. (blank line) E. Prior Year Month 6. Cost of Revenue F. YoY Change % 7. Gross Profit (formula) G. YTD Actual 8. Gross Margin % (formula) H. YTD Budget 9. (blank line) I. Full Year Forecast 10. Sales & Marketing 11. Research & Development 12. General & Administrative 13. Total Operating Expenses 14. Operating Income 15. Operating Margin %
GL for Specific Modules
Module-specific GL considerations for Manufacturing, Revenue Recognition, Fixed Assets, and Project Accounting.
Manufacturing WIP Accounts
Work In Process requires specific account setup for tracking production costs through completion.
Required WIP Accounts
| Account | Type | Purpose |
|---|---|---|
| WIP - Materials | Other Current Asset | Raw materials in production |
| WIP - Labor | Other Current Asset | Labor costs in production |
| WIP - Overhead | Other Current Asset | Overhead applied to production |
| WIP Variance | COGS or Expense | Variance at work order close |
| Scrap | COGS or Expense | Material loss/scrap |
WIP GL Flow
Work Order Lifecycle GL: 1. WORK ORDER ISSUE (Material to WIP) Dr: WIP - Materials $10,000 Cr: Raw Materials Inventory $10,000 2. LABOR RECORDED (if using time tracking) Dr: WIP - Labor $2,000 Cr: Labor Clearing $2,000 3. WORK ORDER COMPLETION (FG to Inventory) Dr: Finished Goods Inventory $15,000 Cr: WIP - Materials $10,000 Cr: WIP - Labor $2,000 Cr: WIP - Overhead $3,000 4. WORK ORDER CLOSE (Variance) Dr: WIP Variance $500 Cr: WIP - Materials $500 (if actual costs differed from standard)
Advanced Revenue Management (ARM)
ASC 606/IFRS 15 compliant revenue recognition requires specific GL accounts.
ARM Account Types
| Account | Type | Purpose |
|---|---|---|
| Deferred Revenue | Other Current Liability | Billed, not yet recognized |
| Unbilled Receivable | Unbilled Receivable | Recognized, not yet billed |
| Deferred COGS | Other Current Asset | COGS matched to deferred revenue |
| Revenue | Income | Recognized revenue |
ARM GL Flow Example
Scenario: 2-year SaaS subscription, $24,000 paid upfront 1. INVOICE CREATED Dr: Accounts Receivable $24,000 Cr: Deferred Revenue $24,000 2. PAYMENT RECEIVED Dr: Cash $24,000 Cr: Accounts Receivable $24,000 3. MONTHLY RECOGNITION (x 24 months) Dr: Deferred Revenue $1,000 Cr: Subscription Revenue $1,000
Fixed Assets
Fixed Asset Management module tracks asset lifecycle from acquisition through disposal.
Fixed Asset Accounts
| Account | Type | Purpose |
|---|---|---|
| Fixed Asset - [Category] | Fixed Asset | Asset cost (Equipment, Vehicles, etc.) |
| Accumulated Depreciation | Accum Depreciation | Contra-asset for depreciation |
| Depreciation Expense | Expense | Monthly depreciation charge |
| Gain/Loss on Disposal | Other Income/Expense | Difference on asset sale |
Fixed Asset GL Flow
Asset Lifecycle: 1. ACQUISITION ($50,000 equipment) Dr: Equipment $50,000 Cr: Accounts Payable $50,000 2. MONTHLY DEPRECIATION (5-year straight-line) Dr: Depreciation Expense $833 Cr: Accumulated Depreciation $833 3. DISPOSAL (sold for $10,000, NBV $15,000) Dr: Cash $10,000 Dr: Accumulated Depreciation $35,000 Dr: Loss on Disposal $5,000 Cr: Equipment $50,000
Project Accounting
Project-based businesses track revenue and costs by project for profitability analysis.
Project GL Considerations
- Segment tracking: Use Class or custom segment for projects
- WIP for services: Track unbilled time as project WIP
- Revenue recognition: Percentage-of-completion or milestone
- Cost allocation: Direct vs indirect project costs
Project Accounting GL Flow
Time & Materials Project: 1. LABOR INCURRED Dr: Project WIP (Class: Project X) $5,000 Cr: Salaries Expense $5,000 2. INVOICE CREATED Dr: Accounts Receivable $7,500 Cr: Service Revenue (Class: Proj X) $7,500 3. COST RECOGNITION Dr: Project COGS (Class: Project X) $5,000 Cr: Project WIP (Class: Project X) $5,000 Project P&L (by Class): Revenue: $7,500 COGS: $5,000 Margin: $2,500 (33%)
Amortization Schedules
Deep dive into NetSuite's amortization feature for automated expense and revenue recognition over multiple periods.
Amortization Overview
NetSuite's native amortization feature automates the systematic allocation of prepaid expenses and deferred revenue across accounting periods. This eliminates manual journal entries, ensures consistency, and provides a complete audit trail from source transaction to recognition.
ARM (Revenue Management): ASC 606 compliance, multiple performance obligations, SSP allocation. Licensed module, complex configuration.
Enabling Amortization
Required Features
| Feature | Subtab | Purpose |
|---|---|---|
| Amortization | Accounting | Enables expense amortization on transactions |
| Revenue Recognition | Accounting | Enables revenue amortization (deferred revenue recognition) |
| Accounting Periods | Accounting | Required for period-based amortization |
Preferences
- Amortization Source Account: Controls which account is debited/credited
- Amortization Date Override: Allow users to modify calculated dates
- Auto-Create Amortization JE: Automatically post or create in pending status
Creating Amortization Templates
Template Types
| Type | Description | Best For |
|---|---|---|
| Standard | Fixed number of periods, same amount each period | Insurance, rent, simple subscriptions |
| Variable | User specifies start/end dates at transaction | Variable-term contracts, one-off expenses |
Complete Field Reference
| Field | Values | Behavior |
|---|---|---|
| Name | Text | Identifier in dropdowns. Pattern: "XX-Mo [Type] [Method]" |
| Amortization Type | Standard, Variable | Standard = fixed periods; Variable = transaction dates |
| Recurrence Type | Monthly, Quarterly, Annually, Custom | Frequency of recognition entries |
| Period Offset | 0-99 | Periods to wait before first recognition. 0 = immediate |
| Recurrence Count | 1-999 | Total recognition periods (e.g., 12 for 12-month) |
| Initial Amount | Prorated, Full | Prorated = partial first period; Full = equal amounts |
| Residual | First Period, Last Period | Where to apply rounding differences (pennies) |
| Account Selection | Target, Source | Target = specify recognition account; Source = use transaction account |
| Target Account | Account lookup | Account to recognize into (expense or revenue account) |
12-Mo SL Insurance, 36-Mo SL Software, VAR Expense, 12-Mo SL Revenue.
The Eliminate Checkbox (OneWorld)
In multi-subsidiary environments, the Eliminate checkbox is critical for proper consolidated financial statements. This field appears at both the template and transaction level.
When to Use Eliminate
| Scenario | Eliminate? | Explanation |
|---|---|---|
| Parent pays vendor for subsidiary insurance | Yes | IC receivable/payable created; amortization in sub should eliminate |
| Subsidiary pays own vendor directly | No | No IC component; expense is real at consolidated level |
| IC allocation of group-wide prepaid | Yes | Allocated portions need elimination to avoid duplication |
| Deferred revenue from IC sales | Yes | IC revenue eliminates; recognition should also eliminate |
| Deferred revenue from external customer | No | Real revenue at consolidated level |
How Elimination Works
-- Example: Parent pays $120K group insurance, allocates to 3 subsidiaries
ORIGINAL TRANSACTION (Parent):
DR 1350 Prepaid Insurance $120,000
CR 1000 Cash $120,000
IC ALLOCATION TO SUB A ($40K):
Parent:
DR 1210 IC Receivable - Sub A $40,000
CR 1350 Prepaid Insurance $40,000
Sub A:
DR 1350 Prepaid Insurance $40,000 [Eliminate = YES]
CR 2110 IC Payable - Parent $40,000
MONTHLY AMORTIZATION (Sub A):
DR 6100 Insurance Expense $3,333 [Eliminate = YES]
CR 1350 Prepaid Insurance $3,333 [Eliminate = YES]
-- At consolidation, Sub A's insurance expense eliminates
-- Parent's net prepaid of $80K remains (other subs' portions)
-- Consolidated P&L shows real expense only once Verification Steps
- Run Trial Balance by subsidiary before consolidation
- Review "Eliminate" column on amortization schedule report
- Run consolidated Trial Balance
- Verify eliminated entries don't appear in consolidated totals
- Reconcile: Sub standalone total - eliminated = consolidated impact
Applying Amortization to Transactions
On Items (Recommended)
Set default amortization on Service Items or Non-Inventory Items that are typically prepaid:
- Open the item record
- Navigate to Accounting subtab
- Check Amortize checkbox
- Select default Amortization Schedule
- Set Residual Account if different from item account
- Save
Benefits: Auto-applies when item used on bills/expenses, ensures consistency across all users, reduces data entry errors, can still override at transaction level.
On Transaction Lines
For one-off or variable amortization, configure at the line level:
- Create vendor bill, expense report, or journal entry
- On the expense/item line, enable Amortize
- Select Amortization Schedule
- For Variable schedules, enter Amortization Start Date and End Date
- Set Residual handling preference
- Check Eliminate if intercompany (OneWorld)
- Save transaction
Processing Amortization
Manual Processing
- Select Subsidiary (OneWorld)
- Set Period to process
- Click Search to see pending amortization
- Review the preview list
- Click Process to create journal entries
- Verify JEs in transaction list
Scheduled Processing (Recommended)
Automate amortization with a scheduled script:
/**
* @NApiVersion 2.1
* @NScriptType ScheduledScript
* @description Process amortization automatically at month-end
*/
define(['N/record', 'N/search', 'N/runtime'], function(record, search, runtime) {
function execute(context) {
var amortSearch = search.create({
type: 'amortizationschedule',
filters: [
['status', 'is', 'Pending'],
'AND',
['scheddate', 'onorbefore', 'today']
]
});
amortSearch.run().each(function(result) {
try {
var amortRec = record.load({
type: 'amortizationschedule',
id: result.id
});
amortRec.setValue({ fieldId: 'status', value: 'Posted' });
amortRec.save();
} catch (e) {
log.error('Amort Process Error', e);
}
return true;
});
}
return { execute: execute };
}); Amortization Month-End Checklist
GL Impact Examples
Expense Amortization
-- 12-month prepaid insurance: $12,000 INITIAL BILL ENTRY: DR 1350 Prepaid Insurance $12,000 CR 2000 Accounts Payable $12,000 MONTHLY AMORTIZATION (x12): DR 6100 Insurance Expense $1,000 CR 1350 Prepaid Insurance $1,000 -- After 12 months, prepaid balance = $0
Revenue Amortization (Deferred Revenue)
-- 12-month subscription received upfront: $24,000 INITIAL INVOICE ENTRY: DR 1200 Accounts Receivable $24,000 CR 2400 Deferred Revenue $24,000 MONTHLY RECOGNITION (x12): DR 2400 Deferred Revenue $2,000 CR 4100 Subscription Revenue $2,000 -- After 12 months, deferred revenue balance = $0
Prorated First Period
-- $12,000 prepaid starting mid-month (Jan 15) -- 12-month schedule with proration JANUARY AMORTIZATION (17 days / 31 days): DR 6100 Insurance Expense $548.39 (12000/12 * 17/31) CR 1350 Prepaid Insurance $548.39 FEBRUARY - DECEMBER (11 full months): DR 6100 Insurance Expense $1,000.00 each CR 1350 Prepaid Insurance $1,000.00 each JANUARY NEXT YEAR (remaining 14 days): DR 6100 Insurance Expense $451.61 CR 1350 Prepaid Insurance $451.61 -- Total: $548.39 + $11,000 + $451.61 = $12,000
Reporting
Standard Reports
| Report | Navigation | Purpose |
|---|---|---|
| Amortization Schedule | Reports > Financial > Amortization Schedule | View all active schedules with remaining balances |
| Amortization Forecast | Reports > Financial > Amortization Forecast | Project future recognition by period |
| Amortization JE Register | Reports > Financial > Transaction Register | View posted amortization JEs (filter by type) |
Custom Saved Search
Saved Search: Amortization Schedule Detail Type: Amortization Schedule Criteria: - Status is Pending or Posted - Schedule Date within [date range] Results: - Name, Source Transaction - Original Amount, Recognized Amount, Remaining Amount - Schedule Date, Period - Eliminate (for OneWorld), Subsidiary Summary: - Group by Account - Sum Remaining Amount
Troubleshooting Amortization
| Issue | Cause | Solution |
|---|---|---|
| Amortization not appearing | Feature not enabled | Enable at Setup > Company > Enable Features |
| Fields not visible on forms | Form customization needed | Edit form to show amortization-related fields |
| Wrong recognition amount | Incorrect schedule setup | Review recurrence count and initial amount settings |
| JEs posting to wrong period | Period offset or start date issue | Verify schedule dates align with accounting periods |
| Prepaid balance doesn't zero | Rounding residual issue | Check residual handling; verify all periods processed |
| IC amortization not eliminating | Eliminate not checked | Edit source transaction to check Eliminate box |
| Can't modify posted amortization | JEs already created | Reverse existing JEs, modify schedule, reprocess |
NetSuite Documentation References
Official Oracle NetSuite Help Center documentation for amortization:
| Topic | Description |
|---|---|
| Expense Amortization | Main overview of the amortization feature, prerequisites, and workflow |
| Amortization Schedules | How schedules are generated, viewed, and managed |
| Creating Amortization Templates | Template configuration including all field definitions |
| Generating Amortization JEs | Processing amortization and creating journal entries |
| Update Amortization | Modifying existing amortization schedules |
| Multi-Book Amortization | Amortization in OneWorld with multiple accounting books |
| Amortization Schedule Record | SuiteScript record browser reference for automation |
Budgeting
Comprehensive guide to NetSuite's native budgeting functionality, including setup, budget entry methods, variance analysis, and reporting.
Budgeting Overview
NetSuite's native budgeting feature (included with base license) allows organizations to create, manage, and report on financial budgets. Budgets can be created at the account level and optionally segmented by subsidiary, department, class, and location.
Native Budgeting vs NSPB
| Feature | Native Budgeting | NSPB (Add-On) |
|---|---|---|
| License | Included with NetSuite | Additional licensed module |
| Entry Method | Manual, CSV import | Spreadsheet-like interface, templates |
| Forecasting | Manual only | Rolling forecasts, driver-based |
| Workflow | Basic (manual approval) | Built-in approval workflows |
| Scenario Planning | Via budget categories | Full what-if modeling |
| Best For | Simple annual budgets | Enterprise FP&A, complex planning |
Enabling and Configuring Budgets
Enable Budgeting Feature
Once enabled, budget fields appear on GL accounts and budget reports become available.
Budget Categories Setup
Budget categories allow multiple budget versions (e.g., Operating, Revised, Forecast):
Configuration: âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â Budget Category: Operating Budget 2025 â â â â Settings: â â â Active â â â Global â â â â Subsidiary: (select applicable subsidiaries) â â â Parent Company â â â US Operations â â â UK Operations â âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Common Budget Categories
| Category | Purpose | Typical Timing |
|---|---|---|
| Operating Budget | Primary annual budget | Set before fiscal year start |
| Revised Budget | Mid-year adjustments | Quarterly updates |
| Forecast | Rolling projections | Monthly updates |
| Stretch Budget | Aggressive targets | Annual planning |
| Prior Year | Historical comparison | Reference baseline |
Budget Structure
Budgets in NetSuite can be as simple or detailed as needed based on your reporting requirements.
Budget Dimensions
| Dimension | Required | Purpose |
|---|---|---|
| Account | Yes | GL account being budgeted |
| Subsidiary | OneWorld only | Legal entity dimension |
| Year | Yes | Fiscal year |
| Budget Category | If multiple versions | Budget version/scenario |
| Department | No | Departmental budget breakdown |
| Class | No | Product line/service type |
| Location | No | Geographic/site breakdown |
| Customer | No | Customer-level revenue budgets |
| Item | No | Product-level budgets |
Budget Entry Methods
Method 1: Set Up Budgets Page
Provides account dropdown, year selection, monthly amount entry grid, and copy/spread functionality. Best for small number of accounts, simple budgets.
Method 2: CSV Import
Record Type: Budget
Required CSV Columns:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Account,Year,Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec â
â 4000,2025,50000,52000,48000,55000,60000,58000,... â
â 5000,2025,25000,26000,24000,27500,30000,29000,... â
â 6100,2025,10000,10000,10000,10000,10000,10000,... â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Optional columns: Subsidiary, Department, Class, Location,
Budget Category, Customer, Item Method 3: Import via SuiteScript
// Budget record creation via SuiteScript
var budgetRecord = record.create({
type: record.Type.BUDGET,
isDynamic: true
});
budgetRecord.setValue({ fieldId: 'account', value: accountId });
budgetRecord.setValue({ fieldId: 'year', value: '2025' });
budgetRecord.setValue({ fieldId: 'subsidiary', value: subId });
budgetRecord.setValue({ fieldId: 'periodamount1', value: 50000 }); // Jan
budgetRecord.setValue({ fieldId: 'periodamount2', value: 52000 }); // Feb
// ... etc
budgetRecord.save(); Which Entry Method to Use?
| Scenario | Recommended Method |
|---|---|
| First-time setup, < 50 accounts | Set Up Budgets page |
| Annual budget load from Excel | CSV Import |
| Automated from external FP&A system | SuiteScript integration |
| Rolling monthly updates | CSV Import or SuiteScript |
Budget GL Impact
Unlike transactions, budgets do not post to the General Ledger. They exist as a separate dataset for comparison and reporting purposes.
Budget Record:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â NOT a journal entry - no debit/credit impact â
â Stored separately from transaction data â
â Linked to accounts via Account ID â
â Compared to actuals via reports and saved searches â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Relationship:
GL Account 4000 (Revenue)
âââ Actual balance: Sum of posted transactions
âââ Budget balance: Sum of budget amounts for period
âââ Variance: Actual - Budget Budget Amounts Don't Affect
- Trial Balance
- Balance Sheet totals
- Income Statement actuals
- Account running balances
Budget Amounts Do Appear In
- Budget vs Actual reports
- Financial Report Builder (with budget columns)
- Saved searches joining to budget records
- SuiteAnalytics workbooks
Budget vs Actual Reporting
Standard Budget Reports
Available Report Variations: - Budget vs Actual (Summary) - Budget vs Actual by Department - Budget vs Actual by Class - Budget vs Actual by Location - Budget Register Report Settings: - Select Budget Category (if multiple) - Select Period Range - Subsidiary filter (OneWorld) - Show: Amount, Variance, Variance %
Custom Variance Report Example
Income Statement with Budget Comparison:
Account | Actual | Budget | Variance | Var %
-----------------|---------|---------|----------|-------
Revenue | $525K | $500K | +$25K | +5.0%
COGS | $210K | $200K | -$10K | -5.0%
Gross Profit | $315K | $300K | +$15K | +5.0%
| | | |
Operating Exp | $180K | $175K | -$5K | -2.9%
Salaries | $100K | $100K | $0 | 0.0%
Rent | $30K | $30K | $0 | 0.0%
Marketing | $50K | $45K | -$5K | -11.1%
| | | |
Net Income | $135K | $125K | +$10K | +8.0%
Convention:
Revenue variance: Positive = Favorable
Expense variance: Negative = Unfavorable Budget Saved Searches
Use saved searches for custom budget analysis beyond standard reports.
Basic Budget vs Actual Search
Saved Search: Budget vs Actual by Account
Type: Transaction
Criteria:
- Posting = True
- Main Line = True (or False for detail)
- Date: Within current period
Results:
- Account (Group)
- Formula (Currency): SUM({amount}) [Actual]
- Formula (Currency): SUM({account.budget.amount}) [Budget]
Summary Type: Group Variance Analysis Formulas
-- Variance Amount (Actual - Budget)
{amount} - {budgetamount}
-- Variance % ((Actual - Budget) / Budget)
CASE WHEN {budgetamount} = 0 THEN NULL
ELSE ROUND((({amount} - {budgetamount})
/ ABS({budgetamount})) * 100, 1)
END
-- Favorable/Unfavorable Flag
CASE
WHEN {type} IN ('Income','Other Income')
AND {amount} >= {budgetamount} THEN 'Favorable'
WHEN {type} IN ('Income','Other Income')
AND {amount} < {budgetamount} THEN 'Unfavorable'
WHEN {type} IN ('Expense','COGS','Other Expense')
AND {amount} <= {budgetamount} THEN 'Favorable'
WHEN {type} IN ('Expense','COGS','Other Expense')
AND {amount} > {budgetamount} THEN 'Unfavorable'
ELSE 'N/A'
END Budget Import Template
Use this template structure for CSV budget imports:
Simple Account-Level Template
External ID,Account,Year,Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec BUD-4000-2025,4000,2025,50000,52000,48000,55000,60000,58000,62000,65000,68000,70000,72000,85000 BUD-4100-2025,4100,2025,10000,10500,9600,11000,12000,11600,12400,13000,13600,14000,14400,17000 BUD-5000-2025,5000,2025,25000,26000,24000,27500,30000,29000,31000,32500,34000,35000,36000,42500
Multi-Dimension Template
External ID,Account,Subsidiary,Department,Class,Year,Budget Category,Jan,Feb,Mar,... BUD-4000-US-SALES-PROD-2025,4000,US Operations,Sales,Product A,2025,Operating Budget,30000,... BUD-4000-US-SALES-SVC-2025,4000,US Operations,Sales,Services,2025,Operating Budget,20000,... BUD-4000-UK-SALES-PROD-2025,4000,UK Operations,Sales,Product A,2025,Operating Budget,15000,...
Account: Can use Internal ID, External ID, or account number.
Subsidiary: Must match exact subsidiary name or Internal ID.
Amounts: Use positive numbers (system handles sign based on account type).
Budget Maintenance
Updating Existing Budgets
Method 1: Set Up Budgets Page - Navigate to existing budget, modify amounts, save Method 2: CSV Update Import - Export existing budgets - Modify in Excel - Re-import with "Update" option - Match on External ID or Internal ID Method 3: Mass Update - Create saved search of budget records - Use Mass Update to modify specific fields
Budget Copy Functions
Copy Budget Between Years: 1. Export current year budgets to CSV 2. Modify Year column to new year 3. Apply growth/reduction factors in Excel 4. Import as new budgets Copy Budget to New Category: 1. Export budgets for source category 2. Change Budget Category column 3. Adjust amounts if needed (e.g., Revised vs Operating) 4. Import as new budgets
Budget History Tracking
NetSuite does not automatically track budget changes. Implement version control:
- Use Budget Categories for official versions (Operating, Revised Q1, etc.)
- Archive exports before major updates
- Custom field on Budget record for "Last Modified Date"
- Script to log budget changes to custom record
Industry Considerations
| Industry | Budget Focus | Key Dimensions |
|---|---|---|
| Manufacturing | Production costs, capacity | Location, Item (for COGS) |
| Wholesale/Distribution | Sales volume, margins | Class (product line), Customer |
| Software/SaaS | ARR/MRR targets, headcount | Department, Class (product) |
| Professional Services | Utilization, revenue by practice | Department, Class (service line) |
| Retail | Store-level P&L | Location, Class (category) |
| Nonprofit | Grant compliance, program costs | Class (program/grant), Department |
Documentation References
Official NetSuite documentation for budgeting features:
| Topic | Description |
|---|---|
| Setting Up Budgets | Overview of budget setup and configuration |
| Creating Budget Records | Step-by-step budget creation process |
| Importing Budgets | CSV import procedures and field mapping |
| Budget Categories | Setting up multiple budget versions |
| Budget Reports | Standard budget vs actual reporting |
Troubleshooting
Common GL issues, reconciliation problems, and how to resolve them.
Trial Balance Out of Balance
Symptoms
- Trial balance debits â credits
- Balance sheet doesn't balance
- Net income â change in retained earnings
Common Causes
| Cause | Detection | Resolution |
|---|---|---|
| Unposted transactions | Search for status = Pending Approval | Post or void pending transactions |
| Multi-currency rounding | Check currency rounding account | Review FX transactions, run revaluation |
| System error | GL Audit log shows imbalance | Contact NetSuite Support |
| Data import error | Review recent imports | Identify and correct bad data |
Diagnostic Steps
1. Run Trial Balance report Reports â Financial â Trial Balance Compare total debits vs credits 2. Run GL Audit Trail Reports â Financial â General Ledger Audit Trail Look for transactions with imbalanced entries 3. Check for orphaned transactions Saved Search: Transactions where GL Impact = true AND posting = true AND (debit total â credit total) 4. Review currency rounding account Run GL report filtered to Currency Rounding account Large balances indicate FX issues
Subledger to GL Reconciliation
AR Reconciliation
AR Reconciliation Process: 1. Run AR Aging Report Reports â Receivables â A/R Aging Note total balance 2. Run GL Balance for AR Account Reports â Financial â Trial Balance Filter to AR accounts 3. Compare totals AR Aging Total should = AR GL Balance Common Differences: - Unapplied payments (show in GL, not aging) - Posted deposits (reduce AR but may not show in aging) - Multi-currency timing (revaluation not run) - Credit memos unapplied Resolution: - Review A/R Register for detail - Identify transactions in GL but not aging - Apply unapplied payments/credits
AP Reconciliation
AP Reconciliation Process: 1. Run AP Aging Report Reports â Payables â A/P Aging Note total balance 2. Run GL Balance for AP Account Reports â Financial â Trial Balance Filter to AP accounts 3. Compare totals AP Aging Total should = AP GL Balance Common Differences: - Unapplied credits - Unbilled receipts (inventory received, no bill) - Prepayments - Multi-currency variances
Inventory Reconciliation
Inventory Reconciliation Process: 1. Run Inventory Valuation Report Reports â Inventory/Items â Inventory Valuation Note total value 2. Run GL Balance for Inventory Accounts Reports â Financial â Trial Balance Filter to Inventory Asset accounts 3. Compare totals Inventory Valuation should = Inventory GL Balance Common Differences: - Pending item receipts - Pending item fulfillments - Cost adjustments not posted - Location-specific account variances Resolution: - Run Inventory Revalue if using Standard Cost - Review pending transactions - Check item account assignments
Common GL Errors
Error: "This transaction is out of balance"
| Cause | Solution |
|---|---|
| Journal entry debits â credits | Add missing line or adjust amounts |
| Multi-currency rounding | Adjust rounding on one line |
| Tax calculation error | Review tax setup, recalculate |
Error: "Cannot post to closed period"
| Cause | Solution |
|---|---|
| Transaction date in closed period | Change date to open period |
| Period locked | Request unlock from admin (if appropriate) |
| Need adjustment to closed period | Reopen period, post adjustment, re-close |
Error: "Account restricted to specific subsidiaries"
| Cause | Solution |
|---|---|
| Account not available for selected subsidiary | Use account valid for subsidiary |
| Need account in new subsidiary | Edit account to add subsidiary access |
GL Health Check
Periodic GL health checks prevent issues from accumulating.
