Transactions Output Specification — XML

General Information

Overview of File Types

The specifications for the batch transactions output and real-time transactions output for Morningstar Retirement Manager appear in this document. The schema is the same regardless whether the transaction is sent back as a batch file or a real-time string. The only difference is that only one user will appear in each real-time transaction string, but there could be multiple users in the batch transaction files. There are three different files that will be explained in this document:

  1. Morningstar batch transaction file and real-time transactoin string
  2. Client real-time confirmation receipt file
  3. Client batch confirmation reconciliation file.

Real-Time Transaction String

The Morningstar real-time transaction string will be used when a transaction is generated from the Retirement Manager web application for Advice, Guidance, and **Managed Accounts service options. The transaction string will indicate which service the user has chosen. If any service option besides “NONE” is sent back, the transaction will also include current rebalancing and future investment allocations. Other items, such as contribution rate, catch up contributions, and the user’s company stock target, will also be sent back if required by the client. If "NONE" is sent back as the service option the participant is being opted-out of this service.

Batch Transaction File

The Morningstar batch transactions output file will be used in any of the following circumstances: (1) clients who do not use the Retirement Manager web interface to enroll users or adjust data for the Managed Accounts service option, (2) batch quarterly rebalancing transaction files for Managed Accounts, (3) for the Managed Accounts service option, all participants who enroll or make changes through the Retirement Manager web interface will have transactions sent back in a batch file. (For Managed Accounts participants who are deviated and require consultant review, the batch transaction will not be sent until after the consultants have approved it). Batch transactions will include the service option chosen as well as any current rebalancing and future investment allocations. Other items, such as contribution rate, catch up contributions, and the user’s company stock target, will also be sent back if required by the client and setup in the configuration file. If "NONE" is sent back as the service option the participant is being opted-out of this service.

For Managed Accounts, please note the following:

  • If the user is simply opting out of Managed Accounts through the Retirement Manager web application (and not switching to a different service option), this will be indicated through a real-time and batch transaction sent with service option of ‘NONE’. This type of opt-out transaction will not include fund reallocations or future allocations. (If the user is opting out of Managed Accounts, but switched to another service option, such as Advice or Guidance, a real-time transaction will be sent out as described above with the new service option value).
    • If the real-time opt-out transaction is confirmed by the record keeper real-time, Morningstar will not send an opt-out transaction in the batch transaction file.
    • If Morningstar does not receive a real-time confirmation of the real-time opt-out transaction, Morningstar will send the opt-out transaction in the batch transaction file.
    • If the user is opted-out and is confirned by the record keeper, the record keeper should not send this user in the batch opt-out file. The batch opt-out file should only include users cancelling service outside of the Retirement Manager interface.
  • **For users enrolling in Managed Accounts, we will send back an opt-in transaction letting the client know the user is opting into Managed Accounts. This type of transaction is sent real-time for real-time opt-in and via batch for batch opt-in, and will be indicated by a service option of ‘QualMRP’, but will not include fund reallocations or future allocations. These will later get a batch transaction for fund reallocations and future allocations, as described above.
  • If the user is already enrolled in Managed Accounts, updates information through the Retirement Manager web application, and submits a transaction, transaction is always sent back in a batch file. In this case, no real-time transaction is sent at all (neither a regular real-time transaction nor the real-time opt-in transaction letting the client know that the user is opted into Managed Accounts). This scenario does not apply if the user is switching to a different service option.
  • Direct transactions must be used for any client offering a Managed Account service option. In addition, instructions regarding company stock, when applicable, will be included in the transaction string and must be accepted and processed by the client.

For clients using direct transactions, the client real-time confirmation receipt file will be sent to Morningstar and information from that file will be displayed on the web application to confirm that the client has received the transactions and have queued transaction to be processed.

The client batch confirmation reconciliation file will be sent to Morningstar for those participants that enroll in Managed Accounts real-time (via the website) or batch. This file does not apply to Advice or Guidance service options. This file will indicate which transactions were successfully processed. Morningstar has an automatic checking process that will reconcile transactions. If Morningstar has not received a client batch confirmation receipt within a specified amount of time, we will send the client a transactions missing email with error reports.

Batch Output Spec

Purpose of This Document for Batch Transactions

Morningstar Investment Management LLC uses the data collected from a provider (in the Plan and Participant Data Batch XML files) to generate recommendations to be provided to participants by the provider or sponsor. The recommendations and other results of this program are sent to the provider in XML format. This document outlines the specific data points that will be included in this XML file. The batch output spec will be used with Managed Accounts during quarterly rebalancing, batch updates, and when consultants specifically review a user’s recommendations from the web application.

Delivery Method of Batch Files

Morningstar will prepare the batch XML file according to the schema specifications. Files will be transferred to the client using an FTP service. Morningstar will post the files to our FTP site, and the client will retrieve the files from the FTP site. One of two security methods will be used. Either the files will be PGP encrypted before being put onto the Morningstar FTP site, or SSL FTP will be used.

Naming Convention for Batch Files

The file name is “ClientID_MA_transaction_MMDDYYYY_HHMM_server_filenum.xml” for the transaction file that Morningstar will put on the FTP site. The clientID is the code assigned by Morningstar. The filenum value, if present, represents how many transaction files were generated for the clientID. This is an optional value that will only be appended to the filename if the client has requested a limit to the number of records per transaction file.

Real-Time Output Spec

Purpose of This Document for Real-Time Transactions Morningstar Investment Management LLC uses the data collected from the record keeper (in the Plan Batch and Participant Real-time XML Files) and the web application to generate recommendations to be provided to participants by the provider or sponsor. The recommendations and other results of the program are sent to the provider in XML format. This document outlines the specific data points that will be included in this real-time transaction string.

Delivery Method of Real-Time Files Morningstar will prepare the real-time transaction string according to the schema specifications. The transaction will be transferred to the client when the user enrolls in Managed Accounts or adjusts data for Quantitative Managed Accounts, Advice, or Guidance using the web application. Morningstar will use the transurl sent during Seamless Login as the URL to which transactions are sent. The transaction instructions are sent in XML format. This transaction XML string will include instructions for realigning current balances, setting future contributions, and adjusting contribution rates.

Direct Method (Server to server communication) Morningstar passes the transaction instructions to your server using HTTPS POST for processing. Your parsing program will grab the fund identifiers, percentages, and contribution rates and implement the transactions.

Redirect Method (Server to client communication) In this method, Morningstar passes the transaction instructions to your web site for processing. However, instead of directly processing the instructions, you pre-populate the screen (or screens) for realigning balances, setting future contributions, and changing deferral rate on your web site with our recommendations, and the participant executes their changes directly on your site. No confirmation information is passed back to Morningstar.

Client Real-time Participant Transaction Confirmation of Receipt Files

The client will send back a real-time response with the confirmation that the transaction was received by the client and was processed or queued to be processed in the case of direct transactions. This is the DTD:

<!--**********************************************************************-->
<!-- Filename: CFTransConfirm.dtd  -->
<!--  -->
<!-- Version 1.0 8/8/03  -->
<!--**********************************************************************-->
<!ELEMENT TransXML(ReturnCode,ConfirmNumber,ConfirmInformation)>
<!ELEMENT ReturnCode (#PCDATA)>
<!ELEMENT ConfirmNumber (#PCDATA)>
<!ELEMENT ConfirmInformation (#PCDATA)>

Morningstar will store the value given by ReturnCode, and display the information given in ConfirmInformation to the participant. You will control the content of the confirmation page that is displayed by us to the participant. Please note that the element names are case sensitive.

ReturnCode – Return status of transaction processing. This field is used to indicate whether the transaction was processed or queued to be processed on your site. Anything other than 0 indicates to us that there was an error in processing, and the transaction instructions were not completed. We will display an error message on the web application indicating that an error has occurred and to contact the client for more information.

ConfirmNumber – This element was carried over from the legacy platform and is not used in Retirement Manager.

ConfirmInformation – This is html code and text that we display to the participant indicating the results of the transaction. It may include text indicating the transaction was processed successfully, or error status, etc. You control the content and format--we simply serve the page to the participant.

Detailed Element Descriptions

Transaction Data: Detailed Element Descriptions The following table lists detailed element descriptions for all fields that may contain data in the transaction XML file. Please note the following:

  • Some data points are required in the schema and must be included in the transaction. These fields will be in bold font in the ‘Element Name’ column.
  • Some data points may be required in other special situations and are labeled accordingly in the ‘Comments’ column.
  • To confirm that the correct data was used to generate the results sent in this transaction file, some data points that are collected from the client in the plan and participant XML files are also sent back as part of this transaction XML file. These will be designated as such in the ‘Comments’ column.

Important Notes:

  • All data elements will be included in the transaction with a value, if the data is available. If the value is ‘null’ for a data point, that section will be omitted.
  • In addition to the data elements listed here, the following elements may also be sent in the real-time transaction, preceding the Transaction node. Cookie – The value of this element is the value of the cookie parameter sent by the client in seamless login (if applicable). If the client does not send a cookie value in seamless login, this element will not be included in the transaction. sid – Session ID. The value of this element is the value of the sid parameter sent by the client in seamless login (if applicable), or Morningstar’s internal session ID value.
Element NamePath in SchemaFormer nameElement DescriptionElement TypeElement Type RequirementsDefaultExampleRequired?Displayed?FeatureComments
Provider Level Identifier:
ClientIDPlanDefImportRequestCOMPANYIDYour company’s plan IDstring
Alphanumeric (4 character min, 10 characters max)
AAAARequiredNProvider Level Identifier:Morningstar assigns this value. The same client ID will be used across all products. ClientID must begin with a character in the alphabet and cannot begin with a numerical value.
TPA Level ID:
TpaIDExtPlanDefinitionTypeTPAIDThird Party Administrator IDstring
Alphanumeric
AaaaaaOptionalNTPA Level ID:This field is optional when there are TPAs. The client may choose to send this field when a TPA has multiple plans under it. The client determines this value. It is best to use a descriptive name that identifies the TPA.

Please Note: If a TpaID value is sent for the plan in the plan batch file, the same value must also be sent for TpaID in the participant file for any participants in that plan.
Plan Identifiers and Global Data Elements:
PlanIDPlanDefinition/PlanUpdatePLANIDYour internal plan identification codestring
Alphanumeric
001
zvfz
RequiredNPlan Identifiers and Global Data Elements:The client determines this value. It is an internal identifier used to distinguish individual plans.
50 characters is the maximum character length for this field.
TestPlanPlanDefinition/PlanUpdateTESTPLANIndicates whether the plan is a test planBooleanFALSEtrue/falseOptionalNPlan Identifiers and Global Data Elements:This field is used for calculations in the Measurement Module. If it is a test plan, the plan will not appear in the Measurement Module. This field can also be used for billing purposes.
PlanNamePlanDefinition/PlanUpdatePLANNAMEPlan namestring
Alphanumeric (Less than 100 characters)
See commentsXYZ Company 401(k)OptionalYPlan Identifiers and Global Data Elements:This field is not required for Web Applications, but if it is not sent, plan names would appear in the Measurement Modules or on billing reports; instead the PlanID will be listed. Also, within the web interface, there are several locations where the plan name appears. If plan name is not sent, the plan type will appear in its place as the default. There may be confusion in the case of multiple plans of the same type if this occurs.

This field is required for the Strategy Report.
PlanStatusPlanDefinition/PlanUpdatePLANSTATUSIs the plan active?BooleanTRUEtrue/falseOptionalNPlan Identifiers and Global Data Elements:This field is used for clients to activate or deactivate plans. If "PlanStatus" is sent as "false", the plan is no longer eligible to participate in Retirement Manager. Only one transmission with PlanStatus equal to false is needed by Morningstar for plan deactivation.
TypePlanDefinition/PlanUpdateTYPEType of planstring
Alphanumeric
401K
Thrift
ProfitSharing MoneyPurchase
403B
Sup403B
457B
401A
NonQual
SIMPLE_IRA
SEP_IRA
TradIRA
RothIRA
RolloverIRA
NonQualifedVA
TaftHartley
401KRequiredNPlan Identifiers and Global Data Elements:All elements provided for the plan must pertain to the type of plan indicated by the ‘Type’ element. If a data element is applicable for only some plan types, those plan types will be listed in the ‘Comments’ column for that data element. If no particular plan types are indicated, then the data element is applicable for all plan types.
ServiceOptionPlanDefinition/PlanUpdatePRODUCTTYPE and MODULEService options available to that planstring
Alphanumeric
QualMRP
OnlineAdvice
OnlineCallCenter
Proposal
OnlineGuidance
RID
NoMatch
CustomModels
QualMRPRequiredNPlan Identifiers and Global Data Elements:Service options are indicated at the plan level (using this field).
When OnlineAdvice is selected, the participant is responsible for implementing the advice recommendations and any ongoing monitoring/rebalancing.

When OnlineGuidance, Morningstar provides an asset allocation deemed most appropriate based on the information provided. The participant is responsible for making his or her own investment selections.

When “OnlineCallCenter” is set up as a service option, other service options should also be specified to determine what services will be presented in the site. For example, if a plan lists the “OnlineCallCenter”, “OnlineAdvice”, and “QualMRP” service options, the Advice and Managed Accounts services will be offered in the site when a Call Center representative logs in on behalf of the participant.

The “Proposal” and “Statement” service option values refer to the Proposal product. Although “Proposal” is the preferred value to send for this field, either of those values may be sent to indicate that the plan is set up for the Proposal.

When “RID” is sent as a service option, no other service option can be sent along with it. RID is the Retirement Income Director and includes a professional money management service offered by Security Benefit to help manage investments in your account.

Please Note: Proposal is a sub-product of Managed Accounts. It can not be sent by itself and must always be sent along with the 'QualMRP' service option.

If the user has the option to flip between guidance and advice, both the OnlineAdvice and OnlineGuidance service options must be sent. The client configuration will indicate which way the user will default, whether it be starting with Guidance and having the option to flip to Advice or vice versa.
EligibeePlanDefinition/PlanUpdateELIGIBEETotal eligible employees in the planint
Numeric
200OptionalY (displayed in reports)Plan Identifiers and Global Data Elements:Required when fees are participant based.
Used for reports and billing purposes, where fees are participant based. This field contains the number of employees who are eligible to participate in the plan, including those who actively participate and those who do not.
EnrolleePlanDefinition/PlanUpdateENROLEETotal enrolled employees in the planint
Numeric
180OptionalY (displayed in reports)Plan Identifiers and Global Data Elements:Used for Measurement Module only, as a comparison tool to indicate the number of eligible employees versus the number actually enrolled.
EnableLoanPlanDefinition/PlanUpdateLOANDoes the plan allow loans?BooleanSee CommentsTRUEOptionalNPlan Identifiers and Global Data Elements:If no, all displays relevant to participant loans will be omitted from the interface, even if information is sent for loans at the participant level.

The default is True for: 401(k), Thrift, Basic 403(b), 457(b), 401(a) and TaftHartley.

The default is False for: Profit Sharing, Money Purchase, Supplemental 403b, Traditional IRA, Roth IRA, SEP IRA, SIMPLE IRA, Rollover IRA, NonQual and Non Qualified VA. If a value other than False is sent for these plan types, that value will be overwritten and set to False.
EnableContributionChangesPlanDefinition/PlanUpdateN/AIndicates whether the transaction will include any contribution informationBooleanAccount value or trueTRUEOptionalNPlan Identifiers and Global Data Elements:EnableContributionChanges can be stated at either the plan or participant level.

If not sent in the plan, and is sent as true at the participant level, then contribution detail will be included in the transaction. Vice versa if not sent in the plan, and is sent as false at the participant level, then contribution detail will not be included in the transaction.

If sent as false in the plan and as true in the participant file, the plan level flag overrides the ppt level and contribution detail will not be included in the transaction. If sent as true in the plan and as false in the participant file, then the ppt level flag overrides the plan level and contribution detail will not be included in the transaction.

If not sent in either the plan or participant level, we will assume a default of true and contribution detail will be included in the transaction.

If EnableTransaction is false at the client or plan level, then EnableContributionChanges in the plan or participant level will be ignored.
DisableProgressReportPlanDefinition/PlanUpdateN/Aindicates whether the plan enables the Progress Reports to show in the UI or notBooleanNULLtrue/falseOptionalNPlan Identifiers and Global Data Elements:The DisableProgressReport fields should have the following attributes:
Optional in Plan XML's
Can be sent as 'true' or 'false'
The assumption here is that if DisableProgressReport = 'true' is sent, the plan wants Progress Report not to show in the UI. Otherwise, Progress Report will be shown in UI.
This is enabled as a global, optional field in plan schema. This additional field will serve to direct the API/UI settings for plans that enable this. This field will be used to overwrite the current custom setting to hide Schwab plan progress report.

When Progress Reports are disabled by this flag (DisableProgressReport="true"), Progress Report notification emails for participants will be turned off as well.
ShowProgramFeesPlanDefinition/PlanUpdateN/Aindicates whether the plan enables to show program fees on the UI or notBooleanNULLtrue/falseOptionalNPlan Identifiers and Global Data Elements:The ShowProgramFees fields should have the following attributes:
Optional in Plan XML's
Can be sent as 'true' or 'false'
The assumption here is that if ShowProgramFees = 'false' is sent, the plan wants fees not to show in the UI. Otherwise, fees will be shown in UI.
We need to add this globally as an optional field in plan schema. All program fees are recorded in the databse when sent. This additional field will serve to direct the API/UI settings for plans that enable this. This field will be used to overwrite the current custom setting to hide Schwab plan fees.
EnableMSInvestmentProfileTypePlanDefinition/PlanUpdateN/AIndicates the type of Investment Profiles displayed/not-displayed in the UI.IntDefault to 20
1
2
OptionalNPlan Identifiers and Global Data Elements:Enable MSInvestmentProfileType needs to be compatible with ShowMSInvestmentProfile at the Client Config level.

Used to designate whether or not we display FINRA, Non-Finra, or no Investment Profile reports.

Supported Plan Level Values

ShowMSInvestmentProfile Plan Level ‘Enable IR Value’
True 0, 1, 2
False 0

Key:
0 – No MSInvestmentProfile to be displayed
1 – FINRA MSInvestmentProfile to be displayed
2 – Non-FINRA MSInvestmentProfile to be displayed
DeferralFormatPlanDefinition/PlanUpdateN/AThe contribution format the plan allows.StringRateOrAmountRate
Amount
RateOrAmount
OptionalYPlan Identifiers and Global Data Elements:Drives the display of contribution format in the Retirement Manager user interface. Applies to inside account employee contributions only (pretax, post-tax and Roth).

- If a plan only allows % contributions, then “Rate” should be sent for DeferralFormat. Only % will be displayed for contribution format in Retirement Manager.

- If a plan only allows $ contributions, then “Amount” should be sent for DeferralFormat. Only $ will be displayed for contribution format in Retirement Manager.

- If a plan allows both % or $ contributions, then “RateOrAmount” should be sent for DeferralFormat. The Retirement Manager user interface will display the contribution format sent in the participant xml in this case. “RateOrAmount” is the default, so if DeferralFormat is not sent in the plan xml we will assume the plan allows both % or $ contribution formats which is our standard logic.

Does not apply to the following plan types: TradIRA, RothIRA and NonQualVA. Please note, both rate and amount will be sent back in the transaction regardless of this setting.
DeferralFormatCatchUpPlanDefinition/PlanUpdateN/AThe catch-up contribution format the plan allows.StringRateOrAmountRate
Amount
RateOrAmount
OptionalYPlan Identifiers and Global Data Elements:Drives the display of catch-up contribution format in the Retirement Manager user interface. Applies to inside account employee catch-up contributions only (pretax and Roth).

- If a plan only allows % catch-up contributions, then “Rate” should be sent for DeferralFormatCatchUp. Only % will be displayed for catch-up contribution format in Retirement Manager.

- If a plan only allows $ catch-up contributions, then “Amount” should be sent for DeferralFormatCatchUp. Only $ will be displayed for catch-up contribution format in Retirement Manager.

- If a plan allows both % or $ catch-up contributions, then “RateOrAmount” should be sent for DeferralFormatCatchUp. The Retirement Manager user interface will display the catch-up contribution format sent in the participant xml in this case. “RateOrAmount” is the default, so if DeferralFormatCatchUp is not sent in the plan xml we will assume the plan allows both % or $ catch-up contribution formats which is our standard logic.

Does not apply to the following plan types: TradIRA, RothIRA and NonQualVA. Please note, both rate and amount will be sent back in the transaction regardless of this setting.
FundEffectiveDatePlanDefinition/PlanUpdateN/AIndicates the date at which a client would like a new plan lineup to be live.Date
Numeric
2015-12-06OptionalNPlan Identifiers and Global Data Elements:Format is YYYY-MM-DD

This feature should be used when a client has changes to a plan lineup (fund changes) and does not want any user interruption to their services.

If a plan contains an effective date greater than or equal to the current date +1, RM will override any existing plan with a future fund effective date.

If a plan contains an effective date less than or equal to the current date, this will be implemented as the new current lineup (standard processing and implementation time will apply).

The Fund Effective Date flag can be applied to all service options (Managed Accounts, Advice and Guidance).
PrimaryPlanIDPlanDefinition/PlanUpdateN/AIdentifier used to distinguish all sub plans associated with the same master plan.StringPlan-0010OptionalNPlan Identifiers and Global Data Elements:This should be the planID for the master plan used to tie together sub plans.

50 characters is the maximum length for this field.
Address1PlanDefinition/PlanUpdate/AddressADDRESS1Provider, Plan, or TPA Address Line 1String
Alphanumeric
123 Main StreetRequired only for Managed AccountsY (displayed in Proposal and Progress Report)Plan Identifiers and Global Data Elements:A return address is required for the Proposal and the Progress Report. Provider, plan, or TPA level values may be sent in these address fields.
This field does not need to be sent in the plan batch file if we have a return address set up at the client level and it can be configured to pull from either the plan or client level for non-integrated advice following the logic below.

For non-integrated advice:
If configured to pull from the plan level -
The return address shown on the reports will be the address sent in these fields. If address is not sent in the plan XML file, the address we have set up at the client-level will be displayed. If we have more than one address, we will determine which one to display using the following hierarchy: 1 –address sent in plan batch file, 2- address set up at client-level. So, for example, if we have an address from both sources, the address sent in the plan batch file will override the client-level address.
If configured to pull from the client level –
The return address shown on the reports will always be the address we have set up at the client level.

For integrated advice:
The return address will always be pulled from the client-level regardless of the configuration setting above.
- Only addresses in the United States, Puerto Rico, Guam, the US Virgin Islands, the District of Columbia, American Samoa and the Federated States of Micronesia are allowed. We also accept Military postal abbreviations.
- 100 characters is the maximum character length for this field.
Address2PlanDefinition/PlanUpdate/AddressADDRESS2Provider, Plan, or TPA Address Line 2String
Alphanumeric
Floor 4OptionalY (displayed in Proposal and Progress Report)Plan Identifiers and Global Data Elements:See ADDRESS1

Limit of 50 characters
Address3PlanDefinition/PlanUpdate/AddressADDRESS3Provider, Plan, or TPA Address Line 3String
Alphanumeric
Suite 404OptionalY (displayed in Proposal and Progress Report)Plan Identifiers and Global Data Elements:See ADDRESS1

Limit of 50 characters
CityPlanDefinition/PlanUpdate/AddressCITYProvider, Plan, or TPA CityString
Alphanumeric
ChicagoRequired only for Managed AccountsY (displayed in Proposal and Progress Report)Plan Identifiers and Global Data Elements:See ADDRESS1

Limit of 50 characters
StatePlanDefinition/PlanUpdate/AddressSTATEProvider, Plan, or TPA StateString
Alphanumeric
ILRequired only for Managed AccountsY (displayed in Proposal and Progress Report)Plan Identifiers and Global Data Elements:See ADDRESS1
ZipPlanDefinition/PlanUpdate/AddressZIPProvider, Plan, or TPA Zip CodeString
Alphanumeric
60606-1234Required only for Managed AccountsY (displayed in Proposal and Progress Report)Plan Identifiers and Global Data Elements:See ADDRESS1
WebURLPlanDefinition/PlanUpdateWEBProvider, Plan, or TPA Website Address (URL)String
Alphanumeric
www.planprovider.comRequired only for Managed AccountsY (displayed in Proposal and Progress Report)Plan Identifiers and Global Data Elements:This element is used for the Proposal and the Progress Report.
For the Proposal and Progress Report, either a web address (URL) or a phone number is required to display as contact information for participants receiving these reports. Provider, plan, or TPA level values may be sent in the WebURL field. However, this field does not need to be sent in the plan batch file if we have a web address set up at the client-level and it can be configured to pull from either the plan or client level for non-integrated advice following the logic below

For non-integrated advice:
If configured to pull from the plan level -
The web address shown on the reports will be the web address sent in this field, or the web address we have set up at the client-level. If we have more than one web address, we will determine which one to display using the following hierarchy: 1 –web address sent in plan batch file, 2- web address set up at client-level. So, for example, if we have a web address from both sources, the one sent in the plan batch file will override the client-level web address.
If configured to pull from the client level –
The web address shown on the reports will always be the web address we have set up at the client level.

For integrated advice, the web address will always be pulled from the client-level.
PhonePlanDefinition/PlanUpdatePHONEProvider, Plan, or TPA Phone NumberString
Numeric in format xxx-xxx-xxxx
800-444-4321Required only for Managed AccountsY (displayed in Proposal and Progress Report)Plan Identifiers and Global Data Elements:This element is used for the Proposal and the Progress Report.
For the Proposal and Progress Report, either a web address (URL) or a phone number is required to display as contact information for participants receiving these reports. Provider, plan, or TPA level values may be sent in the Phone field. However, this field does not need to be sent in the plan batch file if we have a phone number set up at the client-level and it can be configured to pull from either the plan or client level for non-integrated advice following the logic below.

For non-integrated advice:
If configured to pull from the plan level -
The phone number shown on the reports will be the phone number sent in this field, or the phone number we have set up at the client-level. If we have more than one phone number, we will determine which one to display using the following hierarchy: 1 – phone number sent in plan batch file, 2- phone number set up at client-level. So, for example, if we have a phone number from both sources, the one sent in the plan batch file will override the client-level phone number.
If configured to pull from the client level –
The phone number shown on the reports will always be the phone numberwe have set up at the client level.

For integrated advice, the phone number will always be pulled from the client-level.
Please send phone numbers only in the format shown in this example.
EnableAssetAllocationFundPlanDefinition/PlanUpdateN/ADoes the plan use the lifestyle funds solution?BooleanDefault to client configuration flagtrueOptionalNPlan Identifiers and Global Data Elements:This field is used to indicate whether the plan will use the lifestyle funds (also referred to as asset allocation) solution. Funds identified as asset allocation funds in a plan that uses the lifestyle fund solution will not be included in the fund selection or in model portfolios. If a plan uses the lifestyle fund solution, the link to refer participants to those funds will only be displayed for the Managed by You service option, not the Managed by Morningstar service option.

Note - if this flag is not sent in the plan XML file, the value in the client configuration file for this flag will be used. If this flag does not exist at the plan level or client level, the default is True.
DiscretionaryPlanDefinition/PlanUpdateDISCRETIONARYIndicates the plan offers an employer discretionary matchBooleanfalsetrue/falseOptionalYPlan Identifiers and Global Data Elements:This field is used to indicate whether or not a generic text message should be displayed to the user informing him/her that there is an employer contribution that is discretionary. Used in UI only.
EnableRetailPlanDefinition/PlanUpdateN/AIndicates if the IRA is retail (vs employer sponsored)Booleanfalsetrue/falseOptionalY (The RM5UI verbiage is differet for retail IRAs)Plan Identifiers and Global Data Elements:This field is used to indicate whether an IRA is retail or not. When true it means the IRA isr retail and when false it means the IRA is employer sponsored. The wording of the RM5UI will change accordingly (i.e. won't say your "Employer's Plan" if the IRA is retail). TradIRA will also show preTax language on the UI when this field is set to true.
EnableOAGuidancePlanDefinition/PlanUpdateIndicates whether the plan allows for asset allocation guidance on outside accountsBooleanFALSEtrue/falseOptionalNPlan Identifiers and Global Data Elements:This field is used to indicate whether the plan will show asset allocation guidance on outside accounts. This flag is also available in the client configuration table. The default for the plan is "false" meaning to not show asset allocation guidance on outside accounts. If the value is set to "true" at the plan level asset allocation guidance will be turned on for outside accounts.
HasNonCoreFundsPlanDefinition/PlanUpdateIndicates if the plan includes non-core fundsBooleanfalsetrue/falseOptionalNPlan Identifiers and Global Data Elements:This field is used to indicate if the plan includes non-core funds. In the UI, if a participant is enrolled in a plan and the HasNonCoreFunds = true, the Cancel Service option is disabled and the participant is instructed to opt-out on the RK side.
feeIgnoreBitPlanDefinition/PlanUpdateUsed to ignore fees at either the plan level, client level, or both.BooleanFALSEtrue/falseOptionalNPlan Identifiers and Global Data Elements:This can be used to ignore fees at either the plan level, client level, or both.The various settings of the feeIgnore bit determine what fees are used to calculate the plan.AppliedClientProgramFee data point.
EnableSpilloverPlanDefinition/PlanUpdatesIndictes if the plan allows for contribution spilloverBooleanFALSEtrue/falseOptionalNPlan Identifiers and Global Data Elements:This field is used to indicte whether the plan allows for tax advantaged inside accounts contributions to spillover into the inside post-tax account when the 402g IRS limit is hit. This is for the purposes of modeling and advice. Contributions sent back in the transaction will be what the participant sent to us.
hasCombinedThreeTierPlanDefinition/PlanUpdateIndicates if the plan includes a combined three tier CombinedTaxContri nodeBooleanFALSEtrue/falseOptionalNPlan Identifiers and Global Data Elements:When hasCombinedThreeTier is set as true in plan file and loaded into Batch, In CaponeNewDev..planInfo table column, hasCombinedThreeTier should be set to 1. Plan loading should be succssful when hasCombinedThreeTier attribute is not sent in plan file.
ThirdPartyIntegrationPlanDefinition/PlanUpdateIndicates if the plan supports a ThirdPartyIntegrationBooleanOptionalNPlan Identifiers and Global Data Elements:This is the parent node and used in combination with 'MethodologyProvider' and 'ProviderID' to designate a different Third Party engine is to be called when a participant in the plan with this node enrolls or is rebalanced. This node was implemented to support target date fund product solutions. Plans offering the target date fund product solution offering must provide valid 'ThirdPartyIntegration' node and the two child elements, 'MethodologyProvider' and 'ProviderID' to support successful participant enrollment and rebalance in the target date fund solution.
MethodologyProviderPlanDefinition/PlanUpdateIndicates if the plan supports a ThirdPartyIntegrationBooleanOptionalNPlan Identifiers and Global Data Elements:This is a child field of the 'ThirdPartyIntegration' parent node and used to support target date fund product solutions. Plans offering the target ate fund product solution must include the 'ThirdPartyIntegration' node, the 'MethodolgyProvider' element and valid 'ProviderID' element.
ProviderIDPlanDefinition/PlanUpdateIndicates if the plan supports a ThirdPartyIntegrationStringPIMCOOptionalNPlan Identifiers and Global Data Elements:This is a child field of the 'ThirdPartyIntegration' parent node and used to support target date fund product solutions. Plans offering the target ate fund product solution must include the 'ThirdPartyIntegration' node, the 'MethodolgyProvider' element and valid 'ProviderID' element. Clients will be given a ProviderID during implementation of the target date fund product solution for the specific asset manager providing the funds in the target date product offeirng. The ProviderID string value is to be used in the plan schema to indicate the asset manager engine is to be called when a participant is enrolled or rebalanced inthe plan.
AnnuityProviderPlanDefinition/PlanUpdateIndicates if the plan is supporting a separate annuity providerStringOptionalNPlan Identifiers and Global Data Elements:This has been added to the plan schema for future use. Any value inserted in this node will be ignored until the product and tech architecture of the solution is finalized. Comments will be updated when there are more details about how the intent of this field and how to use.
Fund Lineup and Other Fund-Related Data Elements: Tickers or Cusips or the Internal Ids of Funds in the Plan:
TransactionIDPlanDefinition/PlanUpdate/SecList/Sec

PlanDefinition/PlanUpdate/AnnuityList/Annuity
N/A in old dtdIdentifier that should be sent back in the transaction.String
Alphanumeric
ABC1234RequiredNFund Lineup and Other Fund-Related Data Elements: Tickers or Cusips or the Internal Ids of Funds in the Plan:This field will indicate what ID should be sent back for the client for a particular security. If the client wants the ticker back, for example, the ticker will appear here. Any identifier can be sent here. The TransactionID should be unique for each security. A Ticker, Cusip, MorningstarID and/or mapped CusFundID must also be sent for each security. Ticker and/or Cusip must be used for all public funds; MorningstarID or CusFundID must be used for all custom funds or variable annuities.
When sent for an annuity, the ID is used to map annuity’s underlying fund to a fund in our database.
MorningstarIDPlanDefinition/PlanUpdate/SecList/Sec

PlanDefinition/PlanUpdate/AnnuityList/Annuity
N/A in old dtdInternal MorningstarID for variable annuities and custom funds coveredString
Alphanumeric – 10 character limit
SPUSA04JPXOptionalNFund Lineup and Other Fund-Related Data Elements: Tickers or Cusips or the Internal Ids of Funds in the Plan:MorningstarID is an internal Morningstar fund identifier that represents variable annuities or certain client custom funds covered. The MorningstarID values will be mapped in the Morningstar database and provided to the client for use.

MorningstarID should not be used for public funds where a Ticker or Cusip is available.

See Fund Hierarchy Note for details on evaluating fund identifiers.

When sent for an annuity, the ID is used to map annuity’s underlying fund to a fund in our database.
CusipPlanDefinition/PlanUpdate/SecList/Sec

PlanDefinition/PlanUpdate/AnnuityList/Annuity
CUSIPCUSIP of a fund in the planString
Alphanumeric
922908108OptionalNFund Lineup and Other Fund-Related Data Elements: Tickers or Cusips or the Internal Ids of Funds in the Plan:To identify the investment options offered in the plan, we need an identifier sent in the plan file for each investment option. The field sent does not need to be consistent for all options sent. For example, if a tickerless fund is in the plan, Cusip may be sent for that fund and Ticker for the remaining funds.

For public funds, it is required that either Ticker or Cusip must be sent, not CusFundID or MorningstarID.

See Fund Hierarchy Note for details on evaluating fund identifiers.

When sent for an annuity, the ID is used to map annuity’s underlying fund to a fund in our database.
TickerPlanDefinition/PlanUpdate/SecList/Sec

PlanDefinition/PlanUpdate/AnnuityList/Annuity
TICKERTicker of a fund in the plan.String
Alphanumeric
FMAGXOptionalYFund Lineup and Other Fund-Related Data Elements: Tickers or Cusips or the Internal Ids of Funds in the Plan:To identify the investment options offered in the plan, we need an identifier sent in the plan file for each investment option. The field sent does not need to be consistent for all options sent. For example, if a tickerless fund is in the plan, Cusip may be sent for that fund and Ticker for the remaining funds.

For public funds, it is required that either Ticker or Cusip must be sent, not CusFundID or MorningstarID.

See Fund Hierarchy Note for details on evaluating fund identifiers.

When sent for an annuity, the ID is used to map annuity’s underlying fund to a fund in our database.
CusFundIDPlanDefinition/PlanUpdate/SecList/Sec

PlanDefinition/PlanUpdate/AnnuityList/Annuity
EXTFUNDIDInternal fund ID as identified by plan.String
Alphanumeric (<=40 characters)
ABC1234OptionalNFund Lineup and Other Fund-Related Data Elements: Tickers or Cusips or the Internal Ids of Funds in the Plan:This field is required for custom funds or any funds for which no Cusip or Ticker exists. This includes custom funds covered, custom funds not covered, and mapped Money Market, Stable Value, and GiCs. Please note that CusFundIDs for custom funds must also be provided to Morningstar ahead of time so that they can be added to the Morningstar database.

This field is required for plans sending users with different fund line-ups by service option. This field will be used to identify funds available for recommendations based on applicable service option. Funds used for Managed Accounts will be sent with an appendix of _MBM. For example, 81116P832_MBM.

See sample below.

If the fund line up is the same for all service options, an appendix is not needed. We will assume the fund is applicable to all available service options.

If there is any difference between the fund line ups, an appendix of _MBM, must be sent to identify funds used for Managed Accounts.
CusFundIDs and the mappings they represent must be the same for all plans within a provider.

For public funds, only Ticker and/or Cusip should be used, not CusFundID or MorningstarID.

For plans sending users with different fund line-ups by service option, the public fund identifier would be sent in the CusFundID field, with an appendix of _MBM for Managed Account funds. Ticker and/or Cusip data elements should NOT be sent for Managed Accounts funds, if utilizing this feature.

See Fund Hierarchy Note for details on evaluating fund identifiers.

When sent for an annuity, the ID is used to map annuity’s underlying fund to a fund in our database.
ClosedFundListPlanDefinition/PlanUpdate/SecList/SecN/AIndicates whether or not the fund should be added to the closed fund list.BooleanFALSEFALSENFund Lineup and Other Fund-Related Data Elements: Tickers or Cusips or the Internal Ids of Funds in the Plan:When set to true, the fund will be added to the closed fund list automatically. This eliminates the manual process of alerting operations that a fund should be added to the closed fund list.

When set to false, the fund will not be added to the closed fund list and is eligible to be used in portfolio creation.
FFAFeePlanDefinition/PlanUpdate/SecList/SecN/AAny fund level specific feeDecimal
Numeric
15OptionalNFund Lineup and Other Fund-Related Data Elements: Tickers or Cusips or the Internal Ids of Funds in the Plan:FFA Fees can be sent as positive values, indicating the fee of the fund, or negative values, indicating a rebate fee for the fund.
Brokerage and Company Stock:
EnableBrkgPlanDefinition/PlanUpdateBROKERAGEDoes the plan have a self-directed brokerage account option?BooleanSee CommentsFALSEOptionalNBrokerage and Company Stock:If no, all displays relevant to self-directed brokerage accounts will be omitted from the interface, even if information is sent for brokerage at the participant level.

This does not apply to the Proposal.

The default is True for: 401K, Thrift, 403B, Sup403B, 457B, 401A, and NonQual.

The default is False for: Profit Sharing, Money Purchase, Traditional IRA, Roth IRA, SEP IRA, SIMPLE IRA, Rollover IRA, Non Qualified VA, TaftHartley. Except for TaftHartley, if a value other than False is sent for these plan types, that value will be overwritten and set to False.
EnableCompanyStockPlanDefinition/PlanUpdateSTOCKFLAGDoes the plan have company stock?BooleanSee CommentsTRUEOptionalNBrokerage and Company Stock:If no, all displays relevant to company stock will be omitted from the interface, even if information is sent for company stock at the participant level.

This does not apply to the Proposal.

The default is True for: 401K, Thrift, Profit Sharing, Money Purchase, 401A, and NonQual.

The default is False for: 403b, Supplemental 403b, 457b, Traditional IRA, Roth IRA, SEP IRA, SIMPLE IRA, Rollover IRA, Non Qualified VA and TaftHartley. If a value other than False is sent for these plan types, that value will be overwritten and set to False.
DisableCoStockSellOffPlanDefinition/PlanUpdateN/AIndicates whether to retain all company stock or use standard RM sell off logicBooleanFALSEFALSEOptionalNBrokerage and Company Stock:If this flag is set to true, company stock is retained at the participant level, but taken into account when giving advice. Company stock does not need to be sent over as frozen at the participant level when this is set to True.

If this flag is set to false, standard RM sell off logic is used.
ShowUIOptionToSellPlanDefinition/PlanUpdateN/AIndicates whether or not the participant has the option to edit company stock sell off in the UIBooleanTRUETRUEOptionalNBrokerage and Company Stock:
TransactionIDPlanDefinition/PlanUpdate/CSList/CSN/AIdentifier that should be sent back in the transaction for company stock.String
Alphanumeric
ABC1234RequiredNBrokerage and Company Stock:This field will indicate what ID should be sent back for the client for a particular company stock. If the client wants the ticker back, for example, the ticker will appear here. Any identifier can be sent here. A Ticker, Cusip or CusFundID must also be sent for each security. The TransactionID should be unique for each security
CusipPlanDefinition/PlanUpdate/CSList/CSSTOCKCUSIPCUSIP of company stock in the planString
Alphanumeric
94949494OptionalNBrokerage and Company Stock:To identify the investment options offered in the plan, we need an identifier sent in the plan file for each investment option. The field sent does not need to be consistent for all options sent. For example, if a tickerless stock is in the plan, Cusip may be sent for that stock and Ticker for the remaining stocks.

See Company Stock Fund Hierarchy Note for details on evaluating company stock identifiers.

In the CSList, if an unrecognizable cusip (and no ticker) is sent for a company stock, we will assume that it is a privately held company stock, and will not error out the stock.

If the company stock is not recognizable in our database, based on the identifier(s) sent, we will use our default stock style category of 50% small-cap growth/50% small-cap value for that stock in our asset mix x-rays.
TickerPlanDefinition/PlanUpdate/CSList/CSSTOCKTICKERTicker of company stock in the planString
Alphanumeric
MSFTOptionalNBrokerage and Company Stock:To identify the investment options offered in the plan, we need an identifier sent in the plan file for each investment option. The field sent does not need to be consistent for all options sent. For example, if a tickerless stock is in the plan, Cusip may be sent for that stock and Ticker for the remaining stocks.

See Company Stock Fund Hierarchy Note for details on evaluating company stock identifiers.

In the CSList, if an unrecognizable ticker is sent for a company stock, we will assume that it is a privately held company stock, and will not error out the stock.

If the company stock is not recognizable in our database, based on the identifier(s) sent, we will use our default stock style category of 50% small-cap growth/50% small-cap value for that stock in our asset mix x-rays.
CusFundIDPlanDefinition/PlanUpdate/CSList/CSN/A in old dtdInternal company stock ID as identified by plan.String
Alphanumeric (<=40 characters)
ABC1234OptionalNBrokerage and Company Stock:See Company Stock Fund Hierarchy Note for details on evaluating company stock identifiers.

If the company stock is not recognizable in our database, based on the identifier(s) sent, we will use our default stock style category of 50% small-cap growth/50% small-cap value for that stock in our asset mix x-rays.

If CusFundID is used for any company stocks within CSList, that particular security cannot also have ticker or cusip. Only CusFundID must be sent. Also, if CusFundID is used for company stock, it should be mapped ahead of time in the client configuration file to CSTK.

For plans sending users with different fund line-ups by service option, the list of company stocks sent under the CSList node would apply to all service options available for the plan. Company stock should not be sent with _MBM for Managed Accounts.
SecurityNamePlanDefinition/PlanUpdate/CSList/CSN/A in old dtdName of the company stockString
Alphanumeric up to 75 characters
Stock nameStock ABCOptionalYBrokerage and Company Stock:This will display in place of the stock name in the interface if it is sent.

If a plan has more than one company stock that has the same Ticker, Cusip or CusFundID, the SecurityName must also be sent for display purposes. Also, if there is a privately held company stock, the SecurityName should also be sent.
Employer Match Data Elements:
EnablePreTaxMatchPlanDefinition/PlanUpdateEMPLOYERMATCHFLAGDoes the plan have an employer pre-tax and/or Roth match?BooleanSee CommentsTRUEOptionalNEmployer Match Data Elements:If no, all interface data points relevant to employer contribution are omitted, even if information is sent for pre-tax/ Roth match at the participant level. This includes profit sharing.

The default is True for: 401K, Thrift, Profit Sharing, Money Purchase, 403b, 457b, 401a, NonQual, SEP_IRA, TaftHartley and SIMPLE_IRA. For SEP and SIMPLE IRA, the value must be True; if a value other than True is sent, that value will be overwritten and set to True.

The default is False for: Supplemental 403b, Traditional IRA, Roth IRA, Rollover IRA and Non Qualified VA. If a value other than False is sent for these plan types, that value will be overwritten and set to False.
EnablePostTaxMatchPlanDefinition/PlanUpdateN/ADoes the plan have an employer post-tax match?BooleanSee CommentsTRUEOptionalNEmployer Match Data Elements:If no, all interface data points relevant to employer contribution are omitted, even if information is sent for post tax match at the participant level.

The default is True for: 401K, Thrift, 403B, 401A, and NonQual.

The default is False for: Profit Sharing, Money Purchase, Supplemental 403b, 457b, Traditional IRA, Roth IRA, Rollover IRA, TaftHartley, SEP IRA, SIMPLE IRA and Non Qualified VA. If a value other than False is sent for these plan types, that value will be overwritten and set to False.
ThreeTier nodePlanDefinition/PlanUpdate/PreTaxContriRules/EmployerMatch

or

PlanDefinition/PlanUpdate/PostTaxContriRules/EmployerMatch
MATCHTYPE = 1Tiered employer match (x% of the first y% of salary contributed)NodeOptionalNEmployer Match Data Elements:If ThreeTier is used, then use the following data elements within EmployerMatch/ThreeTier:

Tier1/Rate
Tier1/Perc
Tier2/Rate
Tier2/Perc
Tier3/Rate
Tier3/Perc

This field is used with plan types 401K, Thrift, 403B, 457B, 401A, and NonQual.

EmployerContriPlanDefinition/PlanUpdate/PreTaxContriRules/EmployerMatch

or

PlanDefinition/PlanUpdate/PostTaxContriRules/EmployerMatch/ThreeTierPlusEmpContri
This corresponds to the PERCSALARYMATCH field when MATCHTYPE = 2 or 3Non-match employer contribution (percentage of employee’s salary)Decimal
Numeric
4OptionalYEmployer Match Data Elements:You should always provide employer non-match contribution, if applicable. Match can either be stated at participant or plan level. Any match information provided in the participant-level XML file will override plan-level match information.

This element should be stated as a percent of annual salary.

This field is currently used with the following plan types: 401K, Thrift, MoneyPurchase, ProfitSharing, 403B, 457B, 401A, and NonQual.

Note: Any percent of salary employer contribution for profit sharing and money purchase plans can be sent in this field.
ThreeTierPlusEmpContri nodePlanDefinition/PlanUpdate/PreTaxContriRules/EmployerMatch

or

PlanDefinition/PlanUpdate/PostTaxContriRules/EmployerMatch
MATCHTYPE = 3Combination of tiered match and non-match employer contributionNodeOptionalNEmployer Match Data Elements:If ThreeTierPlusEmpContri is used, then use the following data elements within EmployerMatch/ThreeTierPlusEmpContri:

Tier1/Rate
Tier1/Perc
Tier2/Rate
Tier2/Perc
Tier3/Rate
Tier3/Perc
EmployerContri
DollarContri

This field is used with plan types 401K, Thrift, 403B, 457B, 401A, and NonQual.

If no employer match information is provided at either the plan or participant level, this is the default match type displayed in the user interface.
ThreeTier nodePlanDefinition/PlanUpdate/CombinedTaxContri/EmployerMatch/ThreeTierMATCHTYPE = 6Tiered employer match on pre and post contributions(x% of the first y% of salary contributed)NodeOptionalNEmployer Match Data Elements:If ThreeTier is used, then use the following data elements within CombinedTaxContri/EmployerMatch/ThreeTier:

Tier1/Rate
Tier1/Perc
Tier2/Rate
Tier2/Perc
Tier3/Rate
Tier3/Perc

This field is used with plan types 401K, Thrift, 403B, and 401A.
DollarContriPlanDefinition/PlanUpdate/PreTaxContriRules/EmployerMatch

or

PlanDefinition/PlanUpdate/PostTaxContriRules/EmployerMatch
This corresponds to the EMPDOLLARMATCH field when MATCHTYPE = 4Annual dollar employer contributionDecimal
Numeric
1000OptionalYEmployer Match Data Elements:You should always provide employer non-match contribution, if applicable. Match can either be stated at participant or plan level. Any match information provided in the participant-level XML file will override plan-level match information.

This element should be stated as an annual dollar amount.

This field is currently used with the following plan types: 401K, Thrift, MoneyPurchase, ProfitSharing, 403B, 457B, 401A, NonQual, and SEP_IRA.

Note: Any employer contribution dollar amount for profit sharing and money purchase plans can be sent in this field.

Note: This field is now available (March 28, 2015) for use in the ThreeTierPlusEmpContri node so that Dollar Contributions can be used in tangent with tiered matching.
PercEmployerMatch/ThreeTier/Tier1

or

EmployerMatch/ThreeTierPlusEmpContri/Tier1

or

CombinedTaxContri/EmployerMatch/ThreeTier/Tier1
TMATCH1Employer match percent for the first tier of the employer match formula (%)Decimal
Numeric from 0-999
100OptionalYEmployer Match Data Elements:You should always provide employer match information, if applicable. Match can either be stated at participant or plan level. Any match information provided in the participant-level XML file will override plan-level match information.

This data element, along with the next 5 data elements, is used to send the match formula for up to three tiers. These data elements will be used in the following format:

- Tier1/Perc percent for the first Tier1/Rate percent, then Tier2/Perc percent of next Tier2/Rate percent, and Tier3/Perc percent of next Tier3/Rate percent.

- Example of tiered employer match using all fields: 100% of the first 5% of salary contributed; 50% of the next 3%; 50% of next 5%.

This field is used with plan types 401K, Thrift, 403B, 457B, 401A, NonQual, SIMPLE_IRA.
RateEmployerMatch/ThreeTier/Tier1

or

EmployerMatch/ThreeTierPlusEmpContri/Tier1

or
CombinedTaxContri/EmployerMatch/ThreeTier/Tier1
TRATE1Rate for the first tier of the employer match formula (%)Decimal
Numeric from 0-100
5OptionalYEmployer Match Data Elements:See Tier1/Perc
DollarLimitEmployerMatch/ThreeTier/Tier1
Or

EmployerMatch/ThreeTierPlusEmpContri/Tier1

Or
CombinedTaxContri/EmployerMatch/ThreeTier/Tier1
The dollar value for the first tier of the employer match formula ($). A choice should be made in each tier for DollarLimit or RateDecimal
Numeric
0-1000
250OptionalYEmployer Match Data Elements:
PercEmployerMatch/ThreeTier/Tier2

or

EmployerMatch/ThreeTierPlusEmpContri/Tier2

or

CombinedTaxContri/EmployerMatch/ThreeTier/Tier2
TMATCH2Employer match percent for the second tier of the employer match formula (%)Decimal
Numeric from 0-999
50OptionalYEmployer Match Data Elements:See Tier1/Perc

Tier2 does not apply to SIMPLE_IRA
RateEmployerMatch/ThreeTier/Tier2

or

EmployerMatch/ThreeTierPlusEmpContri/Tier2

or

CombinedTaxContri/EmployerMatch/ThreeTier/Tier2
TRATE2Rate for the second tier of the employer match formula (%)Decimal
Numeric from 0-100
3OptionalYEmployer Match Data Elements:See Tier1/Perc

Tier2 does not apply to SIMPLE_IRA
DollarLimitEmployerMatch/ThreeTier/Tier2

or
EmployerMatch/ThreeTierPlusEmpContri/Tier2

or
CombinedTaxContri/EmployerMatch/ThreeTier/Tier2
The dollar value for the second tier of the employer match formula ($). A choice should be made in each tier for DollarLimit or RateDecimal
Numeric
0-1000
250OptionalYEmployer Match Data Elements:
PercEmployerMatch/ThreeTier/Tier3

or

EmployerMatch/ThreeTierPlusEmpContri/Tier3

or

CombinedTaxContri/EmployerMatch/ThreeTier/Tier3
TMATCH3Employer match percent for the third tier of the employer match formula (%)Decimal
Numeric from 0-999
50OptionalYEmployer Match Data Elements:See Tier1/Perc

Tier3 does not apply to SIMPLE_IRA
RateEmployerMatch/ThreeTier/Tier3

or

EmployerMatch/ThreeTierPlusEmpContri/Tier3

Or

CombinedTaxContri/EmployerMatch/ThreeTier/Tier3
TRATE3Rate for the third tier of the employer match formula (%)Decimal
Numeric from 0-100
5OptionalYEmployer Match Data Elements:See Tier1/Perc

Tier3 does not apply to SIMPLE_IRA
DollarLimitEmployerMatch/ThreeTier/Tier3

or
EmployerMatch/ThreeTierPlusEmpContri/Tier3

or
CombinedTaxContri/EmployerMatch/ThreeTier/Tier3
The dollar value for the third tier of the employer match formula ($). A choice should be made in each tier for DollarLimit or Rate.Decimal
Numeric
0-1000
250OptionalYEmployer Match Data Elements:
DollarCapPlanDefinition/PlanUpdate/PreTaxContriRules/EmployerMatch

Or

PlanDefinition/PlanUpdate/PostTaxContriRules/EmployerMatch
DOLLARCAPDisplays dollar limit on match ($)Decimal
Numeric
1500OptionalYEmployer Match Data Elements:This field should always be sent, if applicable. DollarCap can either be stated at participant or plan level. DollarCap information provided in the participant-level XML file would override plan-level match information.

This element is only applicable to pre- and post-tax tiered match types (ThreeTier or ThreeTierPlusEmpContri).

This field is currently used with the following plan types: 401K, Thrift, 403B, 457B, 401A, and NonQual.
CombinedPercLimitPlanDefinition/PlanUpdate/PreTaxContriRules/EmployerMatch

Or
PlanDefinition/PlanUpdate/RothContriRules/EmployerMatch

Or

PlanDefinition/PlanUpdate/PostTaxContriRules/EmployerMatch
The percent (%) of the participant’s salary eligible for employer match rules. This percent includes employer match amounts in all tiers.Decimal
Numeric
5OptionalYEmployer Match Data Elements:
CombDollarCapPlanDefinition/PlanUpdateN/A in old dtdDisplays combined dollar limit on pre-tax and post tax match ($)Decimal
Numeric
2000OptionalYEmployer Match Data Elements:This field should always be sent, if applicable. CombDollarCap can either be stated at participant or plan level. CombDollarCap information provided in the participant-level XML file would override plan-level match information.

This element is only applicable to pre- and post-tax tiered match types (ThreeTier or ThreeTierPlusEmpContri).

This field is currently used with the following plan types: 401K, Thrift, 403B, 457B, 401A, and NonQual
Pre-Tax Contribution, Post-Tax Contribution & Combined Pre/Post-Tax Flags:
RatePlanDefinition/PlanUpdate/PreTaxContriRules/Default/MaxContri

or

PlanDefinition/PlanUpdate/CombinedTaxContriRules/PreTaxDefault/Default/MaxContri
MAXCONTRIMaximum pre-tax and/or Roth employee contribution the plan allows (%)Decimal
Numeric from 0-100
10015OptionalYPre-Tax Contribution, Post-Tax Contribution & Combined Pre/Post-Tax Flags:This field should always be sent, if applicable. This field may be stated at either the plan or participant level. Therefore, if there are employees with different maximum contribution rates, they can be stated in the XML file for participant data. Participant level values will overwrite those stated here.

This element should be stated as a percent of annual salary (Rate) or as a dollar amount (Amount), not both.

This field is currently used with the following plan types: 401(k), thrift, Basic 403(b), Supplemental 403(b), 457(b), 401(a), NonQual, and SIMPLE_IRA.

Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax.
AmountPlanDefinition/PlanUpdate/PreTaxContriRules/Default/MaxContri

or

PlanDefinition/PlanUpdate/CombinedTaxContriRules/PreTaxDefault/Default/MaxContri
N/A in old dtdMaximum pre-tax and/or Roth employee contribution the plan allows ($)Decimal
Numeric
9000OptionalYPre-Tax Contribution, Post-Tax Contribution & Combined Pre/Post-Tax Flags:This field should always be sent, if applicable. This field may be stated at either the plan or participant level. Therefore, if there are employees with different maximum contribution rates, they can be stated in the XML file for participant data. Participant level values will overwrite those stated here.

This element should be stated as a percent of annual salary (Rate) or as a dollar amount (Amount), not both.

This field is currently used with the following plan types: 401(k), thrift, Basic 403(b), Supplemental 403(b), 457(b), 401(a), NonQual, and SIMPLE_IRA.

Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax.
EnablePostTaxPlanDefinition/PlanUpdatePOSTTAXFLAGDoes the plan allow post-tax contributions?BooleanSee Commentstrue/falseOptionalNPre-Tax Contribution, Post-Tax Contribution & Combined Pre/Post-Tax Flags:This field should always be sent, if applicable.

Web Applications: If no, all displays relevant to post-tax contributions will be omitted from the Morningstar web interface, even if information is sent for post-tax contribution at the participant level.

The default is True for: 401K, Thrift, 403B, Sup403B, 401A, NonQual, NonQualifiedVA, TradIRA, and RothIRA. For TradIRA, RothIRA and NonQualifiedVA, the value must be True else the plan will not load due to CC16 validation error code.

The default is False for: Profit Sharing, Money Purchase, 457b, TaftHartley, Rollover IRA, SEP_IRA, and SIMPLE_IRA. If a value other than False is sent for these plan types, that value will be overwritten and set to False.

Note: EnablePostTax must be set to True if contributions are sent in the CombinedTaxContri node.
RatePlanDefinition/PlanUpdate/PostTaxContriRules/Default/MaxContri/Rate

or

PlanDefinition/PlanUpdate/CombinedTaxContriRules/PostTaxDefault/Default/MaxContri
MAXPOSTTAXPCTMax post-tax contribution percentage allowed in the plan (%)Decimal
Numeric from 0-100
12OptionalYPre-Tax Contribution, Post-Tax Contribution & Combined Pre/Post-Tax Flags:This field should always be sent, if applicable. This element should be stated as a percent of annual salary.

This element should be stated as a percent of annual salary (Rate) or as a dollar amount (Amount), not both.

This field is currently used with the following plan types: 401K, Thrift, 403(b), Sup403B, 401A, NonQual, NonQualifiedVA, TradIRA, and RothIRA.

Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax.
AmountPlanDefinition/PlanUpdate/PostTaxContriRules/Default/MaxContri/Amount

or

PlanDefinition/PlanUpdate/CombinedTaxContriRules/PostTaxDefault/Default/MaxContri
MAXPOSTTAXCONTRIMax post-tax contribution amount (in dollars) allowed in the plan ($)Decimal
Numeric
2000OptionalYPre-Tax Contribution, Post-Tax Contribution & Combined Pre/Post-Tax Flags:This field should always be sent, if applicable. This element should be stated as an annual dollar amount.

This element should be stated as a percent of annual salary (Rate) or as a dollar amount (Amount), not both.

This field is currently used with the following plan types: 401(k), Thrift, 403B, Sup403B, 401A, NonQual, NonQualifedVA, TradIRA, and RothIRA.

Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax.
CombLimitPlanDefinition/PlanUpdateCOMBINLIMITPlan’s contribution limit for pre-tax, Roth, and post-tax contributions in percent format (%)Decimal
Numeric
10018OptionalYPre-Tax Contribution, Post-Tax Contribution & Combined Pre/Post-Tax Flags:This field should always be sent, if applicable. This element indicates the maximum percent allowed for the combination of pre-tax, Roth, and post-tax contributions. If the employee has a different combination limit than the plan, it should be stated at the participant level. If it is sent at both the plan and participant level, participant will override plan.

If 0 is sent in this field, the field is ignored.

This field is currently used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, 401A, and NonQual.
CombLimitDPlanDefinition/PlanUpdateN/APlan’s contribution limit for pre-tax, Roth, and post-tax contributions in dollar format ($)Decimal
Numeric
See Comments23000OptionalYPre-Tax Contribution, Post-Tax Contribution & Combined Pre/Post-Tax Flags:This field should always be sent, if applicable. This element indicates the maximum dollar amount allowed for the combination of pre-tax, Roth, and post-tax contributions. If the employee has a different combination limit than the plan, it should be stated at the participant level. If it is sent at both the plan and participant level, participant will override plan.

Default: If CombLimitD is not sent and no data exists in the database, we will use CombLimit (%) as the default.

This field is currently used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, 401A, NonQual and Taft-Hartley.
Roth Contribution Flags:
RatePlanDefinition/PlanUpdate/RothContriRules/Default/MaxContri

or

PlanDefinition/PlanUpdate/CombinedTaxContriRules/RothDefault/Default/MaxContri
MAXCONTRIMaximum (separate) Roth contribution the plan allows (%)Decimal
Numeric from 0-100
10015OptionalYRoth Contribution Flags:This field should always be sent, if applicable when EnableRoth is set to True. This field may be stated at either the plan or participant level. Therefore, if there are employees with different maximum contribution rates, they can be stated in the XML file for participant data. Participant level values will overwrite those stated here.

This element should be stated as a percent of annual salary (Rate) or as a dollar amount (Amount), not both.

This field is currently used with the following plan types: 401(k) , 403(b), and Sup 403(b) plans
AmountPlanDefinition/PlanUpdate/RothContriRules/Default/MaxContri

or

PlanDefinition/PlanUpdate/CombinedTaxContriRules/RothDefault/Default/MaxContri
N/A in old dtdMaximum (separate) Roth contribution the plan allows ($)Decimal
Numeric
9000OptionalYRoth Contribution Flags:This field should always be sent, if applicable when EnableRoth is set to True. This field may be stated at either the plan or participant level. Therefore, if there are employees with different maximum contribution rates, they can be stated in the XML file for participant data. Participant level values will overwrite those stated here.

This element should be stated as a percent of annual salary (Rate) or as a dollar amount (Amount), not both.

This field is currently used with the following plan types: 401(k) , 403(b), and Sup 403(b) plans
EnableRothPlanDefinition/PlanUpdateDoes the plan allow (separate) Roth contributions?BooleanFALSETrue/falseOptionalNRoth Contribution Flags:This field should always be sent, if applicable. It is used in conjunction with a client setting indicating Roth contributions are separate from pre-tax contributions.

Web Applications: If False, all Roth contributions will be displayed combined (bundled) with pre-tax contributions. If True, the Roth contributions will be displayed separately from the pre-tax contributions.

This field is currently used with the following plan types: 401(k), 403(b), Sup 403(b), and 457(b) plans.
Catch-Up Provisions:
Enable50YrCatchUpPlanDefinition/PlanUpdateCATCHUPFLAG50YRSDoes the plan allow participants to contribute using the “50 Years of Age” catch-up provision?BooleanSee Commentstrue/falseOptionalNCatch-Up Provisions:This field should always be sent, if applicable.

This field applies to pre-tax and/or Roth catch-up contributions.

Web Application: If no, then all relevant displays are omitted from the web interface, even if information is sent for the 50-year catch-up at the participant level.

The default is True for: 401K, Thrift, 403B, 457B, SIMPLE_IRA and TaftHartley.

The default is False for: Profit Sharing, Money Purchase, Sup403b, 401a, TradIRA, RothIRA, Rollover IRA, SEP_IRA, NonQual and NonQualified VA. If a value other than False is sent for these plan types, that value will be overwritten and set to False.
EnableLongTermCatchUpPlanDefinition/PlanUpdateCATHCUPFLAGLGTERMEMPDoes the plan allow participants to contribute using the “Long-Term Employee” catch-up provision?BooleanSee Commentstrue/falseOptionalNCatch-Up Provisions:This field should always be sent, if applicable.

This field applies to pre-tax and/or Roth catch-up contributions.

Web Application: If no, then all relevant displays are omitted from the web interface, even if information is sent for the 50-year catch-up at the participant level.

The default is True for: 403B.

The default is False for all other plan types. If a value other than False is sent for any plan type other than 403b, that value will be overwritten and set to False.
EnableLast3YrsCatchUpPlanDefinition/PlanUpdateCATCHUPFLAGLST3YRSDoes the plan allow participants to contribute using the “Last 3 Years of Employment” catch-up provision?BooleanSee Commentstrue/falseOptionalNCatch-Up Provisions:This field should always be sent, if applicable.

Web Application: If no, then all relevant displays are omitted from the web interface, even if information is sent for the last 3 years catch-up at the participant level.

The default is True for: 457B.

The default is False for all other plan types. If a value other than False is sent for any plan type other than 457b, that value will be overwritten and set to False
SMART Contribution:
EnableSMARTPlanDefinition/PlanUpdate/PreTaxContriRulesSMARTFLAGTrue/false flag that indicates whether the Smart (contrbution escalation) logic should be used for the participant.BooleanFALSEtrue/falseOptionalNSMART (Auto-Increase)This field can be stated at the participant or plan level.
• If either the plan level or participant level EnableSMART flag are false, we assume that the user does not have Smart.

• If the EnableSmart flag is is sent as False in the plan file, and is sent as True in the participant file, the plan level SMART overrides the participant level, and we assume the user does not have smart.

• If the EnableSMART flag is not sent in the plan file, and is sent as True at the participant file, we assume that the user has Smart.

• If the EnableSMART flag is sent as True in the plan file, and is not sent at the participant file, we assume the user does not have Smart.

• If the EnableSMART flag is sent as True in both the plan and participant file, we assume the user has Smart.

This field is used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, and 401A. For all other plan types, if a value other than False is sent, that value will be overwritten and set to False.
SMARTProvidedParticipantData/ParticipantPlanData/InstAcct/PreTaxContriN/A in old dtdY/N flag that indicates whether Morningstar provides the SMART logic (false), or if the client provides the logic (true)BooleanTRUEtrue/falseOptionalNSMART (Auto-Increase)This field can be stated at the participant or plan level.

This field is used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, and 401A.

Morningstar will build the capability to provide SMART (contribution escalation) in a later phase. Currently, only the client can provide SMART in our products.

Under SMART, Morningstar assumes that the provider’s contribution escalation program systematically increases only the pre-tax contribution and in a percentage format (%). Morningstar plans to support a provider's contribution escalation program for Roth and in dollar ($) format in a future phase.
ThresholdPlanDefinition/PlanUpdate/PreTaxContriRules/SMARTSMARTTHRESHOLD"Minimim contribution threshold"

The value used in determining whether or not a SMART contribution increase is to be recommended.
Decimal
Numeric
00OptionalNSMART (Auto-Increase)This data point, along with the ‘Contri’ data point, indicate values for a participant’s first-time increase. If client does not have a threshold for their contribution escalation program, then this does not need to be sent.

This element should be stated as a percent of annual salary. This field can be stated at the participant or plan level. Any value provided in the participant-level XML file will override the plan-level value.

This field is used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, and 401A.

In the ppt xml, when a participant has SMART (contribution escalation) enabled, and the current contribution value is less than the Threshold value, a contribution increase will occur. The contribution rate will first be increased to the Contri value. Once the Contri value has been met, the contribution rate will increase incrementally by the Contriinc amount.
ContriPlanDefinition/PlanUpdate/PreTaxContriRules/SMARTSMARTCONTRI"Automatic Minimum"

The percentage a participant's contribution rate will automatically increase to when the current contribution rate is below the threshold.
Decimal
Numeric
03OptionalNSMART (Auto-Increase)This data point, along with the ‘Threshold’ data point, indicate values for a participant’s first-time increase. It is the contribution rate that will be recommended when the Threshold has not been met. When a participant's current contribution is less than the Threshold value, the participant's contribution rate will increase to the Contri value when the participant has SMART logic. If client does not have an equivalent field for their contribution escalation program, it does not need to be sent.

This element should be stated as a percent of annual salary. This field can be stated at the participant or plan level. Any value provided in the participant-level XML file will override the plan-level value.

This field is used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, and 401A.
ContriincPlanDefinition/PlanUpdate/PreTaxContriRules/SMARTSMARTCONTRIINC"Annual Increase"

The value a participant's contribution rate will increase by when the current rate is greater than or equal to the Threshold (threshold met)
Decimal
Numeric
11Optional in schema but required for SMART logicNSMART (Auto-Increase)The assumption we use in our income projections for the annual percentage increase in the employee’s contribution rate once the threshold has been met. This field is required.

This element should be stated as a percent of annual salary. This field can be stated at the participant or plan level. Any value provided in the participant-level XML file will override the plan-level value.

This field is used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, and 401A.
MaxLimitPlanDefinition/PlanUpdate/PreTaxContriRules/SMARTSMARTMAXLIMIT"The Cap"

The assumption we use in our income projections for the maximum limit for increasing the employee’s contribution rate. (%)
Decimal
Numeric
10012OptionalNSMART (Auto-Increase)The “cap” above which SMarT does not increase the contribution (if not specified, the default is the ratio of the 402(g) limit to the current salary).

Morningstar uses this to cap the contribution increase in our projections; otherwise we would assume that the user’s contribution would just continue to increase, based on the ‘Contriinc’ value, over time. If the ppt's contribution rate is greater than or equal to the 'MaxLimit', the application does not increase the contribution in the wealth forecast.

This element should be stated as a percent of annual salary. This field can be stated at the participant or plan level. Any value provided in the participant-level XML file will override the plan-level value.

This field is used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, and 401A.
Program Fees:
ProgramFeePlanDefinition/PlanUpdate/ProgramFeesPROGRAMFEEOne element per tier.

AssetMin is the minimum balance for tiered program fee

AssetMax is the maximum balance for tiered program fee

BasisPoints is the basis point program fee
Decimal
Numeric
Required only for Managed AccountsNProgram Fees:Note - Program Fees are required for any plan that has QualMRP as a service option.

If program fee is a flat fee (no tiers), it should be:

PROGRAMFEE AssetMin=”0” AssetMax=”” BasisPoints=”25”

If more than 1 tier is sent in the program fees node, a flag is passed to WFE that indicates marginal calculation should be used in WFE instead of flat fee calculation.

Note: A maximum of 5 program fee tiers can be sent
AssetMinPlanDefinition/PlanUpdate/ProgramFees/ProgramFeeAssetMinMinimum balance for tiered program feeDecimal
Numeric
0Required only for Managed AccountsNProgram Fees:AssetMin, AssetMax, and BasisPoints are all numeric attributes.
AssetMaxPlanDefinition/PlanUpdate/ProgramFees/ProgramFeeAssetMaxMaximum balance for tiered program feeDecimal
Numeric
1000Required only for Managed AccountsNProgram Fees:AssetMin, AssetMax, and BasisPoints are all numeric attributes.
BasisPointsPlanDefinition/PlanUpdate/ProgramFees/ProgramFeeBasisPointsBasis point program feeDecimal
Numeric
25Required only for Managed AccountsNProgram Fees:AssetMin, AssetMax, and BasisPoints are all numeric attributes.

BasisPoints can be sent with up to two decimal places - (IE a 'BasisPoints' value of '25.75' would successfully be processed)
Auto-Enroll:
EnableAutoEnrollPlanDefinition/PlanUpdateDoes the plan allow participants to participate in Automatic Enrollment?BooleanFALSETrue/falseOptionalNAuto-Enroll:EnableAutoEnroll = false or null, this will indicate that the plan does not carry the auto enroll feature. If the EnableAutoEnroll flag is not included in the PlanUpdate, then the default for this EnableAutoEnroll flag in the planInfo table should be ‘0’.
Web Transaction Info:
EnableTransactionPlanDefinition/PlanUpdateTRANSACTIONTYPEDoes the plan receive transactions?BooleanDefault to client level settingtrue/falseOptionalNWeb Transaction Info:This plan transactional information will override any company level transactional information. If this field is not sent, then we will use the company-level transaction information.

This data point does not apply to Managed Accounts. Transactions for Managed Accounts cannot be disabled.
In-Retirement:
EnableInRetirementPlanDefinition/PlanUpdateDoes the plan support In-Retirement?IntegerDefault to 00
1
2
OptionalNIn-Retirement:This plan supports In-Retirement’s de-accumulation functionality for users.

0 – In-Retirement not available
1 – In-Retirement is available
4 – In-Retirement with GMWB is available

Not all plans under a given client ID will want to offer GMWB but may still want to offer IR or not offer IR at all. We need to modify the merge/validation logic to support hierarchical logic as follows:

Client Config Enable IR Value Plan Level ‘Enable IR Value’
4 0, 1, 4
1 0, 1
0 0
ContractIDPlanDefinition/PlanUpdate/AnnuityList/AnnuityThe identifier of the annuity contract.StringABC123NIn-Retirement:This ID must match the contractID sent in the participant XML. This contractID is not used to validate against Morningstar’s global security database. Max length is 100 characters.

Required when the plan offers annuities
RiderFeePlanDefinition/PlanUpdate/AnnuityList/AnnuityAnnual fee charged by the insurance company for the GMWB, as defined in the contractInteger100NIn-Retirement:Annual fee charged by the insurance company for the GMWB, defined in the contract. Sent as basis points (bps).

Required when the plan offers annuities
AnnualFeePlanDefinition/PlanUpdate/AnnuityList/AnnuityThe annual fee paid by the user for the annuity contract, in addition to the rider feePercent50OptionalNIn-Retirement:Sent as bps, so “50” means a 0.5% annual fee. Values must be in the range 1-100.
StepUpEndPointPlanDefinition/PlanUpdate/AnnuityList/AnnuityNumber of years in which the benefit base is allowed to increase as a result of the contract value increase.Integer100100OptionalNIn-Retirement:Values must be in the range 1-100.
BenefitBaseCapPlanDefinition/PlanUpdate/AnnuityList/AnnuityMaximum amount up to which the benefit base will be allowed to increase.IntegerBalance100000NIn-Retirement:Maximum amount up to which the benefit base will be allowed to increase.

Required when the plan offers annuities
ProductCodePlanDefinition/PlanUpdate/AnnuityList/AnnuityProduct CodeString7OptionalNIn-Retirement:Product Code enables specific disclosure language to display within RM’s UI. Max length is 50 characters. *Used today by Prudential.
MinAgePlanDefinition/PlanUpdate/GMWBBand/TierMinimum age at which this GMWB band can be appliedInteger0OptionalIn-Retirement:
SinglePlanDefinition/PlanUpdate/GMWBBand/TierWithdrawal percentage for an individual invested in GMWBDecimal0.05OptionalIn-Retirement:
JointPlanDefinition/PlanUpdate/GMWBBand/TierWithdrawal percentage for a participant invested in GMWB, if they also have a spouseDecimal0.0439OptionalIn-Retirement:
New Plan Identifiers and Global Data Elements - only for Custom Models Platform
AdvisorsNodePlanDefinition/PlanUpdateIndicates Advisor information for Custom Models planNodeRequired for Custom Models platform onlyNNew Plan Identifiers and Global Data Elements - only for Custom Models PlatformThis node should only be used for the Custom Models service option.
AdvisorIDPlanDefinition/PlanUpdate/AdvisorsIndicates advisor ID associated with a planStringABC1234Required for Custom Models platform onlyNNew Plan Identifiers and Global Data Elements - only for Custom Models PlatformThis value indicates which plans an avisor can see and access in the Custom Models AUI.
BrokerDealerPlanDefinition/PlanUpdate/AdvisorsIndicates the broker dealer associated with a planStringINGGRequired for Custom Models platform onlyNNew Plan Identifiers and Global Data Elements - only for Custom Models PlatformBroker Dealer for Custom Models plan.
New Plan Identifiers and Global Data Elements- only for Advisor Managed Accounts Platform
AdvisoryFirmIDPlanDefinition/PlanUpdateString used to identify the AdvisoryFirm associated with the plan.StringAbc123OptionalNNew Plan Identifiers and Global Data Elements- only for Advisor Modeler PlatformThis should only be used for the Advisor Managed Accounts platform/service.
Cash Balance Plan Elements:
StartAgePlanDefinition/PlanUpdate/PayCreditSet/PayCredit/StartAgeN/A in old dtdThe minimum age to be earning a specified percentage of employer contribution towards the Cash Balance plan.Integer
0-150
N/AOptionalNCash Balance Plan Elements:Each set in the PayCreditSet range must have a start and end age to determine the bounds for the associated percentage of employer conribution.
EndAgePlanDefinition/PlanUpdate/PayCreditSet/PayCredit/EndAgeN/A in old dtdThe maximum age to be earning a specified percentage of employer contribution towards the Cash Balance plan.Integer
0-150
N/AOptionalNCash Balance Plan Elements:Each set in the PayCreditSet range must have a start and end age to determine the bounds for the associated percentage of employer conribution.
PercentagePlanDefinition/PlanUpdate/PayCreditSet/PayCredit/PercentageN/A in old dtdThe rate of employer contribution contributed to the Cash Balance plans for participants within the aforementioned age range.DecimalN/AOptionalNCash Balance Plan Elements:
FixedGrowthRatePlanDefinition/PlanUpdate/CashBalanceGrowthParams/FixedGrowthRateN/A in old dtdThis is the growth rate assigned to the Cash Balance plan data sent from a third party provider.Decimal0FixedGrowthRate="1.1"OptionalNCash Balance Plan Elements:If both FixedGrowthRate and AssetClass values are present, WFE will apply an earnings credit that is the greater of the fixed growth rate or the yield return on the asset class. If fixed growth rate is passed and asset class is omitted, then the earnings credit will just be the same rate every year.
AssetClassPlanDefinition/PlanUpdate/CashBalanceGrowthParams/AssetClassN/A in old dtdThis is the asset class assigned to the Cash Balance plan data sent from a third party provider.StringN/AAssetClass="Long Term Bonds"OptionalNCash Balance Plan Elements:If both FixedGrowthRate and AssetClass values are present, WFE will apply an earnings credit that is the greater of the fixed growth rate or the yield return on the asset class. If fixed growth rate is passed and asset class is omitted, then the earnings credit will just be the same rate every year.

Clients can select any Asset Class recognized by WFE.

Client Batch Confirmation Reconciliation Files

Confirmation Reconciliation of Managed Accounts Transactions The provider, sponsor, or record-keeper must send back a file in XML format confirming which Managed Accounts service option transactions were successfully processed by the client. This applies to all Managed Accounts transaction options, including QualMRP as well as None (for participants who have opted out of Managed Accounts and received an opt out transaction). XML format is preferred. The file needs to contain a list of the Social Security Numbers of users who transacted successfully, the timestamp from the Morningstar output file that was sent to the client, the tracking ID from the transaction file, and the number of transactions that were implemented. The file should be sent back to the Morningstar FTP site. The name for the file should be clientID_MA_confirm_date_timestamp (timestamp in hhmmss).

Here is the schema for the file and a sample file:

XML Format – Schema:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema xmlns="http://www.morningstar.com/clearfuture" xmlns:xs="http://www.w3.org/2001/XMLSchema"targetNamespace="http://www.morningstar.com/clearfuture" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="CFCONFIRMATION">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="COMPANYID"/>
				<xs:element ref="CONFIRMATIONNUM" minOccurs="0"/>
				<xs:element ref="FILENAME" minOccurs="0"/>
				<xs:element ref="PARTICIPANTCONF" maxOccurs="unbounded"/>
				<xs:element ref="NUMPARTICIPANT"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="COMPANYID">
		<xs:complexType mixed="true"/>
	</xs:element>
	<xs:element name="TIMESTAMP">
		<xs:complexType mixed="true"/>
	</xs:element>
	<xs:element name="TRACKINGID">
		<xs:complexType mixed="true"/>
	</xs:element>
	<xs:element name="CONFIRMATIONNUM">
		<xs:complexType mixed="true"/>
	</xs:element>
	<xs:element name="FILENAME">
		<xs:complexType mixed="true"/>
	</xs:element>
	<xs:element name="NUMPARTICIPANT">
		<xs:complexType mixed="true"/>
	</xs:element>
	<xs:element name="SSN">
		<xs:complexType mixed="true"/>
	</xs:element>
	<xs:element name="PARTICIPANTCONF">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="SSN"/>
				<xs:element ref="TIMESTAMP"/>
				<xs:element ref="TRACKINGID"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>

Sample Confirmation File:

In the sample, the following data elements are used:

COMPANYID – The company identifier
SSN – Participant’s social security number
TIMESTAMP – the timestamp from the Morningstar output file that was sent to the client
TRACKINGID – the distinct transaction identifier from Morningstar that is used for reconciling transactions
NUMPARTICIPANT – the number of participants in the file. A user should be counted multiple times here if he appears in the file more than once. For example, if SSN 222-22-2222 is in the file with 3 different transactions, he will be counted 3 times here.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE CFCONFIRMATION>
<CFCONFIRMATION>
	<COMPANYID>abcd</COMPANYID>
	<PARTICIPANTCONF>
		<SSN>123456789</SSN>
		<TIMESTAMP>**2004-12-17T09:30:47**</TIMESTAMP>
		<TRACKINGID>**936DA01F-9ABD-4d9d-80C7-02AF85C823L6**</TRACKINGID>
	</PARTICIPANTCONF>
	<PARTICIPANTCONF>
		<SSN>987654321</SSN>
		<TIMESTAMP>**2004-12-17T09:30:47**</TIMESTAMP>
		<TRACKINGID>**366DA01F-J7BD-4d9U-00C7-02AF85C823L8**</TRACKINGID>
	</PARTICIPANTCONF>
	<PARTICIPANTCONF>
		<SSN>555555555</SSN>
		<TIMESTAMP>**2004-12-17T09:30:47**</TIMESTAMP>
		<TRACKINGID>**df34A01F-8ABk-5d9d-80C7-iUAF85C823L6**</TRACKINGID>
	</PARTICIPANTCONF>
	<NUMPARTICIPANT>3</NUMPARTICIPANT>
</CFCONFIRMATION>

Client Confirm File Process for Managed Accounts

The client confirmation files will be on the Morningstar FTP site where all the confirmation files are located. The files will be named as clientID_MA_confirm_date_timestamp (Timestamp in hhmmss).

The application will check the FTP site for client transaction confirmation files. An automated process will run and compare the incoming client confirmation file against the managed accounts batch transactions that have not yet been reconciled.

The reconciliation process will automatically check each confirmation in the client confirm file against the managed accounts batch transactions that have been sent out.

In the event that a confirmation file is corrupt or the whole file is in the wrong format, an email will be automatically sent to the client teams informing them about this issue (see format below).

Every time we receive a confirmation file from the client, we’ll check to see if any transactions have not been reconciled, and add any such transactions to the error report. This error report will be added to the FTP site.

Format of Confirmation error email: This email will be generated if a client confirmation file is corrupt or in the wrong format or any other discrepancy exists with the confirm file. This will not have any error report attached but will let the client teams know about an incorrect file.

Emails sent to: Client teams and clients.

Email subject: Confirm File Error

Email text: The XXX confirm file for YYY is either corrupt or in the wrong format. Please check the file and correct the errors or replace the file with a new one. The reconciliation process cannot be completed until the file is corrected.

If you have any questions regarding this email, please contact your Relationship Manager. Do not reply to this e-mail address. Any messages sent to this address will be automatically deleted.

Thank you, The Morningstar Team

(XXX is the confirm file name, YYY is the Company ID.)

If a user has not been reconciled, this email will be sent:

Emails sent to: Client teams and clients.

Email subject: Missing Participants Reconciliation Report

Email text: The XXX confirm file for YYY is either corrupt or in the wrong format. Please check the file and correct the errors or replace the file with a new one. The reconciliation process cannot be completed until the file is corrected.

If you have any questions regarding this email, please contact your Relationship Manager. Do not reply to this e-mail address. Any messages sent to this address will be automatically deleted.

Thank you, The Morningstar Team

(YYY is the number of participants in the file)

Format of Transactions Missing Email with Error Report:

The error report will be in csv. format and will contain the following fields:

  • Client ID
  • Missing participant SSN
  • PlanID
  • Date/Time stamp of transaction
  • TrackingID
  • ErrorMsg – This will be “Could not find Confirmation in Database”

For Qualitative Managed Accounts users marked as ‘Do Not Implement’

As part of the qualitative Managed Accounts process, each deviated user’s transaction is reviewed and then implemented by a consultant. At times, however, there may be participants for whom the consultants are unable to implement a transaction. A participant can be marked as a “Do Not Implement” participant for various reasons. One reason could be that the participant excluded the only cash fund in the fund line-up which is required for plan compatibility. In this case, a consultant may select to mark the participant as a “Do Not Implement” participant and no transaction would be generated for the participant. These participants would also appear in a report that can be posted to the client site.

Format of Do Not Implement report:

The error report will be in .xml format and will contain the following fields:

  • CompanyID
  • Timestamp
  • SSN
  • PLANID

Note: This will contain the explanation of why the consultants could not implement the participant

The naming convention for the report is: clientID_MA_nonImplementUserReport_date_timestamp.xml (timestamp in hhmmss).

Example of the Do Not Implement report:

<CFUSERREPORT>
<COMPANYID>DEMO</COMPANYID>
<TIMESTAMP>1/23/2007 11:42:49 AM</TIMESTAMP>
<USER><SSN>SampleUser1</SSN><PLANID>PLAN123</PLANID><NOTE>Too many excluded funds</NOTE></USER>
<USER><SSN>123456789</SSN><PLANID>PLAN123</PLANID><NOTE>User excluded only cash fund available</NOTE></USER>
</CFUSERREPORT>

Transaction XML Examples

Sample Transaction XML Document 1

The following contents would be included in the transaction file for an integrated Managed Accounts user.

Cookie=123456&sid=1234567890123456&str=<Transaction ClientID="**DEMO**" TimeStamp="**2005-08-02T09:16:10**">
	<UserTransaction TrackingID="**ce135f81-ab4b-4dfa-9b5b-f96831e21136**" UserID="**TransSample**" FirstName="**Transaction**"LastName="**Sample**" PhoneRepID="" TimeStamp="**2005-08-02T09:16:10**">
		<Account ServiceOption="**QuantMRP**" Type="**401K**" TPAID="" PlanID="**DWHSEMIN**" Status="**Active**">
			<PretaxContriRate Amount="**5000**" Rate="**10.00**"/>
			<PosttaxContriRate Amount="**1000**" Rate="**2.00**"/>
			<Catchup50Years Amount="**500**" Rate="**1**" Roth=”**True**”/>
			<CatchupLongTerm Amount="**1000**" Rate="**2**"/>
			<Brkg/>
			<CSTarget>
				<CS Target="**5**" ID="**_CSTK**"/>
			</CSTarget>
			<Reallocation>
				<Security TransactionID="**BRWIX**" Perc="**25**" IsCS="**false**"/>
				<Security TransactionID="**HACAX**" Perc="**10**" IsCS="**false**"/>
				<Security TransactionID="**VWIGX**" Perc="**4**" IsCS="**false**"/>
				<Security TransactionID="**AADBX**" Perc="**26**" IsCS="**false**"/>
				<Security TransactionID="**PTTRX**" Perc="**24**" IsCS="**false**"/>
				<Security TransactionID="**_CSTK**" Perc="**11**" IsCS="**true**"/>
			</Reallocation>
			<FutureElection>
				<Security TransactionID="**BRWIX**" Perc="**25**" IsCS="**false**"/>
				<Security TransactionID="**HACAX**" Perc="**10**" IsCS="**false**"/>
				<Security TransactionID="**VWIGX**" Perc="**4**" IsCS="**false**"/>
				<Security TransactionID="**AADBX**" Perc="**26**" IsCS="**false**"/>
				<Security TransactionID="**PTTRX**" Perc="**24**" IsCS="**false**"/>
				<Security TransactionID="**SLASX**" Perc="**11**" IsCS="**false**"/>
			</FutureElection>
		</Account>
		<Account ServiceOption="**QuantMRP**" Type="**NonQual**" TPAID="" PlanID="**123456**" Status="**Active**">
			<PretaxContriRate Amount="**5050**" Rate="**10.00**"/>
			<Catchup50Years Amount="**1000**" Rate="**1**"/>
			<CatchupLongTerm Amount="**1000**" Rate="**2**"/>
			<Brkg/>
			<CSTarget>
				<CS Target="**0**" ID="**_CSTK**"/>
			</CSTarget>
			<Reallocation>
				<Security TransactionID="**BRWIX**" Perc="**25**" IsCS="**false**"/>
				<Security TransactionID="**HACAX**" Perc="**10**" IsCS="**false**"/>
				<Security TransactionID="**VWIGX**" Perc="**4**" IsCS="**false**"/>
				<Security TransactionID="**AADBX**" Perc="**26**" IsCS="**false**"/>
				<Security TransactionID="**PTTRX**" Perc="**24**" IsCS="**false**"/>
				<Security TransactionID="**_CSTK**" Perc="**11**" IsCS="**true**"/>
			</Reallocation>
			<FutureElection>
				<Security TransactionID="**BRWIX**" Perc="**25**" IsCS="**false**"/>
				<Security TransactionID="**HACAX**" Perc="**10**" IsCS="**false**"/>
				<Security TransactionID="**VWIGX**" Perc="**4**" IsCS="**false**"/>
				<Security TransactionID="**AADBX**" Perc="**26**" IsCS="**false**"/>
				<Security TransactionID="**PTTRX**" Perc="**24**" IsCS="**false**"/>
				<Security TransactionID="**SLASX**" Perc="**11**" IsCS="**false**"/>
			</FutureElection>
		</Account>
	</UserTransaction>
</Transaction>

Sample Transaction XML Document 2

The following contents would appear in a transaction file for a user who receives transactions but does not have his current portfolio rebalanced due to threshold checking.

Cookie=123456&sid=1234567890123456&str=<Transaction  TimeStamp="**2004-12-17T09:30:47**" ClientID="**ABCD**">
	<UserTransaction TrackingID="**936DA01F-9ABD-4d9d-80C7-02AF85C823L6**" UserID="**111111111**" FirstName="**John**" LastName="**Smith**"PhoneRepID="**45851**" TimeStamp="**2005-08-02T09:16:10**">
		<Account ServiceOption="**QuantMRP**" Type="**401K**" TPAID="" PlanID="**123444**" Status="**Active**">
			<PretaxContriRate Rate="**10.00**" Amount="**10000**" />
			<Catchup50Years Rate="**2**" Amount="**2000**" />
			<CSTarget>
				<CS  ID="**CSTK**" Target="**3**" />
			</CSTarget>
			<FutureElection>
				<Security  TransactionID="**Fund1**" Perc="**15**" IsCS="**false**" />
				<Security  TransactionID="**Fund2**" Perc="**20**" IsCS="**false**" />
				<Security  TransactionID="**Fund3**" Perc="**65** " IsCS="**false**" />
			</FutureElection>
		</Account>
	</UserTransaction>
</Transaction>

Sample Transaction XML Document 3

The following contents would appear in a real-time transaction file for a user who enrolled into the Qualitative Managed Accounts service option from the Retirement Manager interface (real-time opt-in transaction):

Cookie=123456&sid=1234567890123456&str=<Transaction TimeStamp="2009-01-28T16:30:59" ClientID="DEVP20">
	<UserTransaction TrackingID="cebd31eb-ed1b-4382-a57b-a94b53fb9f50" UserID="RealTImeQualitativeMA" FirstName="CurFutMax"LastName="Case1UI" TimeStamp="2009-01-28T16:30:59">
		<Account PlanID="AssetAllocationPlan" ServiceOption="QualMRP" Type="401K" Status="Active">
			<PretaxContriRate Rate="7.00" Amount="3150.00"/>
			<PosttaxContriRate Rate="2.00" Amount="900.00"/>
		</Account>
	</UserTransaction>
</Transaction>

Sample Transaction XML Document 4

The following contents would appear in a transaction file for a user who is opting out of a service option (opt-out transaction):

Cookie=123456&sid=1234567890123456&str=<Transaction TimeStamp="2007-02-14T12:12:37" ClientID="DEVP8">
	<UserTransaction TrackingID="d528b22d-1756-49b6-8792-3e2fa22c3eb3" UserID="MigrationTextDEVP8XX2AccW"FirstName="METHODOLOGYDEV8" LastName="SIMPLE CASE" TimeStamp="2007-02-14T12:12:37">
		<Account PlanID="FPLAN1" ServiceOption="NONE" Type="401K"/>
	</UserTransaction>
</Transaction>