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.

  1. 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.
  1. 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

Talk to a consultant