Fixed Fund granular Cost-Basis feature

Establish Fund and Deposit level Cost-Basis for Fixed Funds only

Cost basis is a Policy level value aggregated from the original investment values that have previously been taxed and are free of further taxation by a taxing authority. Taxable gain is determined as the positive difference between the Policy's cash value and the Policy's cost basis. Currently, in OIPA the cost basis is not tracked and can only be tracked through configuration and dynamic fields.

This enhancement adds configuration that defines how the system should modify deposit and fund level cost basis data through the Assignments section within an activity. This enhancement applies to Fixed Funds ("01") only and does not impact other fund types. Cost basis values progress between multiple Activities and the values are available in all <Math> configurations after Valuation processing. Additional configuration in the Values Screen allows cost basis and taxable gain display.

The cost basis values are carried from one valuation to another and are persisted in records on AsDepositValue or AsFundValue tables. Differences between an activity's start and end values are persisted in AsDepositValuationEffect and AsFundValuationEffect tables where data in those tables store changes to a deposit's and fund's various value. For backward compatibility, null values are considered as 0 so there is no requirement to convert pe-existing data.

Configuration modifications

ApplyByFund assignment

This is an existing assignment with a new attribute to associate a cost basis value to the investment. When the new attribute is not configured, no cost basis value will be associated to the investment. All amounts should be positive.

XML Syntax Additions
Element Attribute Description Values
<MoneyType> PRIMARYCOSTBASISCOLLECTION

Optional:

This attribute provides a collection of parent FundGUID/amount pairs.  It indicates the amount of value to add to the fund's Primary Cost Basis and their deposits. This attribute will associate cost basis to Fixed Fund types only and not impact other fund types.

When this attribute is not configured, no cost basis will be associated to this investments.

  • collection

    • provided by a math variable

    • key = FundGUID

    • value = positive amount to impact the cost basis

XML Schema
<Transaction>
    <Math>
        ...
        <Assignment TYPE="ApplyByFund">
            <MoneyType ASSIGNMENTFUNDCOLLECTION="[collection]" BUCKET="[integer]" RATELOCKDATE="[date]" PRIMARYCOSTBASISCOLLECTION="[collection]">[money type code]</MoneyType>
            <MoneyType>. . .</MoneyType>
            <MoneyType NAME="[amount]" FUND="[fundguid]" RATELOCKDATE="[date]" PRIMARYCOSTBASISCOLLECTION="[collection]">[money type code]</MoneyType>
            <MoneyType>. . .</MoneyType>
        </Assignment>
        ...
    </Math>
</Transaction>

RemoveByFund assignment

This is an existing assignment with a new attribute to associate a cost basis value change to a fund. When the new attribute is not configured, there will be no cost basis value change. All amounts should be negative.

XML Syntax Additions
Element Attribute Parent Element Description Values
<Assignment>  

 

provided for context

 
  TYPE

<Assignment>

provided for context

  • RemoveByFund

<MoneyType>  

<Assignment>

provided for context

 
  PRIMARYCOSTBASISCOLLECTION

<MoneyType>

Optional:

This attribute provides a collection of parent FundGUID/amount pairs.  It indicates the amount of value to remove from the Primary Cost Basis from funds and their deposits.  If the attribute VALUATIONCOLLECTION is Yes, the collection key values are DepositGUIDs that directly reference the deposit from which to remove cost basis.

When this attribute is not configured, no cost basis will be associated to this investments.

  • collection

    • provided by a math variable

    • key = FundGUID or DepositGUID

    • value = negative amount to impact the cost basis

XML Schema
<Transaction>
    ...
    <Math>
        ...
        <Assignment TYPE="RemoveByFund">
            <MoneyType ASSIGNMENTFUNDCOLLECTION="[collection]" VALUATIONCOLLECTION="[Yes | No]" BUCKET="[integer]" PRIMARYCOSTBASISCOLLECTION="[collection]">[money type code]</MoneyType>
            <MoneyType>. . .</MoneyType>
            <MoneyType NAME="[amount]" FUND="[fundguid]" PRIMARYCOSTBASISCOLLECTION="[collection]">[money type code]</MoneyType>
            <MoneyType>. . .</MoneyType>
        </Assignment>
        ...
    </Math>
</Transaction>

ValuesScreen business rule

This is an existing rule where the cost basis has been added to the Fund Details table.

XML Syntax Additions
Element Attribute Parent Element Description Element \ Attribute Values
<ValuesScreen>     This is the root element of the rule  
<FundDetails>   <ValuesScreen> provided for context  
<Columns>   <FundDetails> provided for context  
<Column>   <Columns> provided for context  
<Name>   <Column>

Required:

This element provides the name of the system variable that populates the cells of this column.  Included in the list of system variables is any fund level mapped field defined in ValuationFields business rule.

  • Principal

  • Gain

  • Units

  • UnitValue

  • Bucket

  • PrimaryCostBasis

  • TaxableGain

  • NetGain

  • FreeAmount

  • MVAAmount

  • GuaranteedAmount

  • {fund level mapped dynamic fields]

XML Schema - Sample Configuration (ValuesScreen)
<ValuesScreen>
    ...
    <FundDetails>
        ...
        <Columns>
            ...
            <Column>
                <Name>[Units | UnitValue | Principal | Gain | FreeAmount | MVAAmount | GuaranteeAmount | NetGain | Bucket | PrimaryCostBasis | TaxableGain | [dynamic field]]</Name>
                ...
            </Column>
            <Column>...</Column>
            ...
        </Columns>
    </FundDetails>
    ...
</ValuesScreen>