| Change Log | Date | Owner |
|---|---|---|
| Created documentation |
| |
Enhancement:O&G - Opportunities - Disable pre-fill forecast amounts for O&G opportunities |
| |
Enhancement: Forecast exception for Reoccuring business |
| |
Enahncement: |
|
The Product Forecast object is designed to hold forecasted financial, volumetric, and probability-weighted metrics for specific products associated with opportunities. This object facilitates forecasting and revenue prediction by allowing users to aggregate data at the product-opportunity level.
Opportunity: The Product Forecast object is associated with the Opportunity object via a Master-Detail relationship. This enables consolidated reporting and tracking of forecasted metrics across different opportunities.
Product: There is a Lookup relationship with the Product object, tying each forecast to a product. This supports detailed product-level forecasting and analysis.
Opportunity Realized Sales Year: While not directly referenced, historical data from Opportunity Realized Sales Year can inform or validate forecasts, providing a comparison of past actuals versus forecasted metrics.

| Field Label | API Name | Data Type | Description |
| CM Calculation Method | SLV_CM_Calculation_Method__c | Picklist | Method used to calculate the contribution margin, allowing flexibility in forecasting calculations based on different pricing or cost models. |
| Contribution Margin (%) | SLV_Contribution_Margin__c | Percent (3, 2) | The profit margin percentage after deducting variable costs, indicating profitability on a percentage basis. |
| Contribution Margin (Amount) | SLV7_PF_Contribution_Margin_Tot_Amount__c | Formula (Currency) | Total contribution margin amount, representing profit in currency value. |
| Contribution Margin (Amount) in EUR | FX_Contribution_Margin_Amount_EUR__c | Formula (Number) | Contribution margin amount in EUR, allowing for profitability comparison across regions. |
| Contribution Margin (Amount) Old | SLV_Contribution_Margin_Amount__c | Currency (16, 2) | Previously used contribution margin amount, retained for historical reference or calculations. |
| Contribution Margin (Amount) per UoM | SLV7_PF_Contribution_Margin_Amount_UoM__c | Currency (16, 2) | Contribution margin per unit of measure, useful for assessing profitability on a per-unit basis. |
| Contribution Margin (Amount) per UoM EUR | FX_Contribution_Margin_Amount_UoM_EUR__c | Number (16, 2) | Per-unit contribution margin in EUR, standardizing profitability analysis. |
| Created By | CreatedById | Lookup (User) | User who created the forecast record, used for audit and tracking purposes. |
| Currency | CurrencyIsoCode | Picklist | The currency code associated with this forecast, ensuring consistent financial reporting. |
| Forecast Yearly Revenue in Euro | SLV11_Revenue_Euro__c | Formula (Number) | Projected revenue for the forecasted year, expressed in EUR. |
| Forecasted Yearly Revenue | SLV_Revenue__c | Formula (Currency) | Forecasted annual revenue for this product, calculated in the object’s primary currency. |
| Forecasted Yearly Revenue in EUR | FX_Revenue_EUR__c | Formula (Number) | Forecasted yearly revenue in EUR for multi-currency analysis. |
| Last Commercial Roadmap Update | SLV3_Last_Commercial_Roadmap_Update__c | Date/Time | Timestamp of the last roadmap update, useful for tracking recent forecast adjustments. |
| Last Modified By | LastModifiedById | Lookup (User) | User who last modified the forecast, allowing change tracking and accountability. |
| Opp Probability | Opp_Probability__c | Formula (Percent) | Probability percentage of the associated opportunity’s closure, influencing revenue forecasts. |
| Opportunity | SLV_Opportunity__c | Master-Detail (Opportunity) | Link to the Opportunity object, tying the forecast data to specific sales opportunities. |
| Opportunity Product ID | SLV_Opportunity_Product_Id__c | Text (18) | Unique identifier linking the forecast to a specific product in the opportunity, providing line-item level forecast data. |
| Pivot Volume in T | SLV5_Pivot_volume_in_T__c | Formula (Number) | Alternative measurement for volume, possibly used for specific product forecasts, measured in tons. |
| Price | SLV_Price__c | Currency (16, 2) | Unit price of the product, aiding in revenue and profitability calculations. |
| Price in EUR | FX_Price_EUR__c | Number (16, 2) | Price in EUR, enabling standardized price analysis across different currencies. |
| Probability Weighted Revenue | Probability_Weighted_Amount__c | Formula (Currency) | Revenue forecast adjusted by opportunity probability, indicating expected revenue based on win likelihood. |
| Probability Weighted Revenue in EUR | FX_Probability_Weighted_Amount_EUR__c | Formula (Number) | Probability-weighted revenue in EUR, standardizing expected revenue reporting. |
| Probability Weighted Volume | SLV5_1_PF_Probability_Weighted_Volume__c | Formula (Number) | Expected volume adjusted by opportunity probability. |
| Probability Weighted Volume in T | SLV29_PF_Probability_Weighted_Volume_T__c | Formula (Number) | Probability-adjusted volume in tons, supporting specific product forecasts. |
| Product | SLV_Product__c | Lookup (Product) | Link to the Product object, associating forecast data with individual products. |
| Product Name | Product_Name__c | Formula (Text) | Name of the product, for quick reference in reports and dashboards. |
| S.No | Name | Auto Number | Auto-generated unique identifier for each forecast record. |
| SLV7 Warning Indicator | SLV7_Warning_Indicator__c | Formula (Number) | Indicator field, potentially used to highlight forecasts that require review or have significant risk. |
| UnicValueByYear | SLV4_UnicValueByYear__c | Text (25) (External ID) | Unique external ID combining year and other factors, ensuring each forecast record is uniquely identifiable. |
| Unit of Measure | SLV5_PF_Unit_of_Measure__c | Picklist | Specifies the unit in which the product volume is measured, standardizing forecast data across products. |
| Visibility | SLV_Visibility__c | Picklist | Controls visibility settings for the forecast, allowing customization for different user groups. |
| Volume | SLV_Volume__c | Number (16, 2) | Forecasted quantity of the product expected to be sold, essential for production and inventory planning. |
| Year | SLV_Year__c | Picklist | Specifies the year for which the forecast is relevant, useful for annual segmentation. |
| Year Formula | Year_Formula__c | Formula (Text) | A formula field that calculates the year based on other date fields, ensuring alignment with forecast ye |
Flow Name: Create Product Forecasts
Purpose:
This flow creates a forecast record for each Opportunity Line Item added to an opportunity, ensuring that forecasts are generated and updated based on specific business rules.
Retrieve Existing Forecasts
$Record > Product ID$Record > Opportunity IDCheck for Existing Forecasts
Counter Logic and Forecast Creation
Counter Check (Counter < 5):
TEXT(YEAR(DATEVALUE(DATETIMEVALUE({!SLV7_OPP_Targeted_first_delivery_date}))) + {!counter}) |
Counter Check (Counter ≥ 5):
Field Assignments (Set Values)
|

