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. |
|
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 |
|
|
<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. |
|
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. |
|
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>