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
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 |
| Required | Configurable per transaction type |
| Typical Use | Cost centers, organizational units, functional areas |
Class
| Characteristic | Description |
|---|---|
| Purpose | Business categorization |
| Hierarchy | Supports parent-child nesting |
| Flexibility | Most flexible segment |
| Required | Configurable per transaction type |
| Typical Use | Product lines, business lines, service types, projects |
Location
| Characteristic | Description |
|---|---|
| Purpose | Physical or logical location |
| Hierarchy | Supports parent-child nesting |
| Inventory Link | Tied to inventory tracking |
| Required | Required for inventory transactions |
| Typical Use | Warehouses, stores, offices, regions |
In OneWorld, Department, Class, and Location can be restricted to specific subsidiaries. This controls which segment values appear based on the selected subsidiary, preventing invalid combinations like a "Paris Office" location appearing for a US subsidiary.
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
NetSuite limits the number of custom segments. Check your account's limit (typically 5-15 depending on edition). Plan segment usage carefully — once created and used, custom segments cannot be deleted.
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
3. Avoid Segment Overlap
| Problem | Example | Solution |
|---|---|---|
| Redundant Data | Location AND Region as separate segments when Region can be derived from Location | Use Location hierarchy; create Region as parent |
| Conflicting Purpose | Using Class for both Product Line AND Project | Pick one; create custom segment for the other |
| Over-Segmentation | Creating segment for every possible analysis | Use custom fields for non-GL classification |
4. Design for Hierarchy
5. Plan for Growth
- New subsidiaries: Will they share COA? Different currencies?
- New products: How will they fit into Class structure?
- Acquisitions: Can their structure map to yours?
- International expansion: Location/subsidiary implications?
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
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
Software/SaaS
Professional Services
Nonprofit
Retail
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 |
| Other Asset | Debit | Assets (Non-Current) | Intangibles, Long-term Investments |
| 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, Deferred Revenue (LT) |
| Equity | Credit | Equity | Common Stock, Retained Earnings |
Income Statement Accounts
| Type | Normal Balance | Financial Statement | Examples |
|---|---|---|---|
| Income | Credit | Revenue | Product Revenue, Service Revenue |
| Other Income | Credit | Other Income | Interest Income, Gain on Sale |
| Cost of Goods Sold | Debit | COGS | Product COGS, Freight-In |
| Expense | Debit | Operating Expenses | Salaries, Rent, Utilities |
| Other Expense | Debit | Other Expenses | Interest Expense, Loss on Disposal |
Special Account Types
| Type | Purpose | Notes |
|---|---|---|
| Unbilled Receivable | Revenue recognition before billing | Used with Advanced Revenue Management |
| Deferred Revenue | Billing before revenue recognition | Used with ARM or standard deferred rev |
| Deferred Expense | Prepaid costs for amortization | Used with amortization schedules |
| Non-Posting | Statistical/memo accounts | No GL impact, used for reporting |
| Statistical | Quantity tracking (non-monetary) | FTEs, square footage, units |
Account Numbering Conventions
While NetSuite doesn't require account numbers, most organizations use them for sorting, grouping, and legacy system alignment.
Standard Numbering Scheme
Account Number Best Practices
- Leave gaps: Don't use consecutive numbers — leave room for future accounts (1000, 1010, 1020 not 1000, 1001, 1002)
- Consistent length: Use same number of digits throughout (4 or 5 digits typically)
- Meaningful grouping: First digit = account category, subsequent = subcategory
- No segment embedding: Don't embed department/class in account number — use segments instead
- Document ranges: Create a numbering policy document for future account creation
Account Hierarchies (Parent/Child)
NetSuite supports account hierarchies for roll-up reporting. Parent accounts are "header" accounts that sum their children.
Hierarchy Example
In NetSuite, parent accounts can be configured as "Summary" (no direct posting) or allow posting. Best practice: Make parent accounts summary-only to force transactions to post to specific child accounts. This ensures consistent detail in reporting.
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) |
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:
COA Design Checklist
GL Impact by Transaction
Comprehensive reference for how each NetSuite transaction type affects the general ledger.
Sales Cycle Transactions
Invoice (Cash Sale posts similarly)
Customer Payment
Deposit
Credit Memo
Customer Refund
Purchase Cycle Transactions
Vendor Bill
Item Receipt (3-way match before Bill)
Bill Payment
Vendor Credit
Inventory Transactions
Inventory Adjustment (Increase)
Inventory Adjustment (Decrease)
Transfer Order (Between Locations)
Manufacturing Transactions
Assembly Build (Non-WIP)
Work Order Issue (WIP)
Work Order Completion (WIP)
Work Order Close (WIP)
Banking Transactions
Check
Transfer
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
Types, use cases, and best practices for manual GL entries in NetSuite.
Journal Entry Types
Standard Journal Entry
| Characteristic | Description |
|---|---|
| Purpose | General GL adjustments not handled by other transactions |
| Balance Rule | Debits must equal credits |
| Typical Uses | Accruals, reclassifications, corrections, opening balances |
| Path | Transactions → Financial → Make Journal Entries |
Intercompany Journal Entry (OneWorld)
| Characteristic | Description |
|---|---|
| Purpose | Record transactions between subsidiaries |
| Balance Rule | Each subsidiary must balance; IC accounts auto-generated |
| Typical Uses | Management fees, cost allocations, IC loans |
| Requirements | IC accounts configured; Auto IC Journal Entries enabled |
Statistical Journal Entry
| Characteristic | Description |
|---|---|
| Purpose | Record non-monetary quantities for reporting |
| Balance Rule | Single-sided entries allowed (no balancing required) |
| Account Type | Statistical accounts only |
| Typical Uses | FTE counts, square footage, units produced |
Recurring Journal Entry
| Characteristic | Description |
|---|---|
| Purpose | Automate repetitive journal entries |
| Schedule | Monthly, quarterly, annual; specific dates |
| Typical Uses | Prepaid amortization, depreciation, accruals |
| Path | Transactions → Financial → Create Memorized Transactions |
Common Journal Entry Scenarios
Accrued Expense (Month End)
Prepaid Expense Amortization
Reclassification
Opening Balances
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
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
Journal entries cannot post to AR or AP accounts directly — they must go through invoices/bills/payments. Use JEs for non-subledger GL accounts only. Exception: Opening balance JE can load AR/AP during initial implementation.
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
Creating Secondary Books
Book-Specific Account Mapping
When accounting treatment differs between books, map different accounts:
Book-Specific Adjustments
When automatic posting isn't sufficient, use book-specific journal entries.
Creating Book-Specific Journal Entry
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
Book Comparison Report
Use saved searches to compare balances across books:
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
Revaluation Example
Revaluation entries are typically reversed at the start of the next period. When the actual settlement occurs, the system calculates realized gain/loss from the original transaction rate. Configure auto-reversal in revaluation settings.
Exchange Rate Management
Automatic Rate Updates
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
Consolidation Settings
Intercompany Transactions
Automatic Intercompany Journal Entries
When enabled, NetSuite auto-creates offsetting entries for intercompany transactions.
Intercompany Account Setup
Elimination Entries
Elimination entries remove intercompany balances during consolidation so the consolidated view shows only external transactions.
Auto-Elimination
Manual Elimination Journal
Equity Eliminations (Investments)
Consolidated Reporting
Running Consolidated Reports
Consolidation Checklist
Period Close
Month-end, quarter-end, and year-end closing procedures, lock dates, and close checklist.
NetSuite Accounting Periods
Period Structure
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
You don't need to run year-end close immediately. NetSuite allows transactions in the new year while the prior year remains open. Run year-end close after audit adjustments are complete (often 60-90 days into new year).
Lock Dates
Lock dates provide additional control beyond period status to prevent changes to closed periods.
Lock Date Types
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
Financial Report Builder
Report Builder allows creating custom financial reports with complex row/column layouts.
Creating Custom Financial Report
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
Custom P&L Layout Example
GL for Specific Modules
Module-specific GL considerations for Manufacturing, Revenue Recognition, Fixed Assets, and more.
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
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
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
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
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
Subledger to GL Reconciliation
AR Reconciliation
AP Reconciliation
Inventory Reconciliation
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.