ForecastingSettings

Represents the Forecasts settings options.

Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.

ForecastingSettings components are available in API version 28 and later. The structure of the ForecastingSettings type changed significantly in API version 30.0 and in API version 53.0.

In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.

This type extends Metadata and inherits its fields.

ForecastingSettings values are stored in a single file named Forecasting.settings in the settings directory of the corresponding package directory. The .settings files are different from other named components because there’s only one settings file for each settings component.

ForecastingSettings components are available in API version 28 and later. The structure of the ForecastingSettings type changed significantly in API version 30.0 and in API version 53.0.

  • Type: boolean
  • Required: No
  • Introduced: API version 47.0
  • Description: If multicurrency is enabled, this field indicates whether the user’s personal currency is used in forecasts. If true (default), the user’s personal currency is used. If false, the corporate currency is used.
  • Type: DisplayCurrency (enumeration of type string)

  • Required: No

  • Description: Removed. The currency for displaying forecasts; either the organization’s corporate currency or each forecast owner’s personal currency setting. The selected currency is the default used in forecasts and selected in setup. The selection must be one of the currencies enabled for use in the organization, and only one selection is allowed. The default is CORPORATE.

    Available in API version 28.0 to 46.0. In API version 47.0 and later, use defaultToPersonalCurrency.

  • Possible values:

    • CORPORATE
    • PERSONAL
  • Type: boolean

  • Required: No

  • Description: Indicates if Salesforce Forecasting is enabled or not. Set to true to enable and false to disable the functionality.

    Disabling Forecasts can result in data loss. Refer to Salesforce Help before disabling any functionality.

  • Type: ForecastingCategoryMapping[]
  • Required: No
  • Description: A list of mappings associating forecast types with forecast rollups. As of Spring ’20 and later, only standard users with the View All Forecasts or Allow Forecasting permission or delegated forecast manager status can access this subtype.
  • Type: AdjustmentsSettings
  • Required: Yes
  • Introduced: API version 53.0
  • Description: The adjustment options for forecasts. In API version 52.0 and earlier, use the adjustmentsSettings field on ForecastingTypeSettings.
  • Type: ForecastRangeSettings
  • Required: Yes
  • Introduced: API version 53.0
  • Description: The default periods and range selections in forecasts. In API version 52.0 and earlier, use the forecastRangeSettings field on ForecastingTypeSettings.
  • Type: QuotasSettings
  • Required: Yes
  • Introduced: API version 53.0
  • Description: Enables or disables quotas in Salesforce Forecasting. In API version 52.0 and earlier, use the quotasSettings field on ForecastingTypeSettings.

The adjustment options for forecasts.

  • Type: boolean
  • Required: Yes
  • Description: Required. Set to true to show separate columns on the forecasts page for each adjustable forecast category and false to show adjustments when a user hovers over a forecast category. All forecast types must contain the same allowExpandedColumns value.
  • Type: boolean

  • Required: Yes

  • Description: Required. Set to true to enable manager adjustments and false to disable them. All forecast types must contain the same enableAdjustments value.

    Disabling adjustments results in adjustment data being purged.

  • Type: boolean

  • Required: Yes

  • Description: Required. Set to true to enable owner adjustments for forecasts and false to disable them. All forecast types must contain the same enableOwnerAdjustments value.

    Disabling adjustments results in forecast adjustment data being purged.

The category mappings for forecasts. This subtype appears eight times within the ForecastingSettings type. Each occurrence includes fields that specify a type of forecast category rollup, which forecast categories each rollup includes, and the weight of each forecast category in the rollup. Organizations using either cumulative forecast rollups or individual forecast category columns must include all eight occurrences of this subtype. As of Spring ’20 and later, only standard users with the View All Forecasts or Allow Forecasting permission or delegated forecast manager status can access this subtype.

  • Type: string (enumeration of type string)
  • Required: Yes
  • Description: Required. This field specifies the API name of the rollup type.
  • Possible values:
    • openpipeline
    • bestcaseforecast
    • commitforecast
    • pipelineonly
    • bestcaseonly
    • commitonly
    • closedonly
    • omittedonly
    • customcategory
  • Type: WeightedSourceCategory[]

  • Required: No

  • Description: This field can occur more than one time when specifying more than one forecast category to include in the rollup type. Each occurrence contains two subfields that specify a forecast category to include in the forecast rollup type and its weight. Some rollup types include more than one forecast category. This list shows the forecast categories that are included in each rollup type.

    • Rollup: openpipeline, Forecast categories: pipeline, best case, commit
    • Rollup: bestcaseforecast, Forecast categories: best case, commit, closed
    • Rollup: commitforecast, Forecast categories: commit, closed
    • Rollup: pipelineonly, Forecast categories: pipeline
    • Rollup: bestcaseonly, Forecast categories: best case
    • Rollup: commitonly, Forecast categories: commit
    • Rollup: closedonly, Forecast categories: closed
    • Rollup: omittedonly, Forecast categories: omitted
    • Rollup: customcategory, Forecast categories: custom category

