Configuring FSM Profitability Reporting
Configure the reports that the asset, customer, and project shortcuts open and the record criteria passed to each report. Maintain the reports and financial layouts in NetSuite. For more information about this feature and its limitations, see FSM Profitability Reporting.
A shortcut has two configuration requirements: select the report, and keep the link's criterion parameters compatible with that report's filters. Changing a report ID does not change the criterion mapping or the report definition.
You need access to the selected report.
This topic includes the following sections:
Properties and Defaults
The following table lists the profitability settings, defaults, and effects.
|
Property or Setting |
Location |
Accepted Value |
Default |
Effect |
|---|---|---|---|---|
|
|
|
Report internal ID |
|
Selects the asset report unless its view overrides |
|
|
|
Report internal ID |
|
Selects the report shared by customer and project unless a view overrides |
|
|
|
Boolean |
|
Removes the button when |
|
|
Each profitability view |
Button internal ID |
|
Identifies the button. It does not change the link template's record-name value. |
|
|
Each profitability view |
Text or translation identifier |
Record-specific translated Profitability Report label. |
Changes the button text. |
|
|
Each profitability view |
Report internal ID |
Resolved from the accounting setting or FSM Account. Uses |
Overrides the report for that view after the shared selection. |
|
|
Each profitability view |
Link template |
Templates in the Default JSON example. |
Builds the link using the selected report and that view's context values. |
The three views/.../profitability names are literal top-level JSON keys. These keys are not nested views, asset, and profitability objects.
An accounting value of 0 uses the Account fallback. A per-view report override is applied later. Set hidden to true to remove a button instead of setting report to 0.
Default JSON
The fragment shows the relevant standard defaults. Report IDs and translated labels are resolved at runtime and are omitted.
{
"accounting": {
"asset_profitability_report": 0,
"entity_profitability_report": 0
},
"views/asset/profitability": {
"hidden": false,
"name": "custpage_nx_profitability",
"url": "/app/reporting/reportrunner.nl?cr=${ report }&crit_2=${ name }"
},
"views/customer/profitability": {
"hidden": false,
"name": "custpage_nx_profitability",
"url": "/app/reporting/reportrunner.nl?cr=${ report }&crit_1_mod=${ date }&crit_1_from=${ start }&crit_1_to=${ end }&crit_2=${ entity }&crit_3=${ name }"
},
"views/project/profitability": {
"hidden": false,
"name": "custpage_nx_profitability",
"url": "/app/reporting/reportrunner.nl?cr=${ report }&crit_1_mod=${ date }&crit_1_from=${ start }&crit_1_to=${ end }&crit_2=${ entity }&crit_3=${ name }"
}
}
For shared editing, merging, and activation, see FSM Configuration. Merge the required properties into the existing configuration. This fragment is not a complete replacement.
Changing the Selected Report
Set accounting.asset_profitability_report to the intended asset report ID, or accounting.entity_profitability_report to the intended report ID shared by customer and project shortcuts. To select a report for only one shortcut, set that view's report property instead. A per-view report takes precedence over the accounting setting.
The following fragment changes only the report selection. Changing only the report ID is sufficient if the selected report accepts the supplied criterion mapping and value formats. This condition also requires that no per-view report override takes precedence.
The report IDs in this example are placeholders. Replace each ID with the ID of a report that you can access in your account.
{
"accounting": {
"asset_profitability_report": 1234,
"entity_profitability_report": 5678
}
}
${ report } inserts the selected ID into the link's cr parameter. The numbered crit_* parameters remain unchanged. FSM supplies the record and date values independently. It does not inspect the selected report and match those values to its filters. A report can open with an unintended scope if the mappings are incompatible.
If the replacement accepts the supplied mapping, the existing link can remain. Otherwise, override url in the corresponding view with the target report's established mapping. Customer and project share the accounting report selection but have separate views and record criteria. Retain the mapping needed by each shortcut.
The following table lists the supplied criterion mappings.
|
Shortcut |
Supplied Criterion Parameters |
Supplied Value |
|---|---|---|
|
Asset |
|
Asset name. |
|
Customer |
|
Custom date mode and broad date range. |
|
Customer |
|
Customer entity title for the hierarchy criterion. |
|
Customer |
|
Empty value for |
|
Project |
|
Custom date mode and broad date range. |
|
Project |
|
Empty Customer value. |
|
Project |
|
Displayed parent name followed by |
These criterion numbers apply to the supplied reports and are not field identifiers that you can transfer to any report.
The following table lists the values available to a replacement link template.
|
View |
Template Value |
Contents |
|---|---|---|
|
Asset |
|
Selected report ID. |
|
Asset |
|
URL-encoded asset name. |
|
Customer |
|
Selected report ID. |
|
Customer |
|
|
|
Customer |
|
January 1, 1970, in the account's date format. |
|
Customer |
|
January 1, 2100, in the account's date format. |
|
Customer |
|
URL-encoded customer entity title. |
|
Customer |
|
Empty value. |
|
Project |
|
Selected report ID. |
|
Project |
|
|
|
Project |
|
January 1, 1970, in the account's date format. |
|
Project |
|
January 1, 2100, in the account's date format. |
|
Project |
|
Empty value. |
|
Project |
|
URL-encoded displayed parent name plus |
Use the target report's parameter numbers and required value format. Retain ${ report } where the report ID is substituted, and replace captured record and date values only with values supplied by that view. The supplied record names are already URL encoded. The standard context does not provide a record internal ID or a recordname variable.
An address copied from the address bar may not contain every active report filter. Configuration does not generate a complete filtered link or infer missing parameters. To confirm compatibility, check the selected report, its criteria, and the resulting report scope. A copied address alone does not confirm compatibility.
Example: Asset Report with a Different Criterion
This example is conditional. Suppose your asset report has internal ID 1234, and its asset-name criterion has been confirmed as crit_4 instead of the supplied report's crit_2. The criterion must accept the asset name supplied by the standard view. Change both the selection and the link mapping:
The report ID 1234 and criterion crit_4 are examples. Replace these values with your report's ID and confirmed asset-name criterion.
{
"accounting": {
"asset_profitability_report": 1234
},
"views/asset/profitability": {
"url": "/app/reporting/reportrunner.nl?cr=${ report }&crit_4=${ name }"
}
}
For an asset named Pump 01, with no per-view report override, this builds:
/app/reporting/reportrunner.nl?cr=1234&crit_4=Pump%2001
The ID 1234 and criterion crit_4 illustrate the relationship. These example values are not supplied defaults or a universal mapping. Use your target report's ID and established criterion parameter. If its asset criterion remains crit_2 with the same value format, only the report ID needs to change.
This fragment does not change the customer or project shortcuts. Merge this fragment into the existing configuration and preserve other settings.
Changing Button Visibility
To remove the asset shortcut:
{
"views/asset/profitability": {
"hidden": true
}
}
Use the corresponding customer or project view key to hide its button. Reports and financial data remain available subject to NetSuite permissions. You can add custom record buttons through the SuiteScript Form.addButton(options) method. Maintain the report links and criteria in that customization.
Dependencies and Customization Limits
The supplied asset report uses the transaction-line asset reference. An asset's customer or project relationship alone does not supply that association.
Fixed numbered parameters depend on the selected report's filter definition. Changing filters, operators, or ordering requires the mapping to be reviewed again. FSM does not perform that review or automatically repair a shortcut. If a report requires a value absent from the standard view's template context, changing criterion numbers alone does not supply it.
Use a separately owned report copy for independently maintained reporting. For Asset financial reporting, establish whether its financial layout is shared and copy the layout separately when independent changes are needed. See Saved Reports Page and Making a Layout Editable in the Financial Report Builder.
Effect of Updates on Reports and Configuration
The saved report, its financial layout, and FSM configuration are separate objects:
-
Reports and layouts: a bundle update can change the supplied report and layout objects. Changes to supplied originals can be overwritten. Selecting a report through configuration does not protect those objects. An update to a bundled financial statement can update its report and layout without reverting a changed layout assignment. See Bundle Update Reference and Bundling NetSuite Financial Statements.
-
Report IDs and link overrides: these are saved in the active custom configuration and loaded over FSM defaults. Changing the standard defaults does not itself rewrite that saved JSON. A targeted configuration update can replace or delete a stored value if that value matches the update's expected current value. Replacing a parent object or the complete configuration can also remove settings. See Automatic Configuration Updates.
Profitability settings do not necessarily need to be entered again after an update. Retention depends on the configuration update or replacement applied. Preserved report IDs and links must still be compatible with the current report definition.
When preparing a replacement configuration, preserve the selected accounting report IDs and any associated per-view report and url overrides together. A retained previous configuration can provide these fragments. Verify that the mappings remain compatible with the current reports. See Updating and Validating FSM Configuration for shared revision and activation guidance.
When Changes Apply
The settings are read when the originating record form loads. Changing a report selection or link does not change the selected report's saved definition or accounting transactions.
Related Topics
- FSM Configuration Reference
-
FSM Profitability Reporting
- FSM Configuration
- FSM NetSuite View Configuration
- FSM Record Model Configuration