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 doesn't 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 doesn't 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 both conditions are met:
-
The selected report accepts the supplied criterion mapping and value formats.
-
No per-view
reportoverride 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 doesn't 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 doesn't provide a record internal ID or a recordname variable.
An address copied from the address bar may not contain every active report filter. Configuration doesn't 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 doesn't confirm compatibility.
Example of an 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 doesn't 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 doesn't 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 doesn't 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 doesn't 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. For more information, 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 doesn't protect those objects. An update to a bundled financial statement can update its report and layout without reverting a changed layout assignment. For more information, 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 doesn't 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. For more information, see Automatic Configuration Updates.
Profitability settings don't 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. For information about shared revision and activation, see Updating and Validating FSM Configuration.
When Changes Apply
The settings are read when the originating record form loads. Changing a report selection or link doesn't change the selected report's saved definition or accounting transactions.