The product families that an admin chooses to allow forecasting on in Lightning Experience. This field is available in API version 40.0 and later.

  • Type: string
  • Required: No
  • Description: The product family available to forecast on. Each product family is unique.

The group based on a custom picklist that is used to group or roll up forecast totals on the forecasts page. For example, group forecasts using a custom picklist for industry or sales type.

This type extends Metadata and inherits its fields.

  • Type: string
  • Required: Yes
  • Description: Required. The API name that identifies the forecast group.
  • Type: ForecastingGroupItem
  • Required: Yes
  • Description: Required. The picklist values for the forecast type. Possible values include the picklist values defined in groupField.
  • Type: string
  • Required: Yes
  • Description: Required. The field name of the custom picklist used as a group. Possible values include custom, single-selection picklists available in sourceObject.
  • Type: string
  • Required: Yes
  • Description: Required. This read-only field indicates the UI label for the forecast group.
  • Type: string

  • Required: Yes

  • Description: Required. The source object for the picklist for the forecast group. Possible values include:

    • Opportunity
    • OpportunityLineItem
    • Product2

The picklist value that is specified as the forecasting group for a forecast type, and the order it displays in on the forecasts page.

  • Type: int
  • Required: Yes
  • Description: Required. Indicates the display order of the values on the forecasts page.
  • Type: string
  • Required: Yes
  • Description: Required. The API name is that’s derived from the group value.

The setting allows forecast users to submit their forecast numbers at a point in time.

  • Type: boolean
  • Required: Yes
  • Description: Required. Indicates whether forecast submissions are allowed in forecasts.

The settings for each forecast type. An organization can have up to four forecast types active. If you omit a previously enabled forecast type that has a minimum API version less than or equal to the metadata package version, its quota and adjustment data is deleted from the org.

