Billing Contracts Intermediate Processes
After importing the input fields and augmenting them with the data from their lookup objects, the Financial Analytics dataflow filters out non-relevant or repeated records.
You can use the dataflow editor in Analytics Studio to visualize the Financial Analytics dataflow and its nodes. Alternatively, you can download the dataflow definition file which is a JSON file representing the dataflow and its logic. For more information on the dataflow editor and the dataflow definition file, see Configure the Dataflow in the Salesforce Help.
Filters
These are the main filter nodes in the Billing Contracts flow.
Filter Node |
Description |
---|---|
FFBC_ContractLineItem_FILTER |
Filters the contract by status and type. |
Calculated Fields
These are the fields calculated by the Billing Contracts flow.
Field API Name |
Description |
---|---|
CompositeKey |
These fields are used in preliminary calculations by the Billing Contracts flow and are not present in the output dataset. |
NextContractLeftKey | |
PreviousContractLeftKey | |
TempNextContractRightKey | |
TempPreviousContractLineItemLeftKey | |
TempPreviousContractRightKey | |
PreviousContractRightKey | |
NextContractRightKey | |
ComputedNextOpportunityId | |
ComputedNextOpportunityName | |
ComputedNextOpportunityProcessAction | |
RenewedContractLineItemLeftKey | |
RenewedContractLineItemRightKey | |
Churn |
The churn value calculated using the following formula: When 'ContractLineItemFfbcEndDate' is not null && 'NextContractLineItemId' == \"Unknown\" && 'ContractFfbcStatus' != \"Superseded\" && 'SystemNextOpportunityProcessAction' != ${Variables.ReplaceActionLiteral} then -'ValueContractLineItemFfbcMonthlyRecurringRevenue' |
ChurnAnnual | Calculates the annualized churn value. |
ContractAdjustmentsReplaced |
The contract adjustments replaced calculated using the following formula: When 'SystemNextOpportunityProcessAction' == ${Variables.ReplaceActionLiteral} then -'ValueContractLineItemFfbcMonthlyRecurringRevenue' |
ContractAdjustmentsReplacedAnnual | Calculates the annualized contract adjustments replaced value. |
ContractAdjustmentsReplacement |
The contract adjustments replacement calculated using the following formula: When 'SystemProcessAction' == ${Variables.ReplaceActionLiteral} && 'ContractFfbcStatus' != \"Superseded\" then 'ValueContractLineItemFfbcMonthlyRecurringRevenue'. |
ContractAdjustmentsReplacementAnnual | Calculates the annualized contract adjustments replacement value. |
DownSell |
The down sell value calculated using the following formula: When 'PreviousContractLineItemId' != \"Unknown\" && 'SystemProcessAction' != ${Variables.UpsellActionLiteral} && 'ValueContractLineItemFfbcMonthlyRecurringRevenue' < 'ValueTotalPreviousMonthlyRecurringRevenue' then'ValueContractLineItemFfbcMonthlyRecurringRevenue' - 'ValueTotalPreviousMonthlyRecurringRevenue' |
DownSellAnnual | Calculates the annualized down sell value. |
NetNew |
The net new value calculated using the following formula: When 'SystemProcessAction' == ${Variables.NewContractActionLiteral} && 'ContractFfbcStatus' != \"Superseded\" then case when 'PreviousContractLineItemId' != \"Unknown\" then 'ValueTotalPreviousMonthlyRecurringRevenue' else 'ValueContractLineItemFfbcMonthlyRecurringRevenue' |
NetNewAnnual | Calculates the annualized net new value. |
RenewalGap |
The renewal gap value calculated using the following formula: When 'SystemProcessAction' == ${Variables.RenewActionLiteral} && 'ContractLineItemFfbcPreviousContractLineItemId' != \"Unknown\" then daysBetween(toDate('RenewedContractLineItemFfbcEndDate', \"yyyy-MM-dd\"), toDate('ContractLineItemFfbcStartDate', \"yyyy-MM-dd\")) - 1 when 'SystemNextOpportunityProcessAction' == ${Variables.RenewActionLiteral} && 'NextContractLineItemId' != \"Unknown\" then daysBetween(toDate('ContractLineItemFfbcEndDate', \"yyyy-MM-dd\"), toDate('NextContractLineItemFfbcStartDate', \"yyyy-MM-dd\")) - 1 |
Renewals |
The renewals value calculated using the following formula: When 'PreviousContractLineItemId' != \"Unknown\" && 'SystemProcessAction' == ${Variables.RenewActionLiteral} then case when 'ValueContractLineItemFfbcMonthlyRecurringRevenue' > 'ValueTotalPreviousMonthlyRecurringRevenue' then 'ValueTotalPreviousMonthlyRecurringRevenue' else 'ValueContractLineItemFfbcMonthlyRecurringRevenue' |
RenewalsAnnual | Calculates the annualized renewals value. |
ReplacementDate |
The replacement date calculated using the following formula: case when 'SystemNextOpportunityProcessAction' == ${Variables.ReplaceActionLiteral} && 'ContractLineItemFfbcEndDate' is not null then toDate('ContractLineItemFfbcEndDate_sec_epoch' + 86400) |
Upsell |
The up sell value calculated using the following formula: case when 'SystemProcessAction' == ${Variables.UpsellActionLiteral} then 'ValueContractLineItemFfbcMonthlyRecurringRevenue' when 'PreviousContractLineItemId' != \"Unknown\" && 'ValueContractLineItemFfbcMonthlyRecurringRevenue' > 'ValueTotalPreviousMonthlyRecurringRevenue' then 'ValueContractLineItemFfbcMonthlyRecurringRevenue' - 'ValueTotalPreviousMonthlyRecurringRevenue' |
UpsellAnnual | Calculates the annualized up sell value. |
ValueRevenueRecognizedContractLineItem |
Populated from the field specified in the Recognized To Date Value field on the settings record for the Billing Contract Line Item object. The field on the Billing Contract Line Item object can be a currency or a number field. In either case, the value is converted to the currency of the Integration User. This ensures that the value is in the same currency as all other fields in the Billing Contracts dataset. |
ValueContractLineItemDeferredRevenue | Calculated as ValueContractLineItemFfbcTotalBilled - ValueRevenueRecognizedContractLineItem. When ValueRevenueRecognizedContractLineItem is not available in the dataset, this is set to ValueContractLineItemFfbcTotalBilled. |