Skip to main content

Admin | NetSuite Feature Enablement and Status Report

Provides a complete list of NetSuite features in your account, showing whether each feature is available, active, and ready for use.

Updated over a week ago

Purpose of this query

This SuiteQL statement returns all features from the CompanyFeatureSetup table and classifies each one based on availability and activation status. It helps administrators quickly identify which features are enabled, which are available but not activated, and which are not available in the account. The query adds clear status labels and usage indicators to simplify review during system audits, feature rollouts, implementation planning, or troubleshooting. Results are ordered to show fully enabled features first, followed by available but inactive features, and then unavailable features.

SuiteQL

SELECT
Name AS "Feature Name",
ID AS "Feature ID",
IsAvailable AS "Available",
IsActive AS "Active",
CASE
WHEN IsAvailable = 'T' AND IsActive = 'T' THEN 'ENABLED & ACTIVE'
WHEN IsAvailable = 'T' AND IsActive = 'F' THEN 'AVAILABLE - NOT ACTIVE'
WHEN IsAvailable = 'F' AND IsActive = 'T' THEN 'ACTIVE - NOT AVAILABLE' -- Should not happen
ELSE 'NOT AVAILABLE'
END AS "Status",
CASE
WHEN IsAvailable = 'T' AND IsActive = 'T' THEN '✓ Ready to Use'
WHEN IsAvailable = 'T' AND IsActive = 'F' THEN '⚠ Available but Disabled'
WHEN IsAvailable = 'F' THEN '✗ Not Available in Account'
ELSE 'Unknown Status'
END AS "Usage Status"
FROM
CompanyFeatureSetup
ORDER BY
CASE
WHEN IsAvailable = 'T' AND IsActive = 'T' THEN 1
WHEN IsAvailable = 'T' AND IsActive = 'F' THEN 2
ELSE 3
END,
Name;

Sample Output

How the query works

  1. Pulling feature configuration data

    The query reads directly from CompanyFeatureSetup, which stores metadata about each NetSuite feature and its status in your account.

  2. Determining availability versus activation

    IsAvailable indicates whether the feature is licensed or supported in the account.

    IsActive indicates whether the feature is currently enabled.

  3. Generating a structured status field

    The first CASE statement creates a clear status classification, distinguishing between enabled, available but disabled, and unavailable features.

  4. Adding a human-friendly usage indicator

    The second CASE statement provides simplified labels that can be used in Excel dashboards or reports to quickly assess readiness.

  5. Sorting by feature readiness

    The ORDER BY clause ensures enabled features appear first, followed by available but inactive features, and finally unavailable features.

Why this report is useful

• Implementation planning: verify which modules are already enabled before configuring new functionality.

• Audit and compliance: confirm that required features such as accounting books, revenue recognition, or advanced approvals are active.

• Troubleshooting: quickly determine whether a missing capability is disabled or not available in the account.

• Environment comparison: export from multiple environments (sandbox vs production) to compare feature configurations.

• Governance and change control: review feature activation before upgrades or major configuration changes.

Customization notes

• Add filters to focus on specific features by name or ID.

• Export to Excel and use conditional formatting to highlight disabled but available features.

• Join to role or permission tables if you want to evaluate feature access alongside role assignments.

• Use this report periodically to monitor feature changes after upgrades or administrative updates.

Did this answer your question?