Omitting a forecast type field from the XML can deactivate that forecast type: if the forecast type was available in the release specified by the XML package version, that forecast type is deactivated and its quota and adjustment data are deleted.

  • Type: boolean

  • Required: Yes

  • Description: Required. Indicates whether the forecast type specified in the name field is active.

    Setting the active field to false purges all forecasting data, adjustments, and quotas for the forecast type. When active is set to true, some values on the Forecasts tab don’t appear immediately. An in-process con appears to indicate that the values are being calculated.

  • Type: AdjustmentsSettings
  • Required: No
  • Description: Removed. This field enables or disables the adjustments option in forecasts. In API version 53.0 and later, use globalAdjustmentsSettings.
  • Type: string (enumeration of type string)[]

  • Required: No

  • Description: This read-only field appears four times to specify the four forecast rollup categories displayed in the Forecasts tab, for either cumulative forecast rollups, or individual forecast category rollups. Always use the same 4 values for both displayedCategoryApiNames and forecastedCategoryApiNames.

    Valid values for organizations using cumulative forecast rollups:

    Valid values for organizations using individual forecast category rollups:

  • Possible values:

    • openpipeline
    • bestcaseforecast
    • commitforecast
    • closedonly
    • pipelineonly
    • bestcaseonly
    • commitonly
  • Type: string (enumeration of type string)[]

  • Required: No

  • Description: This field appears four times to specify the four forecast rollup categories used in the organization, for either cumulative forecast rollups, or individual forecast category rollups.

    Valid values for organizations using cumulative forecast rollups:

    Valid values for organizations using individual forecast category rollups:

    Changing from one set of four values to the other changes the organization setting for Enable Cumulative Forecast Rollups in Setup. If this field is omitted, the setting isn’t changed.

  • Possible values:

    • openpipeline
    • bestcaseforecast
    • commitforecast
    • closedonly
    • customcategory
    • pipelineonly
    • bestcaseonly
    • commitonly
  • Type: ForecastingDateType (enumeration of type string)

  • Required: Yes

  • Description: Required. The date type that forecast amounts are based on.

    Valid values are:

    • OpportunityCloseDate (default)
    • ProductDate
    • ScheduleDate
    • OLIMeasureCloseDateOnly
    • ProductDateOnly
    • ScheduleDateOnly
    • OpportunityCustomDate (Available in API version 57.0 and later)
    • OLIMeasureOppCustomDateOnly (Available in API version 57.0 and later)

    Available in API version 42.0 and later. In API version 42.0 only, date types are read only and available only via API.

  • Type: ForecastRangeSettings
  • Required: No
  • Description: Removed. The default periods and range selections in forecasts. In API version 53.0 and later, use globalForecastRangeSettings.
  • Type: boolean
  • Required: Yes
  • Introduced: API version 41.0
  • Description: Required. Indicates whether the forecasting type has product family forecasts enabled.
  • Type: boolean
  • Required: Yes
  • Description: Required. This read-only field indicates whether the forecast type is based on revenue amounts. The value of isAmount is always the opposite of the value of isQuantity.
  • Type: boolean
  • Required: Yes
  • Description: Required. This read-only field indicates whether the forecast type can currently be used in the organization. For example, the revenue splits forecast type can’t be used in an organization that doesn’t have Opportunity Splits enabled.
  • Type: boolean
  • Required: Yes
  • Description: Required. This read-only field indicates whether the forecast type is based on product quantities. The value of isQuantity is always the opposite of the value of isAmount.
  • Type: string (enumeration of type string)[]

  • Required: No

  • Description: This read-only field appears twice to specify the two forecast rollup categories that forecast managers can adjust in the organization for either cumulative forecast rollups or individual forecast category rollups. This field can only be used when the enableAdjustments field contains a value of true. If both the managerAdjustableCategoryApiNames and ownerAdjustableCategoryApiNames fields are being used, they must contain the same two values. Their values must also be consistent with the values of the enableAdjustments and enableOwnerAdjustments fields.

    Valid values for organizations using cumulative forecast rollups:

    Valid values for organizations using individual forecast category rollups:

  • Possible values:

    • bestcaseforecast
    • commitforecast
    • bestcaseonly
    • commitonly
  • Type: string
  • Required: Yes
  • Description: Required. This read-only field indicates the UI label for the forecast type.
  • Type: string

  • Required: Yes

  • Introduced: API version 47.0

  • Description: Required. The name of the forecast type. Each forecast type requires a specific string.

    Using ForecastingSettings, you can activate only these forecast types.

    • LineItemQuantityProductDate: Product Families - Quantity by product date. - LineItemQuantityScheduleDate: Product Families - Quantity by schedule date. - LineItemRevenueProductDate: Product Families - Revenue by product date. - LineItemRevenueScheduleDate: Product Families - Revenue by schedule date. - OpportunityLineItemQuantity: Product Families - Quantity.
    • OpportunityLineItemRevenue: Product Families - Revenue.
    • OpportunityOverlayRevenue: Opportunity Overlay Splits - Revenue.
    • OpportunityQuantity: Opportunities - Quantity.
    • OpportunityQuantityProductDate: Opportunities - Quantity by product date. Available in API versions 43.0 and later.
    • OpportunityQuantityScheduleDate: Opportunities - Quantity by schedule date. Available in API versions 43.0 and later.
    • OpportunityRevenue: Opportunities - Revenue.
    • OpportunityRevenueProductDate: Opportunities - Revenue by product date. Available in API versions 43.0 and later.
    • OpportunityRevenueScheduleDate: Opportunities - Revenue by schedule date. Available in API versions 43.0 and later.
    • OpportunitySplitRevenue: Opportunity Revenue Splits - Revenue.
    • Territory_Model_NameN: Territories, where Territory_Model_Name is the name of your active territory model in the API. Territory_Model_Name can be followed by N, an auto-generated number that distinguishes between territory forecast types. Available in API versions 44.0 and later.
    • Territory_Model_NameN_ProductFamily: Deprecated. Territories - Product Families, where Territory_Model_Name is the name of your active territory model in the API and can be followed by N, an auto-generated number that distinguishes between territory forecast types. Available in API versions 45.0 and 46.0. For territory models created in API version 47.0 and later, Territory_Model_NameN is used.
    • The name of a custom opportunity split type that has been enabled as a forecast type. Custom split types are based on currency fields, which can contain revenue amounts only.

    To create and manage other forecast types in API version 52.0 and later, use ForecastingSourceDefinition, ForecastingType, and ForecastingTypeSource.

  • Type: OpportunityListFieldsSelectedSettings
  • Required: Yes
  • Description: Required. The fields selected to appear in the opportunity pane of the forecast page for the forecast type. One of the selected fields must be Opportunity Name. You can select up to 15 fields.
  • Type: string
  • Required: No
  • Introduced: API version 41.0
  • Description: Indicates whether the forecasting type has a split type, and if so, the name of the split type.
  • Type: string (enumeration of type string)[]

  • Required: No

  • Description: This read-only field appears twice to specify the two forecast rollup categories that forecast owners can adjust in the organization, for either cumulative forecast rollups, or individual forecast category rollups. This field can only be used when the enableOwnerAdjustments field contains a value of true. If both the managerAdjustableCategoryApiNames and ownerAdjustableCategoryApiNames fields are being used, they must contain the same two values. Their values must also be consistent with the values of the enableAdjustments and enableOwnerAdjustments fields.

    Valid values for organizations using cumulative forecast rollups:

    Valid values for organizations using individual forecast category rollups:

  • Possible values:

    • bestcaseforecast
    • commitforecast
    • bestcaseonly
    • commitonly
  • Type: QuotasSettings
  • Required: No
  • Description: Removed. This field enables or disables the quota option in forecasts. In API version 53.0 and later, use globalQuotasSettings.
  • Type: string
  • Required: No
  • Introduced: API version 41.0
  • Description: Indicates whether the forecasting type has a Territory2 model, and if so, the name of the Territory2 model.

