ANS-1385 · ACCOUNTING & FINANCIAL CONFIGURATION
How to View All Enabled Features in a NetSuite Account?
Easily identify and list all currently enabled features within a NetSuite account using built-in tools or custom scripting.
Short answer
NetSuite provides an Audit Trail for features, accessible via a dedicated URL, which lists all enabled and disabled features. Alternatively, developers can create a SuiteScript 2.x script utilizing runtime.isFeatureInEffect(options) to programmatically check and output the status of various features.
Scenario
NetSuite administrators or developers often need to identify all features currently enabled within a specific NetSuite account. This information is crucial for understanding account capabilities, troubleshooting, or ensuring compliance. Manually checking each feature setting can be time-consuming and inefficient.
Solution
The NetSuite platform offers two primary methods for identifying enabled features within an account: leveraging the built-in Features Audit Trail or developing a custom SuiteScript 2.x solution.
Utilizing the Features Audit TrailThe Features Audit Trail provides a historical record of all features that have been enabled or disabled in the account. While it does not offer a real-time consolidated list of *currently* active features without manual compilation, it is a valuable resource for auditing changes.To access the Features Audit Trail: * Navigate directly to the audit page using the following URL:
https://system.netsuite.com/app/setup/featuresaudit.nl- Review the entries to see when specific features were activated or deactivated.
Programmatic Retrieval with SuiteScript 2.xFor a dynamic and automated approach, a SuiteScript 2.x script can be developed. This script can programmatically check the status of various features and generate a custom output, offering greater flexibility for reporting or integration.The core of this solution involves iterating through a list of known feature IDs and using the runtime.isFeatureInEffect(options) function to determine if each feature is currently active.A conceptual example of how to check a feature's status in SuiteScript 2.x:
javascript/** * @NApiVersion 2.x * @NModuleScope SameAccount */define(['N/runtime', 'N/log'], function(runtime, log) { function checkFeatureStatus(featureId) { var isEnabled = runtime.isFeatureInEffect({ feature: featureId }); log.debug('Feature Status', 'Feature ' + featureId + ': ' + (isEnabled ? 'Enabled' : 'Disabled')); return isEnabled; } // Example usage within a script entry point: function execute(context) { // To check a specific feature, e.g., 'ACCOUNTING' var accountingFeatureEnabled = checkFeatureStatus('ACCOUNTING'); log.audit('Accounting Feature', 'Is Accounting feature enabled? ' + accountingFeatureEnabled); // To iterate through multiple features, you would define an array of feature IDs var commonFeatures = ['ACCOUNTING', 'ADVANCEDEXPENSEMANAGEMENT', 'ADVANCEDINVENTORYMANAGEMENT']; commonFeatures.forEach(function(feature) { checkFeatureStatus(feature); }); // Further logic to generate a file output (e.g., CSV, JSON) can be added here. } return { execute: execute };});This script provides a framework for checking feature statuses. Developers would need to compile a comprehensive list of relevant feature IDs and implement the desired output mechanism (e.g., creating a file, sending an email, logging to a custom record).
Expert NetSuite Support
Need help with this NetSuite issue?
Accounting & Financial Configuration consulting and configuration support
