Participant Data Specification — XML

General Information

Purpose of This Document

This document details the content and format Morningstar Investment Management LLC supports for Morningstar real-time and batch participant communications with Recordkeepers in XML. If the file is for one of the Morningstar Web Applications, it will be sent real-time. If the file is for one of the offline processes, it will be sent in batch format.

Morningstar uses the data you provide to make retirement planning recommendations for participants. This document outlines the format and definition of the participant level data points used by Morningstar.

Core vs. Wrappers

To integrate with Advice or Advisory services, a core real-time XML will need to be coded for each participant. Once the initial core real-time XML is coded, it can be used across services. Each service may also have additional data required in the XML specific to the access point being used to reach the service, such as the phone representative's ID when accessing Advice through a call center. The additional data required will be coded as a wrapper and sent with the core XML in the same participant real-time XML file. Each time a participant accesses a service, the data from the core XML, along with the data from appropriate wrapper for that service, will be prepopulated for the participant as applicable.

Real-Time Communications

Protocol

SAML 2.0 is the standard single sign-on (SSO) process for Morningstar® Retirement ManagerSM. Using this method, the participant first logs into the client website. Upon clicking the Morningstar link from the client website, the participant will be taken to the Morningstar® Retirement ManagerSM home page without needing to log in again to access Morningstar® Retirement ManagerSM. When the participant clicks on the single sign-on link, the client will populate the SAML packet used for single sign-on with the participant real-time XML file containing the participant's information. On receipt of the SAML packet and after successful processing of the SAML assertation, the participant will be automatically logged into the Morningstar® Retirement ManagerSM website. During the participant log in to the site, Morningstar will invoke the participant information web service hosted by the client to retrieve participant information, which will be used to pre-populate the Morningstar® Retirement ManagerSM intereface.

For participants use the HTTPS post SSO method to link directly from their plan provider/plan sponsor website, Morningstar Web Applications need to receive the complete URL that will be used to call back to the provider or record-keeper to retrieve and/or send information during Seamless Log-in. This URL will be sent as a parameter in Seamless Log-in using HTTPS. The data exchange is done on a per-user and plan basis. For complete details on the data retrieval process, please refer to the Single Sign On Specification document.

Batch Communications

Protocol

You will prepare the batch XML file to our schema specifications for the Proposal and Managed Accounts. (Note that “Proposal” is the new product name for Statement/Offer Letter). If the client gets Progress Reports as part of the Managed Accounts service, the batch files sent for quarterly batch processing will also be used as input files for the Progress Report generation process.

Files are uploaded to Morningstar using the ftp service (ftp.morningstar.com). A User Name and Password will be assigned during implementation. PGP encryption and SSL FTP can be used for additional security.

Update Procedures and Data Validation

On an ongoing basis, Morningstar must receive complete batch transfers of all participant-level data. Even if only one data item is changed, all data should be included. For Managed Accounts, the data transfer should be done when there are any new participants, participants that have changes, and/or on a quarterly basis for quarterly portfolio rebalancing, Progress Report processing (if applicable), and annual portfolio review. For the Proposal, Morningstar must receive a complete participant batch file containing all participants who are to receive a Proposal for the given Proposal run.

File Naming Convention

One XML file can contain multiple participants.

  • For Managed Accounts, Morningstar recommend using the file name “ClientID_MA_part_date.xml”. The ClientID is the assigned by Morningstar.
  • When sending test files, please use file names that differentiate them from Production Files, such as “ClientID_MA_part_date_test.xml” for Managed Accounts.
  • If a single participant Managed Accounts batch file is very large (e.g. larger than 100MB), you may split the data into several files named “ ClientID_MA_part_date_time_1.xml”, “ClientID_MA_part_date_time_2.xml”, etc, by appending sequence numbers to them. Use the same file names for each subsequent update.
  • For Proposal, Morningstar recommend using the file name “ClientID_ST_part_date.xml”. The ClientID is the four-digit code assigned by Morningstar.
  • When sending test files, please use file names that differentiate them from Production Files, such as “ClientID_ST_part_date_test.xml” for Proposal.
  • If a single participant Proposal batch file is very large (e.g. larger than 100MB), you may split the data into several files named “ClientID_ST_part_date_time_1.xml”, “ClientID_ST_part_date_time_2.xml”, etc, by appending sequence numbers to them. Use the same file names for each subsequent update.

File Processing

On an ongoing basis (depending on how frequently you send your files), Morningstar will retrieve your batch file from our FTP server and import the data into the database. We will set times to load the files depending on the schedule for generating the Proposal or implementing Managed Accounts transactions. If the batch file does not conform to our schema, or if there are errors in the XML syntax, the batch import process will fail, and the file will not be imported. The Morningstar team will work with you to identify and resolve any processing errors that occur.

Additionally, the participant batch import process will also generate error reports for critical data that is missing or invalid. The Morningstar team will send these error reports to you so that they may be corrected.

Real-Time and Batch Communications

Important Notes

  • Only those fields marked “required” are required fields in the schema. However, we recommend that you provide us with all the requested data, as it greatly improves the user experience.
  • You should validate your data transfers against the schema called ExternalParticipantData_3.1.xsd to ensure that they are well formed and valid.
  • Any string longer than the length limit will be considered an error, and the participant would appear in the error report in the output directory on the FTP site.
  • If you have no value on your system for a particular data element, either omit the element tag altogether or send a NULL value, but do not send a zero. Zero will be treated by our system as a value.
  • The XML file(s) should follow the element sequence defined in the schema.

How to Read the XML Schema

You will receive a file of the schema for the XML Participant Data Specification called ExternalParticipantData_3.1.xsd. The purpose of the schema is to explain which elements may appear in the XML file, how they will appear, and what the elements’ contents are. Following this section is the schema for the Morningstar XML Participant Data Specification. In the schema, there will also be a brief text description of what the element is. This description will appear with the following syntax:

<xs:annotation>

<xs:documentation>description</xs:documentation>

</xs:annotation>

Validating the XML File with the Schema

The XML document sent by the client will be validated against the schema that is sent to the client during implementation.

Detailed Element Descriptions