The default periods and range selections in forecasts. Users can forecast up to 15 months, 15 fiscal periods, or 8 quarters in the future or past. If your forecast range includes the current month, period, or quarter, the forecasts page shows the current month, period, or quarter by default. If not, the first month, period, or quarter of the range is selected. All forecast types must contain the same forecastRangeSettings field values.

  • Type: int
  • Required: Yes
  • Description: Required. Indicates the beginning month or quarter to display by default.
  • Type: int
  • Required: Yes
  • Description: Required. Indicates the number of months or quarters to display by default. The maximum number of months is 12 and quarters is 8.
  • Type: PeriodTypes (enumeration of type string)
  • Required: Yes
  • Description: Required. Indicates what type of period to use.
  • Possible values:
    • Month
    • Quarter
    • Week
    • Year

A read-only list of the API names and UI labels for all fields on the Opportunity object.

  • Type: string
  • Required: Yes
  • Description: Required. The API name of the Opportunity field.
  • Type: string
  • Required: Yes
  • Description: Required. The UI label of the Opportunity field.

The fields selected to appear in the opportunity pane of the forecast page for the forecast type. One of the selected fields must be Opportunity Name. You can select up to 15 fields.

  • Type: string[]
  • Required: No
  • Description: Specifies names of fields to display in the opportunity pane.

The fields not selected to appear in the opportunity pane of the forecast page for the forecast type.

  • Type: string[]
  • Required: No
  • Description: Specifies names of fields not displayed in the opportunity pane.

QuotasSettings indicates if quotas are available in forecasts.

  • Type: boolean
  • Required: Yes
  • Description: Required. Set to true to enable quotas. All forecast types must contain the same showQuotas field value.

This field can occur more than one time when specifying more than one forecast category to include in the rollup type. Each occurrence contains two subfields that specify a forecast category to include in the forecast rollup type and its weight. Some rollup types include more than one forecast category. This table shows the forecast categories that are included in each rollup type.

  • Type: string (enumeration of type string)
  • Required: Yes
  • Description: Required. Specifies the API name of a forecast category to include in the rollup type. The valid values are.
  • Possible values:
    • pipeline
    • best case
    • commit
    • closed
    • omitted
    • customcategory
  • Type: double
  • Required: Yes
  • Description: Required. Specifies the weight given to the forecast category when calculating the forecast for the rollup type. The only supported value is 1.0.

The following is an example of a ForecastingSettings component that enables the Opportunity-Revenue forecast type, adjustments, owner adjustments, and quotas, and changes forecast range settings:

The wildcard character * (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the manifest file, see Deploying and Retrieving Metadata with the Zip File.