SLV_Price__c to EUR based on the currency exchange rate (CurrencyIsoCode to EUR) for accurate FX pricing.SLV7_PF_Contribution_Margin_Amount_UoM__c to EUR using CurrencyIsoCode to ensure accurate FX calculations for contribution margin.SLV_Product_Forcast_Rollup__c) on the associated Opportunity record to indicate the existence or total of related forecasts, but this feature is currently commented out.The following fields are used to manage ORSY records in synchronization with forecast records:
Product_Forecast__c
Opportunity_Product_Id__c
SLV_Opportunity_Product_Id__c, allowing forecast data alignment with specific products.Opportunity__c
Year__c
Year__c field in ORSY records based on SLV_Year__c from the forecast, aligning each ORSY record with the correct forecasted period.Product__c
SLV_Product__c), ensuring forecast data is product-specific.CurrencyIsoCode
CurrencyIsoCode from the forecast to ORSY records, ensuring currency consistency across forecasted sales data.New opportunity products created for O&G Opportunities will generate Forecast records but these records will not be pre-filled for all years. Only first year will be pre-filled with values from Opportunity Product. The rest will be set to null.
This was done due to nature of O&G business and inability to know in advance. Hence these values stay blank for later years.

Summary
The goal is to streamline forecasting when the Recurring Business checkbox is set to true on an Opportunity. If changed from false to true, the forecast values for the first year will automatically populate subsequent forecast years. Once set to true, the change cannot be reversed or affect the forecasts further if toggled back to false.
Flow Name: OGR_Copy_Forecasts
Type: Autolaunched Flow
Trigger-Based Flow
true.Automated Forecast Copying
false to true, the first-year forecast values are copied to subsequent forecast years.false.One-Time Action
false to true. Subsequent toggling does not alter the forecasts.Flow Structure
true, invoke the OGR_Copy_Forecasts flow to populate forecast years.When Reoccurring Business is TRUE:
Product Forecasts are prefilled:

When Reoccurring Business is FALSE and GBU is O&G, forecasts are not pre-filled:


CASE(SLV5_PF_Unit_of_Measure__c,
'T', SLV_Volume__c / 1,
'KG', SLV_Volume__c / 1000,
'Sh. T', SLV_Volume__c / 1.1023,
'LB', SLV_Volume__c / 2204.6,
'L', SLV_Volume__c * OGR_Conversion_Factor__c,
'GAL', SLV_Volume__c * OGR_Conversion_Factor__c,
0
) |
Flow Name: Opportunity Products - Convert UOMs
Type: Triggered Flow
SLV5_Volume_in_T__cSLV5_Pivot_volume_in_T__cOGR_Conversion_Factor__c (Opportunity Product).0).