Element NamePath in SchemaElement DescriptionElement TypeElement Type RequirementsDefaultExampleRequired?Displayed?FeatureComments
Plan Identifiers and Participant Flags:
ClientIDIn the ParticipantData nodeYour client IDString20 characters is the max length, uppercaseWXYZRequiredNPlan Identifiers & Ppt FlagsMorningstar assigns this value. The ClientID must be sent upper case.
TPAIDIn the ParticipantData/ParticipantPlanData/InstAcct nodeThird Party Administrator IDStringABCINCOptionalNPlan Identifiers & Ppt FlagsThis 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. However, 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. This field is also used as part of the primary key that uniquely identifies a plan. If a plan changes the value sent for TPAID, it will be considered a new plan in the Morningstar database.
PlanIDIn the ParticipantData/ParticipantPlanData/InstAcct nodeYour internal plan identification codeString50 characters is the max length00001zvfzRequiredNPlan Identifiers & Ppt FlagsThe client determines this value. It is an internal identifier used to distinguish individual plans. 50 characters is the maximum character length for this field.
PlanTypeIn the ParticipantData/ParticipantPlanData/InstAcct nodeType of planString401K Thrift ProfitSharing MoneyPurchase 403B Sup403B 457B 401A NonQual SIMPLE_IRA SEP_IRA TradIRA RothIRA RolloverIRA NonQualifedVA TaftHartley401K401KRequiredNPlan Identifiers & Ppt FlagsAll elements within the InstAcct section must pertain to the type of plan indicated by the PlanType element.
StatusParticipantData/ParticipantPlanData/InstAcct nodeStatus of the employee for the corresponding planStringActive Termed Suspended InactiveActiveActiveOptionalNoPlan Identifiers & Ppt FlagsThis field will indicate the employee’s status for the account. A value of “Active” indicates that the employee is active in the plan (e.g. the employee is not terminated or retired from the employer for the corresponding account). A value of “Termed” indicates that the employee has terminated employment from the company, still has a plan balance, and is not yet drawing down his or her plan balance. (Note that if an account is sent with a status of “Termed”, any contributions-related information sent for the account will be disregarded, as contributions are inapplicable to a termed account. The fields that will be disregarded are indicated throughout this specification). A value of “Suspended” indicates that the employee has a hardship withdrawal and cannot continue to make contributions. When a user had ‘suspended’ status an employer can still make contributions, such as dollarContri, but cannot make matching contributions. If Status is sent as suspended the following logic will apply: • All savings elements (i.e. pre-tax, post-tax, Roth, catch-ups) will be turned off for inside accounts across products. • If the participant is making a current contribution we will pass zero in place of the savings rate or amount. • Any UI section dealing with savings will have functionality disabled. • This will only apply to plans with employee contribution. • Applies to accumulation and transition user experiences only. Only employees that fall into one of these statuses should be sent in the participant file. A value of “Inactive” indicates the employee is no longer active but still has a plan balance. ((Note that if an account is sent with a status of “Inactive”, any contribution-related information sent for the account will be disregarded, as contributions are inapplicable to an inactive account. The fields that will be disregarded are indicated throughout this specification). Only employees that fall into one of these statuses should be sent in the participant file.
ProcessIDIn ParticipantData nodeIs used to determine if user should access custom opt out functionality or standard RM pathIntegerMinInclusive 1; MaxInclusive 999100ProcessID=”110”OptionalNPlan Identifiers & Ppt FlagsWe need this value in the case of optout. If the value is not sent, we will assume the default which is RM UI. 100 Redirect to RM UI 110 Redirect to RM Optout
TransactionRoutingIDParticipantData/ParticipantPlanData/InstAcct nodeIs used for the client to send Morningstar data that client needs back in the participant transaction and/or data validation reports.StringMin Length 0; Max Length 256S1OptionalNPlan Identifiers & Ppt FlagsClient internal identifier can be used in this field to receive participant plan level information back in transactions and data validation error reports. An example of how this attribute will be used is if a client needs to identify server information for processing data received from Morningstar. The data sent in this field will be stored in the Retirement Manager database. It will only be used to send participant account related data back in the transaction file and/or data validation error reports. Note: This field can only be sent in participant enrollment and rebalance XML files. It cannot be sent in participant opt-out xml files. Maximum Number of Characters: 60
EnableTransactionsParticipantData/ParticipantPlanData/InstAcct nodeIndicates whether a transaction will be generated for the participantBooleanSee CommentsTRUEOptionalNPlan Identifiers & Ppt FlagsThe default is based on the plan level EnableTransaction value. This data point does not apply to Managed Accounts. Transactions for Managed Accounts cannot be disabled.
EnableFutureElectionsParticipantData/ParticipantPlanData/InstAcct nodeIndicates whether the transaction will include the Future Election nodeBooleanSee CommentsTRUEOptionalNPlan Identifiers & Ppt FlagsThe default is True.
EnableContributionChangesParticipantData/ParticipantPlanData/InstAcct nodeIndicates whether the transaction will include any contribution or deferral informationBooleanSee CommentsTRUEOptionalNPlan Identifiers & Ppt FlagsThe default is based on the plan level EnableTransaction value.
EnableRebalanceParticipantData/ParticipantPlanData/InstAcct nodeIndicates whether the transaction will include any reallocation informationBooleanSee CommentsTRUEOptionalNPlan Identifiers & Ppt FlagsThe default is true
AutoEnrollParticipantData/ParticipantPlanData/InstAcct nodeThis node will indicate if the provider identifies this particular user as participating in the Automatic Enrollment programBooleanFALSEtrue/falseOptionalNPlan Identifiers & Ppt FlagsThis field is required for the auto enrollment feature. We need to add an optional attribute to the participant file to indicate that the user is participating in the auto enroll program with the plan sponsor. It is important to note that attribute set to ‘true’ does not indicate an enrollment. If the user is in the auto enroll program and is being rebalanced, the node should be sent. The AutoEnroll flag influences behaviors within the interface, so it needs to apply to enrollments, updates, rebalances and opt outs. AutoEnroll = ‘true’ indicates that the user is participating in the auto enroll feature. AutoEnroll = ‘false’ or null indicates that the participant is not participating in auto enroll program. If the AutoEnroll flag is not included in the participant xml, then the default for this AutoEnroll flag in the account table should be ‘false’. The AutoEnroll participant level flag is not explicitly saved in the database for the user. We will use the participant’s AutoEnroll flag settings to maintain the AutoEnroll “status” set in the account table in the database. The AutoEnroll “status” set in the account table in the database will ultimately determine the returning user UI behavior and path. Example: An enrolled user with AutoEnroll status = ‘1’ comes to RM site (in real-time) without AutoEnroll node or with AutoEnroll node = ‘0’, accepts the Morningstar Advisory Agreement and confirms their transaction either in MBM or MBY. The account level AutoEnroll value is updated in the database when the user reaches the 'Thanks for visiting' page.
AutoRollOverParticipantData/ParticipantPlanData/InstAcct nodeThis node indicates if the participant has elected to have excess pre-tax contributions automatically rolled into the account as a post-tax or catch-up contributionStringFALSEPostTax Catchup50OptionalNPlan Identifiers & Ppt FlagsThis field is currently being used for special purposes for only the following clientIDs: USA805
MAProviderParticipantData/ParticipantPlanData/MAProviderManaged Account ProviderStringRM or LPLOptionalPlan Identifiers & Ppt FlagsThe managed account provider for the participant. This is used with the broker dealer platform.
ApplySRAParticipantData/ParticipantPlanData/InstAcct nodeThis node applies to 401(a) plans only and indicates if savings rate advice must be disabled for pretax 401(a) accountsStringTRUETRUE OR FALSEOptionalNPlan Identifiers & Ppt FlagsThis node applies to 401(a) plans only and defaults to "true" if not explicitly defined. When set to "true" or defaults to "true", it indicates that savings rate advice must be enabled for pretax 401(a) accounts. When explicitly set to "false" it indicates that savings rate advice must bedisabled for pretax 401(a) accounts. In both settings, the pretax 401(a) entry field on RM5 UI will be editable. However, once the user enters a pretax 401(a) contribution value, it will not be made advisable in UI. In batch or API, while there is no option to edit the pretax 401(a) savings rate, if ApplySRA=false, then savings rate advice for the pretax 401(a) account will be disabled.
Accumulation Participant and Partner Flag Identifiers:
UserIDParticipantData/ParticipantInfo/ParticipantEmployee’s social security number or other identifierStringMinLength= 1; MaxLength= 40123456789RequiredNAccumulation Participant & Partner IdentifiersIn most cases, this will be the employee’s Social Security Number.
UIDParticipantData/ParticipantInfo/ParticipantEmployee’s Unique IdentifierStringMinLength= 1; MaxLength= 40123456789OptionalNAccumulation Participant & Partner IdentifiersThis field is only used under special circumstances.
FirstNameParticipantData/ParticipantInfo/ParticipantEmployee’s first nameStringMinLength= 1; MaxLength= 60JaneRequiredYAccumulation Participant & Partner IdentifiersLimit of 60 characters
LastNameParticipantData/ParticipantInfo/ParticipantEmployee’s last nameStringMinLength= 1; MaxLength= 60SmithRequiredYAccumulation Participant & Partner IdentifiersLimit of 60 characters
MiddleNameParticipantData/ParticipantInfo/ParticipantEmployee’s middle nameStringMinLength= 0; MaxLength= 60P.OptionalNAccumulation Participant & Partner IdentifiersThis field is only used if received in batch. Limit of 60 characters.
DOBParticipantData/ParticipantInfo/ParticipantEmployee’s birthdateDate12/30/65Required only for Managed AccountsYAccumulation Participant & Partner IdentifiersThis is required for batch enrollment and the Proposal, but optional for batch rebalancing or real time web applications.
GenderParticipantData/ParticipantInfo/ParticipantEmployee’s genderStringM or FFM or FOptionalYAccumulation Participant & Partner Identifiers
EmailParticipantData/ParticipantInfo/ParticipantEmployee’s e-mail addressStringjsmith@anycorp.comOptionalYAccumulation Participant & Partner IdentifiersLimit of 80 characters
Address1ParticipantData/ParticipantInfo/Participant/AddrParticipant Address Line 1String222 N. State StreetRequired only for Managed AccountsNAccumulation Participant & Partner IdentifiersThis field is REQUIRED when Morningstar is producing Proposal PDFs or Progress Reports for the client, but is optional for other services. The participant address will be populated in the Proposal, Progress Report, and online Session Summary PDF Reports. Only addresses in the United States, Guam, the US Virgin Islands, the District of Columbia, and Puerto Rico are allowed. 100 characters is the maximum character length for this field.
Address2ParticipantData/ParticipantInfo/Participant/AddrParticipant Address Line 2StringApt. 3AOptionalNAccumulation Participant & Partner IdentifiersSee Address1 Limit of 50 characters
Address3ParticipantData/ParticipantInfo/Participant/AddrParticipant Address Line 3StringC/o Joe SmithOptionalNAccumulation Participant & Partner IdentifiersSee Address1 Limit of 50 characters
CityParticipantData/ParticipantInfo/Participant/AddrParticipant CityStringChicagoRequired only for Managed AccountsNAccumulation Participant & Partner IdentifiersSee Address1 Limit of 30 characters
StateParticipantData/ParticipantInfo/Participant/AddrParticipant StateStringILRequired only for Managed AccountsY - See CommentsAccumulation Participant & Partner IdentifiersSee Address1 When the Address node is sent in the Participant XML, the State data element cannot be removed. However, a value is not required to be sent. When both a State and Tax State are sent in the Participant XML, the value in Tax State will display in the UI. When only State is sent the value in State will display in the UI. When neither State or Tax State are sent US will be displayed in the UI. When both State and Tax State are not sent, the average of US state tax rates will be used.
ZipParticipantData/ParticipantInfo/Participant/AddrParticipant Zip CodeString60614Required only for Managed AccountsNAccumulation Participant & Partner IdentifiersSee Address1
CountryParticipantData/ParticipantInfo/Participant/AddrParticipant CountryStringUSARequired only for Managed AccountsNAccumulation Participant & Partner IdentifiersSee Address1 Limit of 40 characters
AmountParticipantData/ParticipantPlanData/SalaryEmployee’s salaryDecimal0-9999999940000Required only for Managed AccountsYAccumulation Participant & Partner Identifiers
FreqParticipantData/ParticipantPlanData/SalaryFrequency of Employee’s annual salaryToken1 = annually 2= semi-annual 4= quarterly 12 = monthly 24=semi-monthly 26=bi-weekly 50 = weekly 2000 = hourly11OptionalYAccumulation Participant & Partner IdentifiersFor Taft-Hartley plans, if frequency is not sent, salary is assumed to be hourly. If a frequency other than hourly is sent, both salary and frequency are ignored.
AmountParticipantData/ParticipantPlanData/PensionEmployee’s annual pension amount in today’s dollarsDecimal0-9999999940000OptionalYAccumulation Participant & Partner IdentifiersThis field may be used for a 401A DB plan as well as for other types of employer pension plans. Morningstar Retirement Manager can accommodate up to three pensions at this time. Pension information can be sent real-time in the “Participant Real-time” XML file and the information will be taken into consideration for wealth projections.
StartYearParticipantData/ParticipantPlanData/PensionEmployee’s pension start dateInteger10/20/10OptionalYAccumulation Participant & Partner IdentifiersThis field may be used for a 401A DB plan as well as for other types of employer pension plans. Morningstar Retirement Manager can accommodate up to three pensions at this time. Pension information can be sent real-time in the “Participant Real-time” XML file and the information will be taken into consideration for wealth projections. Note: We only validate against the year with our data validation, not the day and month.
SSFlagParticipantData/ParticipantInfo/Participant/SocialSecurityFlag based on which SS estimate will be calculated (using our algorithm) and displayed.BooleanTRUEtrue/falseOptionalNAccumulation Participant & Partner IdentifiersThis field would enable the provider to send us a flag based on which we will calculate the Social Security estimate and display it. If the flag is set to ‘true’, the estimate will be calculated using our algorithm and displayed, if the flag is set to ‘false’ the estimate will be displayed as 0. Please note that this only applies for the participant.
ConsiderPartnerParticipantData/ParticipantPlanDataIndicates whether we should include the partner data for the user.BooleanFALSETRUEOptionalNAccumulation Participant & Partner IdentifiersIf partner data is sent and should be considered, this element needs to be sent as True. This tag should be omitted if participants will access the Retirement Manager interface to enter partner data. This tag should only be used if the UI is not used. The default is only applicable in the event PullFromBatch flag in the client configuration file is set to true and if partner assets are sent over and if the ConsiderPartner element in the participant batch file is sent as True.
FirstNameParticipantData/ParticipantInfo/PartnerPartner’s first nameStringYourJaneOptionalYAccumulation Participant & Partner IdentifiersThis field is only used if received in batch. Limit of 60 characters. The default is only applicable in the event PullFromBatch flag in the client configuration file is set to true and if partner assets are sent over and if the ConsiderPartner element in the participant batch file is sent as True.
LastNameParticipantData/ParticipantInfo/PartnerPartner’s last nameStringPartnerDoeOptionalYAccumulation Participant & Partner IdentifiersThis field is only used if received in batch. Limit of 60 characters. The default is only applicable in the event PullFromBatch flag in the client configuration file is set to true and if partner assets are sent over and if the ConsiderPartner element in the participant batch file is sent as True.
MiddleNameParticipantData/ParticipantInfo/PartnerPartner’s middle nameAlphaLynnOptionalNAccumulation Participant & Partner IdentifiersThis field is only used if received in batch. Limit of 60 characters.
DOBParticipantData/ParticipantInfo/PartnerPartner’s birthdateDateParticipant’s DOB12/30/65OptionalYAccumulation Participant & Partner IdentifiersThis field is only used if received in batch. The default is only applicable in the event PullFromBatch flag in the client configuration file is set to true and if partner assets are sent over and if the ConsiderPartner element in the participant batch file is sent as True.
GenderParticipantData/ParticipantInfo/PartnerPartner’s genderStringM or FFM/FOptionalYAccumulation Participant & Partner IdentifiersThis field is only used if received in batch. The default is only applicable in the event PullFromBatch flag in the client configuration file is set to true and if partner assets are sent over and if the ConsiderPartner element in the participant batch file is sent as True.
TaxStateParticipantData/ParticipantInfo/ParticipantState of residence (for tax purposes)StringSee commentsILOptionalY - See CommentsAccumulation Participant & Partner IdentifiersThe state in which the user pays income taxes. Used for wealth forecasting purposes. If not sent, mailing address state will be used. If neither are available, the wealth forecasting engine will use an average of all US state tax rates. When both a State and Tax State are sent in the Participant XML, the value in Tax State will display in the UI. When only State is sent the value in State will display in the UI. When neither State or Tax State are sent US will be displayed in the UI.
PLCodesParticipantData/ParticipantPlanDataPL code values and inputted annual salary are used to create the participant’s employer contribution amount.Decimal0-9999999922000OptionalNAccumulation Participant & Partner IdentifiersThis field is currently used for Nadart only (ClientID=NADA) and will not be used for any other clients. Currently there are 4 PL Code attributes that are used. PL610, PL651, PL652, PL653
Transition Participant and Partner Identifiers:
LifeExpectancyParticipantData/ParticipantInfo/Participant ParticipantData/ParticipantInfo/PartnerInfoLife expectancy for the userInteger100OptionalYTransition Participant & Partner IdentifiersUsed for wealth forecasting purposes. Can be sent for participant or partner. Value for the participant will be ignored and default logic will be used if life expectancy sent is less than the participant’s/partner’s current age. The default life expectancy for a female is 95, and 92 for a male. Used only for RM In-Retirement.
BequestParticipantData/ParticipantInfo/ParticipantBequestInteger50000OptionalYTransition Participant & Partner IdentifiersUsed for wealth forecasting purposes. Can only be sent if the user’s Is Retired status is set to true and RM In-Retirement is used.
IsRetiredParticipantData/ParticipantInfo/Participant ParticipantData/ParticipantInfo/PartnerInfoIs the participant retired? Is the partner retired?BooleanFALSETRUEOptionalYTransition Participant & Partner IdentifiersUsed for wealth forecasting purposes. The participant flag also determines whether the participant will see the Accumulation or InRetirement site. When this value is sent as true for participants, participants will not see the “InRetirement gateway” page.
ExpenseTypeParticipantData/ParticipantInfo/Participant/Expense ParticipantData/ParticipantInfo/Participant/PartnerExpenseThe type of the projected expense during retirementStringVaction Medical PrivateCollege PublicCollege OtherVacationOptionalYTransition Participant & Partner IdentifiersRequired if Expense is sent. The type of the projected expense during retirement. We accept four types: • Vacation • Medical • Public College • Private College • Other We accept up to 10 expenses.
AmountParticipantData/ParticipantInfo/Participant/Expense ParticipantData/ParticipantInfo/Participant/PartnerExpenseThe amount of the projected expense during retirementDecimal0-9999999950000OptionalYTransition Participant & Partner IdentifiersRequired if Expense is sent. The amount of the projected expense during retirement We accept up to 10 expenses. Values must be in the range 0-99,999,999. The total amount of all expenses sent cannot exceed $99,999,999.
AmountParticipantData/ParticipantInfo/Participant/PartnerLumpSumAmount of the expected lump sum income for the partnerDecimal0-9999999950000OptionalYTransition Participant & Partner IdentifiersRequired if PartnerLumpSum is sent. Values must be in the range 0-99,999,999. A total of 10 additional income sources such as pension, lump sum, annual income, or pension can be sent between the participant and partner.
DateParticipantData/ParticipantInfo/Participant/PartnerLumpSumYear the partner’s lump sum income is expected.DateOptionalYTransition Participant & Partner IdentifiersRequired if PartnerLumpSum is sent. Values must be in the format YYYY. Lump sum start year must be between the current year and ‘current year +100’.
AmountParticipantData/ParticipantInfo/Participant/AnnualIncome ParticipantData/ParticipantInfo/Participant/PartnerAnnualIncomeAmount of the participant or partner’s expected annual income during retirementDecimal0-9999999950000OptionalYTransition Participant & Partner IdentifiersRequired if AnnualIncome or PartnerAnnualIncome is sent. Values must be in the range 0-99,999,999. A total of 10 additional income sources such as pension, lump sum, annual income, or pension can be sent between the participant and partner.
StartYearParticipantData/ParticipantInfo/Participant/ AnnualIncome ParticipantData/ParticipantInfo/Participant/PartnerAnnualIncomeThe year the participant or partner’s annual income is projected to beginInteger2020OptionalYTransition Participant & Partner IdentifiersRequired if AnnualIncome or PartnerAnnualIncome is sent. Values must be in the format YYYY. Annual Income start year must be between the current year and ‘current year +100’.
EndYearParticipantData/ParticipantInfo/Participant/ AnnualIncome ParticipantData/ParticipantInfo/Participant/PartnerAnnualIncomeThe year the participant or partner’s annual income is projected to endInteger2030OptionalYTransition Participant & Partner IdentifiersRequired if AnnualIncome or PartnerAnnualIncome is sent. Values must be in the format YYYY. Annual Income end year must be between the current year and ‘current year +100’.
AmountParticipantData/ParticipantInfo/Participant/PartTimeJob ParticipantData/ParticipantInfo/Participant/PartnerPartTimeJobAmount of the participant or partner’s expected annual income from a part time job during retirementDecimal0-9999999950000OptionalYTransition Participant & Partner IdentifiersRequired if PartTimeJob or PartnerPartTimeJob is sent. Values must be in the range 0-99,999,999.
LengthParticipantData/ParticipantInfo/Participant/PartTimeJob ParticipantData/ParticipantInfo/Participant/PartnerPartTimeJobThe number of years the participant/partner is expected to work a part-time job during retirementInteger10OptionalYTransition Participant & Partner IdentifiersRequired if PartTimeJob or PartnerPartTimeJob is sent. Values must be between 1 and 25.
Employer Match or Contribution:
PreTaxContri/EmployerMatch nodeIn ParticipantData/ParticipantPlanData/InstAcctIf this node is populated, it refers to the pre-tax and/or Roth employer (match or non-match) contribution information.Nodeplan level valuesOptionalNEmployer Match or ContributionEmployer (matching or non-matching) contributions can either be stated at participant or plan level. Any information provided in the XML file for participant data would override plan-level match information. If a plan has a pre-tax and/or Roth employer contribution, then this node will be populated with the corresponding employer match and/or non-match contribution fields. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any contribution values sent in this node will be disregarded, as they are inapplicable. This field is used with plan types 401K, Thrift, 403B, 457B, 401A, NonQual, TaftHartley and SIMPLE_IRA.
RothContri/EmployerMatch nodeIn ParticipantData/ParticipantPlanData/InstAcctIf this node is populated, it refers to the pre-tax and/or Roth employer (match or non-match) contribution information.Nodeplan level valuesOptionalNEmployer Match or ContributionEmployer (matching or non-matching) contributions can either be stated at participant or plan level. Any information provided in the XML file for participant data would override plan-level match information. If a plan has a pre-tax and/or Roth employer contribution, then this node will be populated with the corresponding employer match and/or non-match contribution fields. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any contribution values sent in this node will be disregarded, as they are inapplicable. This field is used with plan types 401K, Thrift, 403B, 457B, 401A, NonQual, TaftHartley and SIMPLE_IRA.
PostTaxContri/EmployerMatch nodeIn ParticipantData/ParticipantPlanData/InstAcctIf this node is populated, it refers to the post-tax employer (match or non-match) contribution information.Nodeplan level valuesOptionalNEmployer Match or ContributionEmployer (matching or non-matching) contributions can either be stated at participant or plan level. Any information provided in the XML file for participant data would override plan-level match information. If a plan has a post-tax employer contribution, then this node will be populated with the corresponding employer match and/or non-match contribution fields. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any contribution values sent in this node will be disregarded, as they are inapplicable. This field is used with plan types 401K, Thrift, 403B, and 401A.
CombinedTaxContri/EmployerMatch node- Please note that this node is currently only usable for 1 client.ParticipantData/ParticipantPlanData/InstAcctIf this node is populated, it refers to the pre, post-tax, roth, employer (match) contribution information.Nodeplan level valuesOptionalNEmployer Match or ContributionEmployer (matching) contributions can either be stated at participant or plan level. Any information provided in the XML file for participant data would override plan-level match information. If a plan has a pre-tax, post-tax, roth, employer contribution, then this node will be populated with the corresponding employer match fields. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any contribution values sent in this node will be disregarded, as they are inapplicable. This field is used with plan types 401K, Thrift, 403B, and 401A. This field is not currently usable.
ThreeTier nodeParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/EmployerMatch or ParticipantData/ParticipantPlanData/InstAcct/PostTaxContri/EmployerMatchTiered employer match (x% of the first y% of salary contributed)Nodeplan level values (if available)OptionalNEmployer Match or ContributionIf ThreeTier is used, then use the following data elements within EmployerMatch/ThreeTier: Tier1/Rate Tier1/Perc Tier2/Rate Tier2/Perc Tier3/Rate Tier3/Perc Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any contribution values sent in this node will be disregarded, as they are inapplicable. This field is used with plan types 401K, Thrift, 403B, 457B, 401A, SIMPLE_IRA and TaftHartley (PreTax only). 5 25 3 25 2 25
EmployerContriParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/EmployerMatch OR ParticipantData/ParticipantPlanData/InstAcct/PostTaxContri/EmployerMatchNon-match; employer contribution (percentage of employee’s salary)Decimal0-100plan level values (if available)2OptionalYEmployer Match or ContributionYou 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. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is currently used with the following plan types: 401K, Thrift, MoneyPurchase, ProfitSharing 403B, 457B, 401A, NonQual, SIMPLE_IRA, SEP_IRA and TaftHartley (PreTax only). Note: Any percent of salary employer contribution for profit sharing and money purchase plans should be sent in this field.
ThreeTierPlusEmpContri nodeParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/EmployerMatch OR ParticipantData/ParticipantPlanData/InstAcct/PostTaxContri/EmployerMatchCombination of tiered match and non-match employer contributionNodeplan level values (if available)OptionalNEmployer Match or ContributionIf ThreeTierPlusEmpContri is used, the following data elements are used within EmployerMatch/ThreeTierPlusEmpContri: Tier1/Rate Tier1/Perc Tier2/Rate Tier2/Perc Tier3/Rate Tier3/Perc EmployerContri DollarContri This is the default match type when no employer match information is provided at either the plan or participant level. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any contribution values sent in this node will be disregarded, as they are inapplicable. This field is used with plan types 401K, Thrift, 403B, 457B, 401A, NonQual and TaftHartley (PreTax only).
ThreeTier nodeParticipantData/ ParticipantPlanData/ InstAcct/CombinedTaxContri/ EmployerMatch/ThreeTierTiered employer match on pre and post contributions(x% of the first y% of salary contributed)Nodeplan level values (if available)OptionalNEmployer Match or ContributionIf 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 Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any contribution values sent in this node will be disregarded, as they are inapplicable. This field is used with plan types 401K, Thrift, 403B, and 401A.
DollarContriParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/EmployerMatch or ParticipantData/ParticipantPlanData/InstAcct/PostTaxContri/EmployerMatchAnnual dollar employer contributionDecimal0-99999999plan level values (if available)1000OptionalYEmployer Match or ContributionYou 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. The field cannot coexist with Tiered Match and EmployerContri. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is currently used with the following plan types: 401K, Thrift, MoneyPurchase, ProfitSharing, 403B, 457B, 401A, NonQual, SEP_IRA and TaftHartley (PreTax only). Note: Any employer contribution dollar amount for profit sharing and money purchase plans should 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 used in tangent with tiered matching.
PercLocated in EmployerMatch/ThreeTier/Tier1 if ThreeTier node is used. Located in EmployerMatch/ThreeTierPlusEmpContri/Tier1 if ThreeTierPlusEmpContri is used. Located in CombinedTaxContri/EmployerMatch/ThreeTier/Tier1Employer match percent for the first tier of the employer match formula (%)Decimal0-100plan level values (if available)100OptionalYEmployer Match or ContributionYou 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%. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with plan types 401K, Thrift, 403B, 457B, 401A, NonQual, and SIMPLE_IRA.
RateLocated in EmployerMatch/ThreeTier/Tier1 if ThreeTier node is used. Located in EmployerMatch/ThreeTierPlusEmpContri/Tier1 if ThreeTierPlusEmpContri is used. Located in CombinedTaxContri/EmployerMatch/ThreeTier/Tier1See Tier1/PercDecimal0-100plan level values (if available)5OptionalYEmployer Match or ContributionSee Tier1/Perc
DollarLimitLocated in EmployerMatch/ThreeTier/Tier1 if ThreeTier node is used. Located in EmployerMatch/ThreeTierPlusEmpContri/Tier1 if ThreeTierPlusEmpContri is used. Located in CombinedTaxContri/EmployerMatch/ThreeTier/Tier1The dollar value for the first tier of the employer match formula ($). A choice should be made in each tier for DollarLimit or Rate.Decimal0-99999999250OptionalYEmployer Match or ContributionThe following is an example of the DollarLimit element; 250 200 5 100
PercLocated in EmployerMatch/ThreeTier/Tier2 if ThreeTier node is used. Located in EmployerMatch/ThreeTierPlusEmpContri/Tier2 if ThreeTierPlusEmpContri is used. Located in CombinedTaxContri/EmployerMatch/ThreeTier/Tier2See Tier1/PercDecimal0-100plan level values (if available)50OptionalYEmployer Match or ContributionSee Tier1/Perc
RateLocated in EmployerMatch/ThreeTier/Tier2 if ThreeTier node is used. Located in EmployerMatch/ThreeTierPlusEmpContri/Tier2 if ThreeTierPlusEmpContri is used. Located in CombinedTaxContri/EmployerMatch/ThreeTier/Tier2See Tier1/PercDecimal0-100plan level values (if available)3OptionalYEmployer Match or ContributionSee Tier1/Perc
DollarLimitLocated in EmployerMatch/ThreeTier/Tier2 if ThreeTier node is used. Located in EmployerMatch/ThreeTierPlusEmpContri/Tier2 if ThreeTierPlusEmpContri is used. Located in CombinedTaxContri/EmployerMatch/ThreeTier/Tier2The dollar value for the second tier of the employer match formula ($). A choice should be made in each tier for DollarLimit or Rate.Decimal0-99999999250OptionalYEmployer Match or ContributionSee Tier1/DollarLimit
PercLocated in EmployerMatch/ThreeTier/Tier3 if ThreeTier node is used. Located in EmployerMatch/ThreeTierPlusEmpContri/Tier3 if ThreeTierPlusEmpContri is used. Located in CombinedTaxContri/EmployerMatch/ThreeTier/Tier3See Tier1/PercDecimal0-100plan level values (if available)50OptionalYEmployer Match or ContributionSee Tier1/Perc
RateLocated in EmployerMatch/ThreeTier/Tier3 if ThreeTier node is used. Located in EmployerMatch/ThreeTierPlusEmpContri/Tier3 if ThreeTierPlusEmpContri is used. Located in CombinedTaxContri/EmployerMatch/ThreeTier/Tier3See Tier1/PercDecimal0-100plan level values (if available)5OptionalYEmployer Match or ContributionSee Tier1/Perc
DollarLimitLocated in EmployerMatch/ThreeTier/Tier3 if ThreeTier node is used. Located in EmployerMatch/ThreeTierPlusEmpContri/Tier3 if ThreeTierPlusEmpContri is used. Located in CombinedTaxContri/EmployerMatch/ThreeTier/Tier3The dollar value for the third tier of the employer match formula ($). A choice should be made in each tier for DollarLimit or Rate.Decimal0-99999999250OptionalYEmployer Match or ContributionSee Tier1/DollarLimit
DollarCapParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/EmployerMatch Or ParticipantData/ParticipantPlanData/InstAcct/PostTaxContri/EmployerMatch Or ParticipantData/ParticipantPlanData/InstAcct/RothContri/EmployerMatchCap on match ($)Decimal0-99999999plan level value1500OptionalYEmployer Match or ContributionUsed to state dollar cap on match formula. If there is no DollarCap, do not include this field in the XML. file. 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. Otherwise, the plan level DollarCap will apply. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with plan types 401K, Thrift, 403B, 457B, 401A, NonQual, and SIMPLE_IRA.
CombinedPercLimitParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/EmployerMatch Or ParticipantData/ParticipantPlanData/InstAcct/PostTaxContri/EmployerMatch Or ParticipantData/ParticipantPlanData/InstAcct/RothContri/EmployerMatchThe percent of the participant’s salary eligible for employer match rules. This percent includes employer match amounts in all tiers.Decimal0-1005OptionalYEmployer Match or ContributionCan only send either DollarCap or CombinedPercLimit, both cannot be sent.
CombDollarCapParticipantData/ParticipantPlanData/InstAcctDisplays combined dollar limit on pre-tax and post tax match ($)Decimal2000OptionalYEmployer Match or ContributionThis 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. Otherwise, the plan level CombDollarCap will apply. This element is applicable to three tier match for pre and post tax. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is currently used with the following plan types: 401K, Thrift, 403B, 457B, 401A, and NonQual
Fund Related Data Points:
Port nodeParticipantData/ParticipantPlanData/InstAcct/AccountBalance Or ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceNode for sending all balances by fundNodeRequired only for Managed AccountsNFund Related DataEither Port or FrozenPortfolio is required to be sent, but not both can be sent. Port will be used if the client is sending all balances by fund. We will calculate the total balance for the user by adding together the balances of all securities in this node. In order to do bandwidth rebalancing, it is required that we receive all balances by fund for the user, not only frozen balances. This means the Port node would be used instead of the FrozenPortfolio node.
FrozenPortfolio nodeParticipantData/ParticipantPlanData/InstAcct/AccountBalance Or ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceNode for sending balances by fund when all balances are not sentNodeOptionalNFund Related DataEither Port or FrozenPortfolio is required to be sent, but not both can be sent. FrozenPortfolio will be used if the client is not sending all balances by fund. For example, if only frozen balances and company stock are sent, this node will be used. n order to do bandwidth rebalancing, it is required that we receive all balances by fund for the user, not only frozen balances. This means the Port node would be used instead of the FrozenPortfolio node.
CusFundIDParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security if all balances by fund are sent. ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/FrozenPortfolio/Security if all balances by fund are not sent Balance by Contri Type: ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PreTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PostTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@RothPerc OR ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceYour internal fund or company stock IDStringMax Length 50OptionalNFund Related DataIn order to use 'CusFundID', it must either be a custom fund ID that we have covered, or a fund that was mapped previously. This field will be used to send both current and future money. This field is required for plans sending users with different fund line-ups by service option. This field will be used to identify users with different fund line-ups by 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. 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. If more than one of Ticker, Cusip, MorningstarID and CusFundID are sent for a particular fund, we will use the hierarchy of MorningstarID, Cusip, Ticker and then CusFundID when determining which value to use.
TickerParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security if all balances by fund are sent. ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/FrozenPortfolio/Security if all balances by fund are not sent Balance by Contri Type: ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PreTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PostTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@RothPerc OR ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceTicker for all securitiesStringMin Length 1; Max Length 10FMAGXOptionalNFund Related DataPlease send only valid values for Ticker. This field will be used to send both current and future money. For public funds, only Ticker and/or Cusip should be used, not CusFundID or MorningstarID. If more than one of Ticker, Cusip, MorningstarID and CusFundID are sent for a particular fund, we will use the hierarchy of MorningstarID, Cusip, Ticker and then CusFundID when determining which value to use. When sent for an annuity, the ID is used to map annuity’s underlying fund to a fund in our database. Balance by ContiType should not be sent unless the source type is enabled at the plan level.
CusipParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security if all balances by fund are sent. ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/FrozenPortfolio/Security if all balances by fund are not sent Balance by Contri Type: ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PreTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PostTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@RothPerc OR ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceCusip for all securitiesStringMin Length 1; Max Length 20OptionalNPlease send only valid values for Cusip. This field will be used to send both current and future money. For public funds, only Ticker and/or Cusip should be used, not CusFundID or MorningstarID. If more than one of Ticker, Cusip, MorningstarID and CusFundID are sent for a particular fund, we will use the hierarchy of MorningstarID, Cusip, Ticker and then CusFundID when determining which value to use.
MorningstarIDParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security if all balances by fund are sent. ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/FrozenPortfolio/Security if all balances by fund are not sent Balance by Contri Type: ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PreTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PostTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@RothPerc OR ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceInternal MorningstarID for custom funds covered and variable annuitiesStringMax Length 10SPUSA04JPXOptionalNFund Related DataMorningstarID is an internal Morningstar fund identifier that represents client custom funds covered or variable annuities. This field will be used to send both current and future money. MorningstarID should not be used for public funds where a Ticker or Cusip is available. MorningstarID should also not be used for any private company stock funds. If more than one of Ticker, Cusip, MorningstarID and CusFundID are sent for a particular fund, we will use the hierarchy of MorningstarID, Cusip, Ticker and then CusFundID when determining which value to use. When sent for an annuity, the ID is used to map annuity’s underlying fund to a fund in our database.
TransactionIDParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security if all balances by fund are sent. ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/FrozenPortfolio/Security if all balances by fund are not sent Balance by Contri Type: ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PreTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PostTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@RothPerc OR ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceTransaction ID that should be used for this security for this user.StringABC123OptionalNFund Related DataThis field will indicate what ID should be sent back for the user for a particular security. If the client wants the ticker back for this user, for example, the ticker will appear here. Any identifier can be sent here. A Ticker, Cusip, MorningstarID or mapped CusFundID is required to be sent for each security. If the plan has more than one security with the same Ticker, Cusip, MorningstarID or CusFundID, then the TransactionID should be used to differentiate the securities. TransactionID is not required to be sent in the participant file. If nothing is sent, we will send the TransactionID back from the Plan schema. If it is sent, we will use this field to identify the fund based on the TransactionID from the plan file. In the case where there is more than one stock with the same ticker/cusip in the plan schema, the TransactionID is required to be sent.
BalanceParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security if all balances by fund are sent. ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/FrozenPortfolio/Security if all balances by fund are not sent Balance by Contri Type: ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PreTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PostTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@RothPerc OR ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceDollar balance for a security or company stock in the portfolioDecimal0-9999999940000OptionalYFund Related DataThis element is used in combination with ‘Ticker’, ‘Cusip’, ‘MorningstarID’ or ‘CusFundID’. Either the total balance or the balance by fund is required to be sent for each user. Company stock can only be sent for plan types: 401K, Thrift, ProfitSharing, MoneyPurchase, 401A, and NonQual.
FutContriPercParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security if all balances by fund are sent. ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/FrozenPortfolio/Security if all balances by fund are not sent Balance by Contri Type: ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PreTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PostTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@RothPerc OR ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceFuture contribution percentage for the security.Decimal0-10010OptionalNFund Related DataThis element is used in combination with ‘Ticker’, 'Cusip’, ‘MorningstarID’ and /or ‘CusFundID’. The ‘FutContriPerc’ value represents the future contribution percentage for the security.
CurMinParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security if all balances by fund are sent. ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/FrozenPortfolio/Security if all balances by fund are not sent Balance by Contri Type: ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PreTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PostTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@RothPerc OR ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceFrozen balance in fund. This is the minimum that can be put into the fund for current rebalancing.Decimal0-9999999902500OptionalNFund Related DataThis element is used in combination with ‘Balance’ in addition to ‘Ticker’, Cusip’, ‘MorningstarID’ or ‘CusFundID’. This element is used to indicate that an amount cannot be transferred out of the related security. Element is specific to current balances. Please Note: If the plan offers Managed Accounts as a service option, frozen balances are not allowed in custom funds not covered by Morningstar.
CurMaxParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security if all balances by fund are sent. ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/FrozenPortfolio/Security if all balances by fund are not sent Balance by Contri Type: ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PreTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PostTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@RothPerc OR ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceMaximum dollar amount for contributions for rebalancing current money. This is the maximum that can be put into the fund or stock for current money.Decimal0-9999999910000OptionalNFund Related DataThis element is used in combination with ‘Ticker’, 'Cusip’, ‘MorningstarID’ and /or ‘CusFundID’. This element is used to indicate that a particular fund is restricted for new money to be transferred in. The maximum amount that can be transferred in will be the CurMax value.
FutMaxParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security if all balances by fund are sent. ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/FrozenPortfolio/Security if all balances by fund are not sent Balance by Contri Type: ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PreTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PostTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@RothPerc OR ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceThe maximum percent that can be allocated to a fund for future elections.Decimal0-10010030OptionalNFund Related DataThis element is used in combination with ‘Ticker’, 'Cusip’, ‘MorningstarID’ and /or ‘CusFundID’. This element is used to indicate that a particular fund is not eligible for new money to be used for future elections.
TotalBalanceParticipantData/ParticipantPlanData/InstAcct/AccountBalance/FrozenPortfolio Balance by Contri Type: ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PreTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PostTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@RothPerc OR ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceEmployee’s Current BalanceDecimal40000OptionalY (non-editable)Fund Related DataThis must be the employee’s total plan balance, including any portion that is a company stock balance. It should not include any balance in a brokerage (SDA) account. It should not include any “loan fund” balance. This field will be used only if the user’s entire current portfolio is not sent using balance by fund. Either the total balance (which may also include the balance by fund) or only the balance by fund are required to be sent for each user. This field is used with the following plan types: 401K, Thrift, ProfitSharing, MoneyPurchase, 403B, Sup403B, 457B, 401A, IRA, and NonQual.
Roth (separate) Contributions:
RateParticipantData/ParticipantPlanData/InstAcct/RothContri/RothDefault/Default/MaxContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/RothDefault/Default/MaxContriMax (separate) Roth contribution the plan allows (%)Decimal0-100plan level value10 15OptionalYRoth (separate) ContributionsIf employee has a different max contribution rate (e.g. Highly Compensated Employee) than the plan, it can be stated here and will overwrite the value in the plan batch file. Otherwise, the plan maximum contribution rate will apply. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan types: 401(k), 403(b), and Sup 403(b) plans Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax. Note: Either Rate or Amount can be used within the MaxContri node, not both.
AmountParticipantData/ParticipantPlanData/InstAcct/RothContri/RothDefault/Default/MaxContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/RothDefault/Default/MaxContriMax (separate) Roth contribution the plan allows ($)Decimal0-99999999plan level value10000OptionalYRoth (separate) ContributionsIf employee has a different max contribution rate (e.g. Highly Compensated Employee) than the plan, it can be stated here and will overwrite the value in the plan batch file. Otherwise, the plan maximum contribution rate will apply. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan types: 401(k) , 403(b), and Sup 403(b) plans Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax. Note: Either Rate or Amount can be used within the MaxContri node, not both.
RateParticipantData/ParticipantPlanData/InstAcct/RothContri/RothDefault/Default/MinContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/RothDefault/Default/MinContriMinimum (separate) Roth contribution the plan allows (%)Decimal0-100See Comments2OptionalNRoth (separate) ContributionsIf an employer requires that a minimum contribution rate must be met in order to contribute to the plan, it can be stated here. If no value is sent, the default value of 0 will be used. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan types: 401(k) , 403(b), and Sup 403(b) plans Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax. Note: Either Rate or Amount can be used within the MinContri node, not both.
AmountParticipantData/ParticipantPlanData/InstAcct/RothContri/RothDefault/Default/MinContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/RothDefault/Default/MinContriMinimum (separate) Roth contribution the plan allows ($)Decimal0-99999999See Comments500OptionalNRoth (separate) ContributionsIf an employer requires that a minimum contribution amount must be met in order to contribute to the plan, it can be stated here. If no value is sent, the default value of 0 will be used. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan types: 401(k), 403(b), and Sup 403(b) plans Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax. Note: Either Rate or Amount can be used within the MinContri node, not both.
RateParticipantData/ParticipantPlanData/InstAcct/RothContri/RothDefault/Default/CurContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/RothDefault/Default/CurContriEmployee’s current (separate) Roth contribution (%)Decimal0-1005 10 15OptionalYRoth (separate) ContributionsElement should be stated as a percent of annual salary. For the Proposal, this employee contribution (either the Rate or Amount field) is required when the employee’s account balance is greater than 0%. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan types: 401(k) , 403(b), and Sup 403(b) plans Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax. Note: Either Rate or Amount can be used within the CurContri node, not both.
AmountParticipantData/ParticipantPlanData/InstAcct/RothContri/RothDefault/Default/CurContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/RothDefault/CurContriEmployee’s current (separate) Roth annual contribution ($)Decimal0-999999995600OptionalYRoth (separate) ContributionsElement should be stated as an annual dollar amount. For the Proposal, this employee contribution (either the Rate or Amount field) is required when the employee’s account balance is greater than 0%. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan types: 401(k) , 403(b), and Sup 403(b) plans Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax. Note: Either Rate or Amount can be used within the CurContri node, not both.
CombLimitParticipantData/ParticipantPlanData/InstAcctEmployee’s contribution limit for pre-tax, Roth, and post-tax contributions (%)Decimal0-100plan level value18OptionalYRoth (separate) ContributionsThis element indicates the maximum percent allowed for the combination of the participant’s pre-tax, Roth, and post-tax contributions. If the employee has a different combination limit than the plan, it can be stated here and will overwrite the value in the plan batch file. Otherwise, the plan CombLimt should apply. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is currently used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, 401A, NonQual and TaftHartley.
PreTax and/or Roth Contributions (Bundled):
RateParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/Default/MaxContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PreTaxDefault/Default/MaxContriMax pre-tax and/or Roth contribution the plan allows (%)Decimal0-100plan level value10 15OptionalYPreTax and/or Roth Contributions (Bundled)If employee has a different max contribution rate (e.g. Highly Compensated Employee) than the plan, it can be stated here and will overwrite the value in the plan batch file. Otherwise, the plan maximum contribution rate will apply. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, 401A, NonQual and SIMPLE_IRA. Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax. Note: Either Rate or Amount can be used within the MaxContri node, not both.
AmountParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/Default/MaxContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PreTaxDefault/Default/MaxContri Or ParticipantData/ParticipantPlanData/InstAcct/RothContri/PreTaxDefaul/Default/MaxContriMax pre-tax and/or Roth contribution the plan allows ($)Decimal0-99999999plan level value10000OptionalYPreTax and/or Roth Contributions (Bundled)If employee has a different max contribution rate (e.g. Highly Compensated Employee) than the plan, it can be stated here and will overwrite the value in the plan batch file. Otherwise, the plan maximum contribution rate will apply. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, 401A, NonQual and SIMPLE_IRA. Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax. Note: Either Rate or Amount can be used within the MaxContri node, not both.
RateParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/Default/MinContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PreTaxDefault/Default/MinContriMinimum pre-tax and/or Roth contribution the plan allows (%)Decimal0-100See Comments2OptionalNPreTax and/or Roth Contributions (Bundled)If an employer requires that a minimum contribution rate must be met in order to contribute to the plan, it can be stated here. If no value is sent, the default value of 0 will be used. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, 401A, NonQual, and SIMPLE_IRA. Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax. Note: Either Rate or Amount can be used within the MinContri node, not both.
AmountParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/Default/MinContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PreTaxDefault/Default/MinContriMinimum pre-tax and/or Roth contribution the plan allows ($)Decimal0-99999999See Comments500OptionalNPreTax and/or Roth Contributions (Bundled)If an employer requires that a minimum contribution rate must be met in order to contribute to the plan, it can be stated here. If no value is sent, the default value of 0 will be used. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, 401A, NonQual, and SIMPLE_IRA. Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax. Note: Either Rate or Amount can be used within the MinContri node, not both.
RateParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/Default/CurContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PreTaxDefault/Default/CurContriEmployee’s current pre-tax and/or Roth contribution (%)Decimal0-1005 10 15OptionalYPreTax and/or Roth Contributions (Bundled)Element should be stated as a percent of annual salary. For the Proposal, this employee contribution (either the Rate or Amount field) is required when the employee’s account balance is greater than 0%. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, 401A, NonQual, and SIMPLE_IRA. For Money Purchase or Profit Sharing plans, employer contribution should not be sent in this field. It should be sent under the EmployerContri (for percent) or DollarContri (for dollar amount) fields under EmployerMatch. Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax. Note: Either Rate or Amount can be used within the CurContri node, not both.
AmountParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/Default/CurContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PreTaxDefault/Default/CurContriEmployee’s current pre-tax and/or Roth annual contribution ($)Decimal0-999999995600OptionalYPreTax and/or Roth Contributions (Bundled)Element should be stated as a percent of annual salary. For the Proposal, this employee contribution (either the Rate or Amount field) is required when the employee’s account balance is greater than 0%. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, 401A, NonQual, and SIMPLE_IRA. For Money Purchase or Profit Sharing plans, employer contribution should not be sent in this field. It should be sent under the EmployerContri (for percent) or DollarContri (for dollar amount) fields under EmployerMatch. Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax. Note: Either Rate or Amount can be used within the CurContri node, not both.
CombLimitParticipantData/ParticipantPlanData/InstAcctEmployee’s contribution limit for pre-tax, Roth, and post-tax contributions (%)Decimal0-100plan level value18OptionalYPreTax and/or Roth Contributions (Bundled)This element indicates the maximum percent allowed for the combination of the participant’s pre-tax, Roth, and post-tax contributions. If the employee has a different combination limit than the plan, it can be stated here and will overwrite the value in the plan batch file. Otherwise, the plan CombLimt should apply. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is currently used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, 401A, NonQual and TaftHartley.
PreTaxPercBalance by Contri Type: ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PreTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PostTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@RothPerc OR ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceThe percentage of the balance in the fund that is sourced via pre-tax dollars.Decimal0-10050OptionalNPreTax and/or Roth Contributions (Bundled)This attribute is used when balance by contribution (pre-tax source) is provided.
RothPercBalance by Contri Type: ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PreTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PostTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@RothPerc OR ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceThe percentage of the balance in the fund that is sourced via roth dollars.Decimal0-10050OptionalNPreTax and/or Roth Contributions (Bundled)This attribute is used when balances by contribution (roth source) is provided.
RothParticipantData/ParticipantPlanData/InstAcct/CatchupLongTerm ParticipantData/ParticipantPlanData/InstAcct/Catchup50Years ParticipantData/ParticipantPlanData/InstAcct/CatchupLast3YearsSpecifies if the catch-up contribution is made on a Roth basis.BooleanFALSETRUEOptionalYPreTax and/or Roth Contributions (Bundled)This should be used to send Roth catch-ups over as separate catch-up contributions (not bundled with pre-tax catch-up contributions). Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded.
CombLimitDParticipantData/ParticipantPlanData/InstAcctEmployee’s contribution limit for pre-tax, Roth, and post-tax contributions in dollar format ($)Decimal0-99999999plan level value8000OptionalYPreTax and/or Roth Contributions (Bundled)This element indicates the maximum dollar amount allowed for the combination of the participant’s pre-tax, Roth, and post-tax contributions. If the employee has a different combination limit than the plan, it can be stated here and will overwrite the value in the plan batch file. Otherwise, the plan CombLimitD should apply. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is currently used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, 401A, NonQual and Taft-Hartley.
CombLimitPreTaxRothParticipantData/ParticipantPlanData/InstAcctPlan’s contribution limit for pre-tax and Roth contributions (%)Decimal0-100See comments50OptionalYPreTax and/or Roth Contributions (Bundled)This element can only be stated at the participant level. It indicates the maximum percent allowed for the combination of pre-tax and Roth contributions (post-tax is excluded). Default: If no data exists for this element in the ppt xml file or in the database, we will use CombLimit (%) as the default. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is currently used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, 401A, NonQual and Taft-Hartley.
CombLimitPreTaxRothDParticipantData/ParticipantPlanData/InstAcctPlan’s contribution limit for pre-tax and Roth contributions ($)Decimal0-99999999See comments10500OptionalYPreTax and/or Roth Contributions (Bundled)This element can only be stated at the participant level. It indicates the maximum dollar amount allowed for the combination of pre-tax and Roth contributions (post-tax is excluded). Default: If no data exists for this element in the ppt xml file or in the database, we will use CombLimit (%) as the default. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is currently used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, 401A, NonQual and Taft-Hartley.
SMART (Auto-Increase):
EnableSMARTParticipantData/ParticipantPlanData/InstAcct/PreTaxContriY/N flag that indicates whether the SMART (contribution 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. Note: SMART contribution logic will never be applied to an account that has a value of “Termed” or "Inactive" sent in the Status field. This field is used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, and 401A.
SMARTProvidedParticipantData/ParticipantPlanData/InstAcct/PreTaxContriY/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. Note: SMART contribution logic will never be applied to an account that has a value of “Termed” or "Inactive" sent in the Status field. 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.
ThresholdParticipantData/ParticipantPlanData/InstAcct/PreTaxContr/SMART"Minimum contribution threshold" The value used in determining whether or not a SMART contribution increase is to be recommended.Decimal Numeric00OptionalNSMART (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. If the employee has a different value for this field than the plan, it can be stated here and will overwrite the plan level value. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, and 401A. 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.
ContriParticipantData/ParticipantPlanData/InstAcct/PreTaxContr/SMART"Automatic Minimum" The percentage a participant's contribution rate will automatically increase to when the current contribution rate is below the threshold.Decimal Numeric03OptionalNSMART (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. If the employee has a different value for this field than the plan, it can be stated here and will overwrite the plan level value. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, and 401A.
ContriincParticipantData/ParticipantPlanData/InstAcct/PreTaxContr/SMART"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 Numeric11Optional 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. If the employee has a different value for this field than the plan, it can be stated here and will overwrite the plan level value. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, and 401A.
MaxLimitParticipantData/ParticipantPlanData/InstAcct/PreTaxContr/SMART"The Cap" The assumption we use in our income projections for the maximum limit for increasing the employee’s contribution rate. (%)Decimal Numeric10012OptionalNSMART (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. If the employee has a different value for this field than the plan, it can be stated here and will overwrite the plan level value. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, and 401A.
Post Tax Contributions:
RateParticipantData/ParticipantPlanData/InstAcct/PostTaxContri/Default/MaxContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PostTaxDefault/Default/MaxContriMax post-tax contribution percent allowed in the plan (%)Decimal0-100plan level value12OptionalYPost Tax ContributionsThis field should always be sent, if applicable. This element should be stated as a percent of annual salary. If it is not sent, the plan maximum contribution rate will apply. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is currently used with the following plan types: 401(k), Thrift, 403B, Sup403B, 401A, NonQual, TradIRA, RothIRA, and NonQualifiedVA. Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax. Note: Either Rate or Amount can be used within the MaxContri node, not both.
AmountParticipantData/ParticipantPlanData/InstAcct/PostTaxContri/Default/MaxContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PostTaxDefault/Default/MaxContriMax post-tax contribution amount (in dollars) allowed in the plan ($)Decimal0-99999999plan level value2000OptionalYPost Tax ContributionsThis field should always be sent, if applicable. This element should be stated as a percent of annual salary. If it is not sent, the plan maximum contribution rate will apply. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is currently used with the following plan types: 401(k), Thrift, 403B, Sup403B, 401A, NonQual, TradIRA, RothIRA, and NonQualifiedVA. Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax. Note: Either Rate or Amount can be used within the MaxContri node, not both.
RateParticipantData/ParticipantPlanData/InstAcct/PostTaxContri/Default/MinContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PostTaxDefault/Default/MinContriMinimum post-tax contribution percent allowed in the plan (%)Decimal0-100plan level value2OptionalNPost Tax ContributionsIf an employer requires that a minimum contribution rate must be met in order to contribute to the plan, it can be stated here. If no value is sent, the default value of 0 will be used. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is currently used with the following plan types: 401(k), Thrift, 403B, Sup403B, 401A, NonQual, TradIRA, RothIRA, and NonQualifiedVA. Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax. Note: Either Rate or Amount can be used within the MinContri node, not both.
AmountParticipantData/ParticipantPlanData/InstAcct/PostTaxContri/Default/MinContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PostTaxDefault/Default/MinContriMinimum post-tax contribution amount (in dollars) allowed in the plan ($)Decimal0-99999999plan level value500OptionalNPost Tax ContributionsIf an employer requires that a minimum contribution rate must be met in order to contribute to the plan, it can be stated here. If no value is sent, the default value of 0 will be used. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is currently used with the following plan types: 401(k), Thrift, 403B, Sup403B, 401A, NonQual, TradIRA, RothIRA, and NonQualifiedVA. Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax. Note: Either Rate or Amount can be used within the MinContri node, not both.
RateParticipantData/ParticipantPlanData/instAcct/PostTaxContri/Default/CurContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PostTaxDefault/Default/CurContriEmployee’s post-tax contribution in percentDecimal0-1005OptionalYPost Tax ContributionsStated as an annual % of salary. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan types: 401K, Thrift, 403B, Sup403B, 401A, NonQual, TradIRA, RothIRA, and NonQualifiedVA. Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax. Note: Either Rate or Amount can be used within the CurContri node, not both.
AmountParticipantData/ParticipantPlanData/instAcct/PostTaxContri/Default/CurContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PostTaxDefault/Default/CurContriEmployee’s post-tax contribution in dollarsDecimal0-999999996000OptionalYPost Tax ContributionsStated as an annual $ amount. Note: For accounts with a value of “Termed” or "Inacttive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan types: 401K, Thrift, 403B, Sup403B, 401A,, NonQual, TradIRA, RothIRA, and NonQualifiedVA. Note: Only sent in CombinedTaxContri if employer match is on both pre and post tax. Note: Either Rate or Amount can be used within the CurContri node, not both.
RateParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/Default/CurContriEmployer contributionDecimal0-10010OptionalYPost Tax ContributionsStated as a percent of annual salary. This field is used with the following plan types: ProfitSharing and MoneyPurchase. For a profit sharing plan, this should be the average employer contribution. For a money purchase plan, this will be a fixed contribution rate. It is the same field for employee current contribution rates for all other plan types. For SEP_IRA and Profit Sharing and Money Purchase plans, either Rate or Amount for the employer contribution must be sent for the Proposal. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded.
CombLimitParticipantData/ParticipantPlanData/InstAcctEmployee’s contribution limit for pre-tax, Roth, and post-tax contributions (%)Decimal0-100plan level value18OptionalYPost Tax ContributionsThis element indicates the maximum percent allowed for the combination of the participant’s pre-tax, Roth, and post-tax contributions. If the employee has a different combination limit than the plan, it can be stated here and will overwrite the value in the plan batch file. Otherwise, the plan CombLimt should apply. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is currently used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, 401A, NonQual and TaftHartley.
PostTaxPercBalance by Contri Type: ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PreTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@PostTaxPerc ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security/@RothPerc OR ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceThe percentage of the balance in the fund that is sourced via post-tax dollars.Decimal0-10050OptionalNPost Tax ContributionsThis attribute is used when balances by contribution (post-tax source) is provided.
CombLimitDParticipantData/ParticipantPlanData/InstAcctEmployee’s contribution limit for pre-tax, Roth, and post-tax contributions in dollar format ($)Decimal0-99999999plan level value8000OptionalYPost Tax ContributionsThis element indicates the maximum dollar amount allowed for the combination of the participant’s pre-tax, Roth, and post-tax contributions. If the employee has a different combination limit than the plan, it can be stated here and will overwrite the value in the plan batch file. Otherwise, the plan CombLimitD should apply. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is currently used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, 401A, NonQual and Taft-Hartley.
Catch Up Contributions:
ContriRateParticipantData/ParticipantPlanData/InstAcct/CatchupLongTermEmployee’s current annual contribution using the “Long-Term Employee” Catch-Up Provision (%)Decimal0-1002OptionalYCatch Up ContributionsElement should be stated as a percent of annual salary. The value sent in this field may include pre-tax and/or Roth catch-up contributions. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan types: 403B.
ContriDollarParticipantData/ParticipantPlanData/InstAcct/CatchupLongTermEmployee’s current annual contribution using the “Long-Term Employee” Catch-Up Provision ($)Decimal0-99999999500OptionalYCatch Up ContributionsElement should be stated as a percent of annual salary. The value sent in this field may include pre-tax and/or Roth catch-up contributions. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan types: 403B.
LengthParticipantData/ParticipantPlanData/InstAcct/CatchupLongTermLength in years of employee’s current annual contribution using the “Long-Term Employee” Catch-Up ProvisionIntegerTime to Retirement3OptionalYCatch Up ContributionsTime to Retirement is calculated by substracting the participant’s current age from the retirement age. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan types: 403B.
ContriRateParticipantData/ParticipantPlanData/InstAcct/Catchup50YearsEmployee’s current contribution using the “50 Years of Age” Catch-Up Provision (%)Decimal0-1002OptionalYCatch Up ContributionsElement should be stated as a percent of annual salary. The value sent in this field may include pre-tax and/or Roth catch-up contributions. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with plan types 401K, Thrift, 403B, 457B, TaftHartley and SIMPLE_IRA.
ContriDollarParticipantData/ParticipantPlanData/InstAcct/Catchup50YearsEmployee’s current contribution using the “50 Years of Age” Catch-Up Provision ($)Decimal0-999999991000OptionalYCatch Up ContributionsElement should states as an annual dollar amount. The value sent in this field may include pre-tax and/or Roth catch-up contributions. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with plan types 401K, Thrift, 403B, 457B, TaftHartley and SIMPLE_IRA.
LengthParticipantData/ParticipantPlanData/InstAcct/Catchup50YearsLength in years of employee’s current annual contribution using the “50 Years of Age” Catch-Up ProvisionIntegerTime to Retirement3OptionalYCatch Up ContributionsTime to Retirement is calculated by substracting the participant’s current age from the retirement age. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with plan types 401K, Thrift, 403B, 457B, TaftHartley and SIMPLE_IRA.
ContriRateParticipantData/ParticipantPlanData/InstAcct/CatchupLast3YearsEmployee’s current annual contribution using the “Last 3 Years of Employment” Catch-Up Provision (%)Decimal0-1003OptionalYCatch Up ContributionsElement should be stated as a percent of annual salary. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan type: 457B.
ContriDollarParticipantData/ParticipantPlanData/InstAcct/CatchupLast3YearsEmployee’s current annual contribution using the “Last 3 Years of Employment” Catch-Up Provision ($)Decimal0-999999991000OptionalYCatch Up ContributionsElement should be stated as an annual dollar amount. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan type: 457B.
LengthParticipantData/ParticipantPlanData/InstAcct/CatchupLast3YearsLength in years of employee’s current annual contribution using the “Last 3 Years of Employment” Catch-Up ProvisionInteger33OptionalYCatch Up ContributionsNote: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following plan type: 457B.
Company Stock Related Data Points:
CompanyStockMatchParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/EmployerMatchPercentage of employer match in company stockDecimal0-10050OptionalNCompany Stock Related Data PointsThis field would indicate what overall percentage of the employer match goes into company stock. For example, if the entire employer match goes into company stock, CompanyStockMatch would be ‘100’. Note: For accounts with a value of “Termed” or "Inactive" in the Status field, any value sent in this field will be disregarded. This field is used with the following types: 401K, Thrift, 401A, and NonQual.
StockHoldParticipantData/ParticipantPlanData/InstAcct/AccountBalance/Port/Security if all balances by fund are sent. ParticipantData/ParticipantPlanData/InstAcct/AccountBalance/FrozenPortfolio/Security if all balances by fund are not sentIndicates how much the user wants to retain in (unrestricted) company stock (%)Decimal0-10010OptionalNCompany Stock Related Data PointsThis element is used to indicate the percent of the total account balance a user wants to hold in company stock. For example, if the user holds 10% of the account balance in company stock we would normally recommend that the company stock holding is reduced to 0. However, if 5% is sent in this field, we would retain 5% of the user’s account balance in company stock. This element is only used for clients who are not using the Retirement Manager interface and it is only applicable for the Managed Account batch processing
Brokerage Data Points:
OverallBalanceParticipantData/ParticipantPlanData/InstAcct/BrkgBalanceBalance in employee's self-directed brokerage account within the planDecimal5600.23OptionalYBrokerage Data PointsBrokerage Balance should not be included in the overall balance that is sent for a plan. It is in this separate node. This field is used with the following plan types: 401K, Thrift, 403B, Sup403B, 457B, 401A, and Non-Qual.
TickerParticipantData/ParticipantPlanData/InstAcct/BrkgBalance/Port/SecurityTickerStringMin Length 1; Max Length 10FMAGXOptionalNBrokerage Data PointsPlease send only valid values for Ticker.
CusipParticipantData/ParticipantPlanData/InstAcct/BrkgBalance/Port/SecurityCusipStringMin Length 1; Max Length 20OptionalNBrokerage Data PointsPlease send only valid values for Cusip.
BalanceParticipantData/ParticipantPlanData/InstAcct/BrkgBalance/Port/SecurityDollar balance for a security in the brokerage windowDecimal0-9999999940000OptionalYBrokerage Data PointsThis element is used in combination with ‘Ticker’ or ‘Cusip’.
StyleParticipantData/ParticipantPlanData/InstAcct/BrkgBalance ParticipantData/ParticipantPlanData/InstAcct/OtherAsset ParticipantData/ParticipantPlanData/InstAcct/PartnerOtherAssetThe overall investment style of the brokerage account or outside assetStringC: Conservative MC: Moderate conservative B: Balanced MA: Moderate aggressive A: AggressiveMCOptionalYBrokerage Data PointsBrokerage balance and outside assets (participant and partner) can be designated with one of five available investment styles. The available designations are: C: Conservative MC: Moderate conservative B: Balanced MA: Moderate aggressive A: Aggressive Not allowed for non-advisable accounts.
Loan Info
AmountParticipantData/ParticipantPlanData/InstAcct/LoanEmployee’s current plan monthly loan paymentDecimal0-999999995000OptionalYLoanThis field will be used with the following plan types for the user’s loan: 401K, Thrift, 403B, Sup403B, 457B, 401A and TaftHartley. Up to 10 loans can be sent. They will be added together for the interface. If a loan is paid off early, the loan will need to be sent at least once more, with the amount as $0 and the original payoff date (either EndDate or startDate and length).
StartDateParticipantData/ParticipantPlanData/InstAcct/LoanEmployee’s current plan loan start dateDate1945-08-13OptionalNLoanThis field will be used with the following plan types for the user’s loan: 401K, Thrift, 403B, Sup403B, 457B, 401A and TaftHartley. Up to 10 loans can be sent. They will be added together for the interface. Either startDate and length or EndDate is required if loans are sent.
LengthParticipantData/ParticipantPlanData/InstAcct/LoanEmployee’s current plan loan length, in years, up to 30 years.Numeric10OptionalNLoanThis field will be used with the following plan types for the user’s loan: 401K, Thrift, 403B, Sup403B, 457B, 401A and TaftHartley. Up to 10 loans can be sent. They will be added together for the interface. Either startDate and length or EndDate is required if loans are sent.
EndDateParticipantData/ParticipantPlanData/InstAcct/LoanEmployee’s current plan loan end dateDate1945-08-13OptionalYLoanThis field will be used with the following plan types for the user’s loan: 401K, Thrift, 403B, Sup403B, 457B, 401A and TaftHartley. Up to 10 loans can be sent. Either startDate and length or EndDate is required if loans are sent.
Annuity Info:
QuestionIdx//ParticipantInfo/ QuestionnaireAnswers/Answer/@QuestionIdxThe question the participant answers, so we can tie the responses to the corresponding question.String1, 2, 31OptionalYAnnuityThese are optional, but if a participant responds to one question he/she will have to answer all. 1, 2 or 3 can only be sent for this field since there are only 3 risk questionnaire questions. This can only be sent in the participant batch file for Managed Accounts. It cannot be sent in the participant real-time file.
QuestionIdx//ParticipantInfo/AnnuityAnswers/Answer /@QuestionIdxThe question the participant answers, so we can tie the responses to the corresponding question.String1, 2, 31OptionalYAnnuityThese questions determine the suitability of an annuity for the participant.
AnswerIdx//ParticipantInfo/ QuestionnaireAnswers/Answer/@AnswerIdxResponse from the participant to the above question.AlphaAOptionalYAnnuityThese are optional, but if a participant responds to one question he/she will have to answer all. A, B, or C can only be sent for this field since there are only 3 possible answers to each of the three questions. This can only be sent in the participant batch file for Managed Accounts. It cannot be sent in the participant real-time file.
AnswerIdx//ParticipantInfo/AnnuityAnswers/Answer /@AnswerIdxResponse from the participant to the above question.StringAOptionalYAnnuityThese questions determine the suitability of an annuity for the participant.
Amount//ParticipantInfo/Participant/DesiredRetirementIncome //ParticipantInfo/PartnerInfo/DesiredRetirementIncomeDesired retirement income, stated as a dollar amountDecimal0-99999999100% of post-tax-salary50000OptionalYAnnuityAnalagous to “goal”, this states how much income the participant would like to plan for during retirement. Sent as a dollar value. Can be sent for participant or partner.
AnnuityIDParticipantData/ParticipantPlanData/Annuity/AnnuityInfoInternal annuity identifierStringMin Length 1; Max Length 50103OptionalNAnnuityRequired if plan offers an annuity. 50 character max length default
AnnuityTypeParticipantData/ParticipantPlanData/Annuity/AnnuityInfoNominal – rate of interest before adjustment for inflation (CPI);Integer1OptionalNAnnuityRequired if plan offers an annuity. 1 = Nominal
AmountAvailableForPurchaseParticipantData/ParticipantPlanData/Annuity/AnnuityInfoAmount of Total Balance available for withdrawal to purchase an annuityFloat75000OptionalNAnnuityRequired if plan offers an annuity. Stated as $ amount. Necessary for recordkeeping and managing annuity suitability restrictions.
AnnuityIncomeParticipantData/ParticipantPlanData/Annuity/AnnuityInfo/AnnuityDetailAnnuity Income PaymentsFloat1200OptionalYAnnuityRequired if plan offers an annuity. Stated as $ amount. The income amount based on the annuity amount purchased.
IncomeFrequencyParticipantData/ParticipantPlanData/Annuity/AnnuityInfo/AnnuityDetailAnnuity Income Payment FrequencyInteger1OptionalNAnnuityRequired if plan offers an annuity. Annuity Income Payment Frequencies 1 = annually 2= semi-annual 4= quarterly 12 = monthly 24=semi-monthly 26=bi-weekly 50 = weekly 2000 = hourly
PercOfPortfolioParticipantData/ParticipantPlanData/Annuity/AnnuityInfo/AnnuityDetailThe percentage of the participant’s Total Balance of their account that is represented by the income payoutFloat10OptionalYAnnuityRequired if plan offers an annuity. Percentage of the participant’s Total Balance PercOfPortfolio values: 10 = 10% 20 = 20% 30 = 30% 40 = 40% 50 = 50%
AnnuityIDParticipantData/ParticipantPlanData/Annuity/AnnuityHistory/PurchaseHistoryThe identifier for an annuity that was purchased and is providing income to the participant.StringMin Length 1; Max Length 50103OptionalNAnnuityRequired if plan offers an annuity
AnnuityPayoutParticipantData/ParticipantPlanData/Annuity/AnnuityHistory/PurchaseHistoryActual income payment of purchased annuityFloat7000OptionalYAnnuityRequired when annuity is purchased. Stated as $ amount.
PayoutFrequencyParticipantData/ParticipantPlanData/Annuity/AnnuityHistory/PurchaseHistoryActual Income Payment Frequency of Purchased AnnuityInteger1OptionalNAnnuityRequired when annuity is purchased. Annuity Income Payment Frequencies 12 - monthly 4 - quarterly 2 - semi-annually 1 - annually
PurchaseDateParticipantData/ParticipantPlanData/Annuity/AnnuityHistory/PurchaseHistorydateTime2008-01-17T09:30:47OptionalNAnnuityStated as YYYY-MM-DDTHH:MM:SS
ContractIDParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceThe identifier of the annuitycontract.StringABC123OptionalNAnnuityRequired when annuity is purchased. This ID must match the contract ID sent in the plan XML. This ID is not used to validate against Morningstar’s global security database. Max limit is 100 characters.
BalanceParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceThe current value of the annuity contract.Decimal0-9999999950000OptionalNAnnuityRequired when annuity is purchased. Values must be in the range 0-99,999,999 This element is used in combination with ‘Ticker’, ‘Cusip’, ‘MorningstarID’ or ‘CusFundID’. The balance by fund is required to be sent for each user.
PaymentStartYearParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceFirst year of paymentIntegerUser’s Retirement Year2020OptionalNAnnuity
LockInParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceIndicates whether the participant is currently withdrawing from the GMWB.BooleanTRUEOptionalNAnnuityRequired if plan offers an annuity. If True, we cannot allocate further money into the product, and it will be treated as non-advisable.
WithdrawPercentParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceThe percentage of the total amount invested in the annuity that can be withdrawn annually.Decimal0-1003.75OptionalYAnnuityIf not sent in the participant file, we will default to the GMWB Bands at the client level.
BenefitBaseParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceThe benefit base for the account.Decimal0-99999999$25,000OptionalNAnnuityRequired if plan offers an annuity. If not specified, the benefit base is assumed to be equal to the balance.
RiderContinuesForSpouseParticipantData/ParticipantPlanData/InstAcct/AnnuityBalanceDetermines whether the contract’s benefits continue for a surviving spouseBooleanFFOptionalNAnnuityIndicates whether the contract benefits pass to the spouse upon the owner’s death. When LockIn is set as True, RiderContinuesForSpouse t must be sent with a valid value.
Client Specific Data Points:
UserRetAgeParticipantData/ParticipantPlanData/GoalsAge at which the user prefers to retire (e.g. the age at which the user plans to begin taking withdrawals from the plan)IntegerSee the comments column55OptionalClient Specific Data PointsFor Managed Accounts, if the Morningstar interface is not used, the user can specify a preference for retiring at an age other than 65. The default retirement age follows the following logic: IF participant’s current age > 62, Retirement Age = current age + 3 ELSE Retirement Age = 65 Also, we will recognize this data point in the event a user is a new user and uses the Retirement Manager interface. However, we will not recognize this data point if the user is a returning user. If the user is a returning user, we will pull the retirement age hat we have saved in the database. This preference is required to be asked by the provider/sponsor (for those provide/sponsors not using the Morningstar Interface), but the user is not required to respond in order to be enrolled in Managed Accounts.
TickerParticipantData/ParticipantPlanData/InstAcct/InvestPref/ExcludeFundTicker of the fund to be excluded when creating adviceStringMin Length 1; Max Length 10FMAGXOptionalClient Specific Data PointsFor Managed Accounts, if the Morningstar interface is not used, the user can specify to exclude a particular fund from the advice he receives. This is required to be asked by the provider/sponsor, but the user is not required to respond in order to be enrolled in Managed Accounts.
CusipParticipantData/ParticipantPlanData/InstAcct/InvestPref/ExcludeFundCusip of the fund to be excluded when creating adviceStringMin Length 1; Max Length 20922908108OptionalClient Specific Data PointsSee ExcludeFund/Ticker
MorningstarIDParticipantData/ParticipantPlanData/InstAcct/InvestPref/ExcludeFundMorningstarID of fund to be excluded when creating adviceStringMax Length 10SPUSA04FPQOptionalClient Specific Data PointsSee ExcludedFund/Ticker
CusFundIDParticipantData/ParticipantPlanData/InstAcct/InvestPref/ExcludeFundYour external fund ID to be excluded when creating adviceStringMax Length 50ABC1234OptionalClient Specific Data PointsSee ExcludeFund/Ticker
Client Specific Data Points (User Outside Assets):
PlanTypeParticipantData/ParticipantPlanData/OtherAssetType of account this representsString401K Thrift ProfitSharing MoneyPurchase 403B Sup403B 457B 401A Variable Annuities TaxableAccount CompanyStockHeldOutsideYourRetirementPlan NonAdvisable TraditionalIRA RothIRA RolloverIRA SEPIRA SIMPLE IRA NonQualified NonQualifiedVA HSA_Single HSA_JointTaxableAccountOptionalClient Specific Data Points (User Outside Assets)This data point is required if the ‘OtherAsset’ node is sent.
NonAdvisableTypeParticipantData/ParticipantPlanData/OtherAssetType of NonAdvisable accountStringESOP MoneyPurchase NonQual ProfitSharingESOPOptionalYClient Specific Data Points (User Outside Assets)Only used when OtherAsset/Plan Type is ‘NonAdvisable’. Not valid for any other outside account plan type.
OverallBalanceParticipantData/ParticipantPlanData/OtherAsset/AccountBalanceBalance in this accountDecimal50000OptionalClient Specific Data Points (User Outside Assets)If both balances by fund and overall balance are sent, the total of the balances by fund will override overall balance.
RateParticipantData/ParticipantPlanData/OtherAsset/ContriAnnual Contribution to this account (%)Decimal0-1006OptionalClient Specific Data Points (User Outside Assets)This field does not apply to NonAdvisable plans.
AmountParticipantData/ParticipantPlanData/OtherAsset/ContriAnnual Contribution to this account ($)Decimal0-999999996000OptionalClient Specific Data Points (User Outside Assets)This field does not apply to NonAdvisable plans.
TickerParticipantData/ParticipantPlanData/OtherAsset/AccountBalance/Port/SecurityTickers of the funds in this accountStringMin Length 1; Max Length 10FMAGXOptionalClient Specific Data Points (User Outside Assets)
CusipParticipantData/ParticipantPlanData/OtherAsset/AccountBalance/Port/SecurityCusips of the funds in this accountStringMin Length 1; Max Length 20922908108OptionalClient Specific Data Points (User Outside Assets)
BalanceParticipantData/ParticipantPlanData/OtherAsset/AccountBalance/Port/SecurityBalance by fundNumeric2000OptionalClient Specific Data Points (User Outside Assets)If both balances by fund and overall balance are sent, the total of the balances by fund will override overall balance.
AmountParticipantData/ParticipantPlanData/LumpSumLump Sum amount, such as Cash Freed from the sale of a homeNumeric20000OptionalClient Specific Data Points (User Outside Assets)This field does not apply to NonAdvisable plans.
DateParticipantData/ParticipantPlanData/LumpSumDate the Lump Sum occursDate1/30/25OptionalClient Specific Data Points (User Outside Assets)This field does not apply to NonAdvisable plans.
ProgramNameParticipantData/ParticipantPlanData/OtherAssetDefines the name that should appear in the user interface for NonAdvisable plansAlphanumericOptionalClient Specific Data Points (User Outside Assets)This field only applies to NonAdvisable plans. Limit is 100 characters.
AccountIDParticipantData/ParticipantPlanData/OtherAssetUnique account identifierString1234OptionalYClient Specific Data Points (User Outside Assets)Limit is 20 characters. In order for Retirement Manager to recognize multiple non-advisable accounts, either a unique accountID, unique NonAdvisableType, or unique PlanID needs to be sent.
RateParticipantData/ParticipantPlanData/OtherAsset/PreTaxContri/Default/MaxContriMax pre-tax contribution allowed for the NonAdvisable account (%)Numeric10010 15OptionalNClient Specific Data Points (User Outside Assets)Only used when the OtherAsset/PlanType is ‘NonAdvisable’ and the NonAdvisableType is one of the following: ESOP, NonQual. Note: For ‘Termed’ or 'Inactive' accounts, any value sent in this field will be disregarded. Note: Either Rate or Amount can be used within the MaxContri node, not both.
AmountParticipantData/ParticipantPlanData/OtherAsset/PreTaxContri/Default/MaxContriMax pre-tax contribution allowed for the NonAdvisable account ($)Numeric10000OptionalNClient Specific Data Points (User Outside Assets)Only used when the OtherAsset/PlanType is ‘NonAdvisable’ and the NonAdvisableType is one of the following: ESOP, NonQual. Note: For ‘Termed’ or 'Inactive' accounts, any value sent in this field will be disregarded. Note: Either Rate or Amount can be used within the MaxContri node, not both.
RateParticipantData/ParticipantPlanData/OtherAsset/PreTaxContri/Default/MinContriMinimum pre-tax contribution allowed for the NonAdvisable account (%)Numeric02OptionalNClient Specific Data Points (User Outside Assets)Only used when the OtherAsset/PlanType is ‘NonAdvisable’ and the NonAdvisableType is one of the following: ESOP, NonQual. Note: For ‘Termed‘ or 'Inactive' accounts, any value sent in this field will be disregarded. Note: Either Rate or Amount can be used within the MinContri node, not both.
AmountParticipantData/ParticipantPlanData/OtherAsset/PreTaxContri/Default/MinContriMinimum pre-tax contribution allowed for the NonAdvisable account ($)Numeric500OptionalNClient Specific Data Points (User Outside Assets)Only used when the OtherAsset/PlanType is ‘NonAdvisable’ and the NonAdvisableType is one of the following: ESOP, NonQual. Note: For ‘Termed‘ or 'Inactive' accounts, any value sent in this field will be disregarded. Note: Either Rate or Amount can be used within the MinContri node, not both.
RateParticipantData/ParticipantPlanData/OtherAsset/PreTaxContri/Default/CurContriEmployee’s current pre-tax contribution for the NonAdvisable account (%)Numeric5 5 10OptionalYClient Specific Data Points (User Outside Assets)Only used when the OtherAsset/PlanType is ‘NonAdvisable’ and the NonAdvisableType is one of the following: ESOP, NonQual. Note: For ‘Termed‘ or 'Inactive' accounts, any value sent in this field will be disregarded. Note: Either Rate or Amount can be used within the CurContri node, not both.
AmountParticipantData/ParticipantPlanData/OtherAsset/PreTaxContri/Default/CurContriEmployee’s current pre-tax contribution for the NonAdvisable account ($)Numeric5600OptionalYClient Specific Data Points (User Outside Assets)Only used when the OtherAsset/PlanType is ‘NonAdvisable’ and the NonAdvisableType is one of the following: ESOP, NonQual. Note: For ‘Termed‘ or 'Inactive' accounts, any value sent in this field will be disregarded. Note: Either Rate or Amount can be used within the CurContri node, not both.
EmployerContriParticipantData/ParticipantPlanData/OtherAsset/PreTaxContri/EmployerMatchEmployer’s annual contribution to the NonAdvisable account (%)Numeric6OptionalNClient Specific Data Points (User Outside Assets)Only used when the OtherAsset/PlanType is ‘NonAdvisable’ and the NonAdvisableType is one of the 4 valid values. This element should be stated as a % of the participant’s annual salary. Note: For ‘Termed’ or 'Inactive' accounts, any value sent in this field will be disregarded.
DollarContriParticipantData/ParticipantPlanData/OtherAsset/PreTaxContri/EmployerMatchEmployer’s annual contribution to the NonAdvisable account ($)Numeric2500NClient Specific Data Points (User Outside Assets)Only used when the OtherAsset/PlanType is ‘NonAdvisable’ and the NonAdvisableType is one of the 4 valid values. This element should be stated as an annual dollar amount. Note: For ‘Termed’ or 'Inactive' accounts, any value sent in this field will be disregarded.
Partner Information Including Outside Assets:
PartnerRetAgeParticipantData/ParticipantPlanData/GoalsAge at which the partner prefers to retire (e.g. the age at which the user plans to begin taking withdrawals from the plan)NumericParticipant retirement age55OptionalPartner Information Including Outside AssetsThe default is only applicable in the event PullFromBatch flag in the client configuration file is set to true and if partner assets are sent over and if the ConsiderPartner element in the participant batch file is sent as True.
AmountParticipantData/ParticipantPlanData/PartnerSalaryPartner’s salaryNumeric050000OptionalPartner Information Including Outside AssetsThis field is only used if received in batch. The default is only applicable in the event PullFromBatch flag in the client configuration file is set to true and if partner assets are sent over and if the ConsiderPartner element in the participant batch file is sent as True.
PlanTypeParticipantData/ParticipantPlanData/PartnerOtherAssetType of account this representsStringRetirementPlansfromPrevEmp TradIRA RothIRA Variable Annuities TaxableAccount CompanyStockHeldOutsideYourRetirementPlan NonQualified SIMPLE_IRA SEP_IRA NonQualifiedVA RolloverIRA HSA_Single HSA_JointRothIRAOptionalPartner Information Including Outside AssetsThis data point is required if the 'PartnerOtherAsset' node is sent.
OverallBalanceParticipantData/ParticipantPlanData/PartnerOtherAsset/AccountBalanceBalance in this accountNumeric50000OptionalPartner Information Including Outside AssetsIf both balances by fund and overall balance are sent, the total of the balances by fund will override overall balance.
RateParticipantData/ParticipantPlanData/PartnerOtherAsset/ContriAnnual Contribution to this account (%)Numeric6OptionalPartner Information Including Outside Assets
AmountParticipantData/ParticipantPlanData/PartnerOtherAsset/ContriAnnual Contribution to this account ($)Numeric6000OptionalPartner Information Including Outside AssetsMaximum balance is $99,999,999
TickerParticipantData/ParticipantPlanData/PartnerOtherAsset/AccountBalance/Port/SecurityTickers of the funds in this accountAlphaFMAGXOptionalPartner Information Including Outside Assets
CusipParticipantData/ParticipantPlanData/PartnerOtherAsset/AccountBalance/Port/SecurityCusips of the funds in this accountAlphanumeric922908108OptionalPartner Information Including Outside Assets
BalanceParticipantData/ParticipantPlanData/PartnerOtherAsset/AccountBalance/Port/SecurityBalance by fundDecimal0-999999992000OptionalPartner Information Including Outside AssetsIf both balances by fund and overall balance are sent, the total of the balances by fund will override overall balance. Maximum balance is $99,999,999
AmountParticipantData/ParticipantPlanData/PartnerPensionAnnual Pension AmountDecimal0-9999999915000OptionalPartner Information Including Outside AssetsWe only collect this data point via the batch.
StartYearParticipantData/ParticipantPlanData/PartnerPensionAnnual Pension Start YearDate8/13/10OptionalPartner Information Including Outside AssetsWe only collect this data point via the batch.
Partner's Current Retirement Plan:
PlanTypeParticipantData/ParticipantPlanData/PartnerAcctType of account this representsString401K Thrift ProfitSharing MoneyPurchase 403B Sup403B 457B 401A NonQualified SIMPLE_IRA SEP_IRA NonQualifiedVA RolloverIRA401K401KOptionalPartner's Current Retirement Plan
OverallBalanceParticipantData/ParticipantPlanData/PartnerAcct/AccountBalanceOverall Balance in the partner’s planDecimal30000OptionalPartner's Current Retirement PlanIf both balances by fund and overall balance are sent, the total of the balances by fund will override overall balance.
RateParticipantData/ParticipantPlanData/PartnerAcct/PreTaxContri/Default/CurContriAnnual contribution to this account (%)Decimal0-1004OptionalPartner's Current Retirement Plan
AmountParticipantData/ParticipantPlanData/PartnerAcct/PreTaxContri/Default/CurContriAnnual contribution to this account ($)Decimal0-999999994000OptionalPartner's Current Retirement Plan
TickerParticipantData/ParticipantPlanData/PartnerAcct/AccountBalance/Port/SecurityTickerStringMin Length 1; Max Length 10FMAGXOptionalPartner's Current Retirement PlanPlease send only valid values for Ticker.
CusipParticipantData/ParticipantPlanData/PartnerAcct/AccountBalance/Port/SecurityCusipStringMin Length 1; Max Length 20922908108OptionalPartner's Current Retirement PlanPlease send only valid values for Cusip.
BalanceParticipantData/ParticipantPlanData/PartnerAcct/AccountBalance/Port/SecurityParticipant’s dollar balance for a security in the portfolio ($)Decimal0-9999999940000OptionalPartner's Current Retirement PlanThis element is used in combination with ‘Ticker or ‘Cusip. If both balances by fund and overall balance are sent, the total of the balances by fund will override overall balance.
Integrated Enrollment:
PlanTypeParticipantData/Enroll/ParticipantEnrollInfoPlanType associated with the plan enrolling in Managed AccountsString401K Thrift ProfitSharing MoneyPurchase 403B Sup403B 457B 401A NonQual SIMPLE_IRA SEP_IRA TradIRA RothIRA 457F* In Progress401KOptionalIntegrated EnrollmentThis element will provide an additional way to enroll a subset of plans, without requiring ALL plans to be enrolled. Plan detail sent here will be for plans enrolling in Managed Accounts. If additional plans sent in the participant enroll file have already been enrolled, they will continue to be advised on and will receive a transaction. If additional plans sent in participant enroll file have not been enrolled, are not intended for enrollment in Managed Accounts, and are not included in this data element, they will be considered non-advisable, and will not receive a transaction. This field is only intended for use when participants are being sent with Integrated Accounts. Any participant enrollment files sent without these elements will continue to enroll all included plans in Managed Accounts. Note: This field can only be sent in the participant enrollment XML.
PlanIDParticipantData/Enroll/ParticipantEnrollInfoPlanID associated with the plan enrolling in Managed AccountsString50 characters is the max lengthPLAN123OptionalIntegrated EnrollmentThis element will provide an additional way to enroll a subset of plans, without requiring ALL plans to be enrolled. Plan detail sent here will be for plans enrolling in Managed Accounts. If additional plans sent in the participant enroll file have already been enrolled, they will continue to be advised on and will receive a transaction. If additional plans sent in participant enroll file have not been enrolled, are not intended for enrollment in Managed Accounts, and are not included in this data element, they will be considered non-advisable, and will not receive a transaction. This field is only intended for use when participants are being sent with Integrated Accounts. Any participant enrollment files sent without these elements will continue to enroll all included plans in Managed Accounts. Note: This field can only be sent in the participant enrollment XML.
Time Horizon:
TimeHorizon/ParticipantData/ParticipantPlanData/Time Horizon is also referred to as Years to Income. This is the number of years to the withdrawal phase.IntegerMinInclusive 1; MaxInclusive 15N/A6OptionalYTime HorizonThis data point is required for RID The schema will restrict the value sent in this node to an integer between 1 and 15
Customer Models:
Advisors NodeParticipantData/ParticipantPlanData/InstAcctIndicates Advisor information for a Custom Models planNodeRequired for Custom Models platform onlyNCustom ModelsThis node should only be used for the Custom Models service option.
AdvisorIDParticipantData/ParticipantPlanData/InstAcct/AdvisorsIndicates advisor ID associated with a planStringABC1234Required for Custom Models platform onlyNCustom ModelsThis value indicates which plans and advisor can see and access in the Custom Models AUI.
ParticipantStatusParticipantData/ParticipantPlanData/InstAcctInidciates whether a participant is enrolled or eligible in the Custom Models solutionStringEnrolledRequired for Custom Models platform onlyYCustom Models
ModelIDParticipantData/ParticipantPlanData/InstAcctIndicates the ModelID of a participant enrolled in Custom ModelsStringAGG90Required for Custom Models platform onlyYCustom Models

XML Wrappers

Participant XML data must be sent to us for Real-time single sign on, the Call Center offering, and the Proposal offering. The data in the following examples are nearly the same, but the top level XML node will change based on the offering to the RTParticipantinput, STParticipantinput, or CTParticipantinput.

Real-Time Wrapper

This wrapper is sent if the user logs into the Web Application himself via seamless login.

<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://www.morningstar.com/retirement" xmlns:xs="http://www.w3.org/2001/XMLSchema"xmlns="http://www.morningstar.com/retirement" elementFormDefault="qualified" attributeFormDefault="unqualified" id="RealTimeParticipantInput">
	<xs:include schemaLocation="ExternalParticipantData_3.1.xsd"/>
	<xs:element name="RTParticipantInput">
		<xs:annotation>
			<xs:documentation>Description of a participant definition batch file</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence maxOccurs="unbounded">
				<xs:element name="ParticipantData">
					<xs:annotation>
							<xs:extension base="ParticipantDataType"/>
						</xs:complexContent>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="TimeStamp" type="xs:dateTime" use="required"/>
			<xs:attribute name="ReturnCode" type="xs:int" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="ParticipantData">
		<xs:annotation>
			<xs:documentation>Data for individual participant</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="ParticipantDataType"/>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
</xs:schema>

Element NameLocationFormer NameElement DescriptionElement TypeDefaultExampleRequired?Displayed?Comments
ReturnCodeRTParticipantInputRETURNCODE
(required)
Return status of data retrieval/submissionNumeric
0: Success
≠ 0: Failure (implementation dependent≠
0RequiredNThis field is used to indicate whether to load the user's information. Anything other than 0 will result in not loading the file information and produce a data error.
TimeStampRTParticipantInputN/A in old dtdTimestamp of the fileTimestampRequired

Real-Time Call Center Wrapper

This wrapper is required in the real-time file if a Call Center representative is seamlessly logging in on behalf of a participant (for the Advice, Guidance, or Managed Accounts service options through a Call Center).

<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://www.morningstar.com/retirement" xmlns:xs="http://www.w3.org/2001/XMLSchema"xmlns="http://www.morningstar.com/retirement" elementFormDefault="qualified" attributeFormDefault="unqualified" id="CallCenterParticipantInput">
	<xs:include schemaLocation="ExternalParticipantData_3.1.xsd"/>
	<xs:element name="CCParticipantInput">
		<xs:annotation>
			<xs:documentation>Description of a participant definition batch file</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence maxOccurs="unbounded">
				<xs:element name="ParticipantData">
					<xs:annotation>
						<xs:documentation>Data for individual participant</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:complexContent>
							<xs:extension base="ParticipantDataType"/>
						</xs:complexContent>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="TimeStamp" type="xs:dateTime" use="required"/>
			<xs:attribute name="ReturnCode" type="xs:int" use="required"/>
			<xs:attribute name="PhoneRepID" use="required">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="24"/>
						<xs:minLength value="1"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="ParticipantData">
		<xs:annotation>
			<xs:documentation>Data for individual participant</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="ParticipantDataType"/>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
</xs:schema>

Element NameLocationFormer NameElement DescriptionElement TypeDe-faultExampleRequired?Comments
FileTypeBatchParticipantInputFILETYPEType of FileNumeric:

1= Non-Quarterly

2= Quarterly
11RequiredRequired for participant batch file. This element indicates whether the entire file is a quarterly rebalancing file, or a different file (such as daily or weekly file with new or updated participants).

NOTE: Newly eligible participants not yet enrolled in managed accounts should not be included in the quarterly rebalancing participant batch XML file as a means of enrolling them into managed accounts. This file should only contain participants already enrolled in the managed accounts service. It should also not be used to opt participants out of managed accounts.
FileType is used in the company stock sell off process:

•Any users in a quarterly file that have company stock will have that company stock sold off at the appropriate rate.
•Any users in a quarterly file without company stock are not affected.
•For a non-quarterly file, company stock will not be sold off further for any users.

FileType is also used to identify a quarterly rebalancing file for purposes of generating Progress Reports (if applicable). For clients who have Progress Reports generated, only files sent with the Managed Accounts batch wrapper and FileType = 2 will go through the Progress Report process.
TimeStampBatchParticipantInputN/A in old dtdTimestamp of the fileTimestampRequired
Enroll nodeBatchParticipantInput/ParticipantDataN/A in old dtdNode for enrolling usersNodeOptionalUsers in this node are enrolling for either the first time, or enrolling again after being opted out. At least one of the three must be sent (Enroll, Rebalance, or Optout node).

NOTE: Enrollments and Opt-outs can be sent together in the same participant batch xml file (with FileType=1), however they cannot be sent in the same file with participants that need to be rebalanced (FileType=2). Only participants that need to be rebalanced should be sent in the quarterly rebalance participant batch xml file.
Rebalance nodeBatchParticipantInput/ParticipantDataN/A in old dtdNode for rebalancing usersNodeOptionalUsers in this node already are opted into the Managed Accounts program, and are being sent for rebalancing. At least one of the three must be sent (Enroll, Rebalance, or Optout node).

NOTE: The Rebalance node cannot be sent along with the Enroll and/or Optout nodes in the same file. Only participants that need to be rebalanced should be sent in the quarterly rebalance participant batch xml file.
Optout nodeBatchParticipantInput/ParticipantDataN/A in old dtdNode for opting out usersNodeOptionalUsers in this node are being opted out. At least one of the three must be sent (Enroll, Rebalance, or Optout node).

NOTE: Enrollments and Opt-outs can be sent together in the same participant batch xml file (with FileType=1), however they cannot be sent in the same file with participants that need to be rebalanced (FileType=2). Only participants that need to be rebalanced should be sent in the quarterly rebalance participant batch xml file.

Proposal Wrapper

This wrapper is used when the file is for the Proposal.

<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://www.morningstar.com/retirement" xmlns:xs="http://www.w3.org/2001/XMLSchema"xmlns="http://www.morningstar.com/retirement" elementFormDefault="qualified" attributeFormDefault="unqualified" id="StatementParticipantInput">
	<xs:include schemaLocation="ExternalParticipantData_3.1.xsd"/>
	<xs:element name="STParticipantInput">
		<xs:annotation>
			<xs:documentation>Used in batch process for statement participant</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence maxOccurs="unbounded">
				<xs:element name="ParticipantData">
					<xs:annotation>
						<xs:documentation>Data for individual participant</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:complexContent>
							<xs:extension base="ParticipantDataType"/>
						</xs:complexContent>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="TimeStamp" type="xs:dateTime" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="ParticipantData">
		<xs:annotation>
			<xs:documentation>Data for individual participant</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="ParticipantDataType"/>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
</xs:schema>

Element NameLocationFormer NameElement DescriptionElement TypeDefaultExampleRequired?Displayed?Comments
TimeStampStatementParticipantInputN/A in old dtdTimestamp of the fileTimestampRequired

Sample XML Documents

View Sample XML Documents.