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 Name | Path in Schema | Element Description | Element Type | Element Type Requirements | Default | Example | Required? | Displayed? | Feature | Comments |
|---|---|---|---|---|---|---|---|---|---|---|
| Plan Identifiers and Participant Flags: | ||||||||||
| ClientID | In the ParticipantData node | Your client ID | String | 20 characters is the max length, uppercase | WXYZ | Required | N | Plan Identifiers & Ppt Flags | Morningstar assigns this value. The ClientID must be sent upper case. | |
| TPAID | In the ParticipantData/ParticipantPlanData/InstAcct node | Third Party Administrator ID | String | ABCINC | Optional | N | Plan Identifiers & Ppt Flags | This field is optional when there are TPAs. The client may choose to send this field when a TPA has multiple plans under it. The client determines this value. It is best to use a descriptive name that identifies the TPA. 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. | ||
| PlanID | In the ParticipantData/ParticipantPlanData/InstAcct node | Your internal plan identification code | String | 50 characters is the max length | 00001zvfz | Required | N | Plan Identifiers & Ppt Flags | The client determines this value. It is an internal identifier used to distinguish individual plans. 50 characters is the maximum character length for this field. | |
| PlanType | In the ParticipantData/ParticipantPlanData/InstAcct node | Type of plan | String | 401K Thrift ProfitSharing MoneyPurchase 403B Sup403B 457B 401A NonQual SIMPLE_IRA SEP_IRA TradIRA RothIRA RolloverIRA NonQualifedVA TaftHartley | 401K | 401K | Required | N | Plan Identifiers & Ppt Flags | All elements within the InstAcct section must pertain to the type of plan indicated by the PlanType element. |
| Status | ParticipantData/ParticipantPlanData/InstAcct node | Status of the employee for the corresponding plan | String | Active Termed Suspended Inactive | Active | Active | Optional | No | Plan Identifiers & Ppt Flags | This 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. |
| ProcessID | In ParticipantData node | Is used to determine if user should access custom opt out functionality or standard RM path | Integer | MinInclusive 1; MaxInclusive 999 | 100 | ProcessID=”110” | Optional | N | Plan Identifiers & Ppt Flags | We 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 |
| TransactionRoutingID | ParticipantData/ParticipantPlanData/InstAcct node | Is used for the client to send Morningstar data that client needs back in the participant transaction and/or data validation reports. | String | Min Length 0; Max Length 256 | S1 | Optional | N | Plan Identifiers & Ppt Flags | Client 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 | |
| EnableTransactions | ParticipantData/ParticipantPlanData/InstAcct node | Indicates whether a transaction will be generated for the participant | Boolean | See Comments | TRUE | Optional | N | Plan Identifiers & Ppt Flags | The 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. | |
| EnableFutureElections | ParticipantData/ParticipantPlanData/InstAcct node | Indicates whether the transaction will include the Future Election node | Boolean | See Comments | TRUE | Optional | N | Plan Identifiers & Ppt Flags | The default is True. | |
| EnableContributionChanges | ParticipantData/ParticipantPlanData/InstAcct node | Indicates whether the transaction will include any contribution or deferral information | Boolean | See Comments | TRUE | Optional | N | Plan Identifiers & Ppt Flags | The default is based on the plan level EnableTransaction value. | |
| EnableRebalance | ParticipantData/ParticipantPlanData/InstAcct node | Indicates whether the transaction will include any reallocation information | Boolean | See Comments | TRUE | Optional | N | Plan Identifiers & Ppt Flags | The default is true | |
| AutoEnroll | ParticipantData/ParticipantPlanData/InstAcct node | This node will indicate if the provider identifies this particular user as participating in the Automatic Enrollment program | Boolean | FALSE | true/false | Optional | N | Plan Identifiers & Ppt Flags | This 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. | |
| AutoRollOver | ParticipantData/ParticipantPlanData/InstAcct node | This 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 contribution | String | FALSE | PostTax Catchup50 | Optional | N | Plan Identifiers & Ppt Flags | This field is currently being used for special purposes for only the following clientIDs: USA805 | |
| MAProvider | ParticipantData/ParticipantPlanData/MAProvider | Managed Account Provider | String | RM or LPL | Optional | Plan Identifiers & Ppt Flags | The managed account provider for the participant. This is used with the broker dealer platform. | |||
| ApplySRA | ParticipantData/ParticipantPlanData/InstAcct node | This node applies to 401(a) plans only and indicates if savings rate advice must be disabled for pretax 401(a) accounts | String | TRUE | TRUE OR FALSE | Optional | N | Plan Identifiers & Ppt Flags | This 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: | ||||||||||
| UserID | ParticipantData/ParticipantInfo/Participant | Employee’s social security number or other identifier | String | MinLength= 1; MaxLength= 40 | 123456789 | Required | N | Accumulation Participant & Partner Identifiers | In most cases, this will be the employee’s Social Security Number. | |
| UID | ParticipantData/ParticipantInfo/Participant | Employee’s Unique Identifier | String | MinLength= 1; MaxLength= 40 | 123456789 | Optional | N | Accumulation Participant & Partner Identifiers | This field is only used under special circumstances. | |
| FirstName | ParticipantData/ParticipantInfo/Participant | Employee’s first name | String | MinLength= 1; MaxLength= 60 | Jane | Required | Y | Accumulation Participant & Partner Identifiers | Limit of 60 characters | |
| LastName | ParticipantData/ParticipantInfo/Participant | Employee’s last name | String | MinLength= 1; MaxLength= 60 | Smith | Required | Y | Accumulation Participant & Partner Identifiers | Limit of 60 characters | |
| MiddleName | ParticipantData/ParticipantInfo/Participant | Employee’s middle name | String | MinLength= 0; MaxLength= 60 | P. | Optional | N | Accumulation Participant & Partner Identifiers | This field is only used if received in batch. Limit of 60 characters. | |
| DOB | ParticipantData/ParticipantInfo/Participant | Employee’s birthdate | Date | 12/30/65 | Required only for Managed Accounts | Y | Accumulation Participant & Partner Identifiers | This is required for batch enrollment and the Proposal, but optional for batch rebalancing or real time web applications. | ||
| Gender | ParticipantData/ParticipantInfo/Participant | Employee’s gender | String | M or F | F | M or F | Optional | Y | Accumulation Participant & Partner Identifiers | |
| ParticipantData/ParticipantInfo/Participant | Employee’s e-mail address | String | jsmith@anycorp.com | Optional | Y | Accumulation Participant & Partner Identifiers | Limit of 80 characters | |||
| Address1 | ParticipantData/ParticipantInfo/Participant/Addr | Participant Address Line 1 | String | 222 N. State Street | Required only for Managed Accounts | N | Accumulation Participant & Partner Identifiers | This 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. | ||
| Address2 | ParticipantData/ParticipantInfo/Participant/Addr | Participant Address Line 2 | String | Apt. 3A | Optional | N | Accumulation Participant & Partner Identifiers | See Address1 Limit of 50 characters | ||
| Address3 | ParticipantData/ParticipantInfo/Participant/Addr | Participant Address Line 3 | String | C/o Joe Smith | Optional | N | Accumulation Participant & Partner Identifiers | See Address1 Limit of 50 characters | ||
| City | ParticipantData/ParticipantInfo/Participant/Addr | Participant City | String | Chicago | Required only for Managed Accounts | N | Accumulation Participant & Partner Identifiers | See Address1 Limit of 30 characters | ||
| State | ParticipantData/ParticipantInfo/Participant/Addr | Participant State | String | IL | Required only for Managed Accounts | Y - See Comments | Accumulation Participant & Partner Identifiers | See 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. | ||
| Zip | ParticipantData/ParticipantInfo/Participant/Addr | Participant Zip Code | String | 60614 | Required only for Managed Accounts | N | Accumulation Participant & Partner Identifiers | See Address1 | ||
| Country | ParticipantData/ParticipantInfo/Participant/Addr | Participant Country | String | USA | Required only for Managed Accounts | N | Accumulation Participant & Partner Identifiers | See Address1 Limit of 40 characters | ||
| Amount | ParticipantData/ParticipantPlanData/Salary | Employee’s salary | Decimal | 0-99999999 | 40000 | Required only for Managed Accounts | Y | Accumulation Participant & Partner Identifiers | ||
| Freq | ParticipantData/ParticipantPlanData/Salary | Frequency of Employee’s annual salary | Token | 1 = annually 2= semi-annual 4= quarterly 12 = monthly 24=semi-monthly 26=bi-weekly 50 = weekly 2000 = hourly | 1 | 1 | Optional | Y | Accumulation Participant & Partner Identifiers | For 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. |
| Amount | ParticipantData/ParticipantPlanData/Pension | Employee’s annual pension amount in today’s dollars | Decimal | 0-99999999 | 40000 | Optional | Y | Accumulation Participant & Partner Identifiers | This 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. | |
| StartYear | ParticipantData/ParticipantPlanData/Pension | Employee’s pension start date | Integer | 10/20/10 | Optional | Y | Accumulation Participant & Partner Identifiers | This 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. | ||
| SSFlag | ParticipantData/ParticipantInfo/Participant/SocialSecurity | Flag based on which SS estimate will be calculated (using our algorithm) and displayed. | Boolean | TRUE | true/false | Optional | N | Accumulation Participant & Partner Identifiers | This 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. | |
| ConsiderPartner | ParticipantData/ParticipantPlanData | Indicates whether we should include the partner data for the user. | Boolean | FALSE | TRUE | Optional | N | Accumulation Participant & Partner Identifiers | If 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. | |
| FirstName | ParticipantData/ParticipantInfo/Partner | Partner’s first name | String | Your | Jane | Optional | Y | Accumulation Participant & Partner Identifiers | This 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. | |
| LastName | ParticipantData/ParticipantInfo/Partner | Partner’s last name | String | Partner | Doe | Optional | Y | Accumulation Participant & Partner Identifiers | This 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. | |
| MiddleName | ParticipantData/ParticipantInfo/Partner | Partner’s middle name | Alpha | Lynn | Optional | N | Accumulation Participant & Partner Identifiers | This field is only used if received in batch. Limit of 60 characters. | ||
| DOB | ParticipantData/ParticipantInfo/Partner | Partner’s birthdate | Date | Participant’s DOB | 12/30/65 | Optional | Y | Accumulation Participant & Partner Identifiers | This 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. | |
| Gender | ParticipantData/ParticipantInfo/Partner | Partner’s gender | String | M or F | F | M/F | Optional | Y | Accumulation Participant & Partner Identifiers | This 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. |
| TaxState | ParticipantData/ParticipantInfo/Participant | State of residence (for tax purposes) | String | See comments | IL | Optional | Y - See Comments | Accumulation Participant & Partner Identifiers | The 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. | |
| PLCodes | ParticipantData/ParticipantPlanData | PL code values and inputted annual salary are used to create the participant’s employer contribution amount. | Decimal | 0-99999999 | 22000 | Optional | N | Accumulation Participant & Partner Identifiers | This 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: | ||||||||||
| LifeExpectancy | ParticipantData/ParticipantInfo/Participant ParticipantData/ParticipantInfo/PartnerInfo | Life expectancy for the user | Integer | 100 | Optional | Y | Transition Participant & Partner Identifiers | Used 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. | ||
| Bequest | ParticipantData/ParticipantInfo/Participant | Bequest | Integer | 50000 | Optional | Y | Transition Participant & Partner Identifiers | Used 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. | ||
| IsRetired | ParticipantData/ParticipantInfo/Participant ParticipantData/ParticipantInfo/PartnerInfo | Is the participant retired? Is the partner retired? | Boolean | FALSE | TRUE | Optional | Y | Transition Participant & Partner Identifiers | Used 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. | |
| ExpenseType | ParticipantData/ParticipantInfo/Participant/Expense ParticipantData/ParticipantInfo/Participant/PartnerExpense | The type of the projected expense during retirement | String | Vaction Medical PrivateCollege PublicCollege Other | Vacation | Optional | Y | Transition Participant & Partner Identifiers | Required 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. | |
| Amount | ParticipantData/ParticipantInfo/Participant/Expense ParticipantData/ParticipantInfo/Participant/PartnerExpense | The amount of the projected expense during retirement | Decimal | 0-99999999 | 50000 | Optional | Y | Transition Participant & Partner Identifiers | Required 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. | |
| Amount | ParticipantData/ParticipantInfo/Participant/PartnerLumpSum | Amount of the expected lump sum income for the partner | Decimal | 0-99999999 | 50000 | Optional | Y | Transition Participant & Partner Identifiers | Required 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. | |
| Date | ParticipantData/ParticipantInfo/Participant/PartnerLumpSum | Year the partner’s lump sum income is expected. | Date | Optional | Y | Transition Participant & Partner Identifiers | Required 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’. | |||
| Amount | ParticipantData/ParticipantInfo/Participant/AnnualIncome ParticipantData/ParticipantInfo/Participant/PartnerAnnualIncome | Amount of the participant or partner’s expected annual income during retirement | Decimal | 0-99999999 | 50000 | Optional | Y | Transition Participant & Partner Identifiers | Required 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. | |
| StartYear | ParticipantData/ParticipantInfo/Participant/ AnnualIncome ParticipantData/ParticipantInfo/Participant/PartnerAnnualIncome | The year the participant or partner’s annual income is projected to begin | Integer | 2020 | Optional | Y | Transition Participant & Partner Identifiers | Required 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’. | ||
| EndYear | ParticipantData/ParticipantInfo/Participant/ AnnualIncome ParticipantData/ParticipantInfo/Participant/PartnerAnnualIncome | The year the participant or partner’s annual income is projected to end | Integer | 2030 | Optional | Y | Transition Participant & Partner Identifiers | Required 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’. | ||
| Amount | ParticipantData/ParticipantInfo/Participant/PartTimeJob ParticipantData/ParticipantInfo/Participant/PartnerPartTimeJob | Amount of the participant or partner’s expected annual income from a part time job during retirement | Decimal | 0-99999999 | 50000 | Optional | Y | Transition Participant & Partner Identifiers | Required if PartTimeJob or PartnerPartTimeJob is sent. Values must be in the range 0-99,999,999. | |
| Length | ParticipantData/ParticipantInfo/Participant/PartTimeJob ParticipantData/ParticipantInfo/Participant/PartnerPartTimeJob | The number of years the participant/partner is expected to work a part-time job during retirement | Integer | 10 | Optional | Y | Transition Participant & Partner Identifiers | Required if PartTimeJob or PartnerPartTimeJob is sent. Values must be between 1 and 25. | ||
| Employer Match or Contribution: | ||||||||||
| PreTaxContri/EmployerMatch node | In ParticipantData/ParticipantPlanData/InstAcct | If this node is populated, it refers to the pre-tax and/or Roth employer (match or non-match) contribution information. | Node | plan level values | Optional | N | Employer Match or Contribution | Employer (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 node | In ParticipantData/ParticipantPlanData/InstAcct | If this node is populated, it refers to the pre-tax and/or Roth employer (match or non-match) contribution information. | Node | plan level values | Optional | N | Employer Match or Contribution | Employer (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 node | In ParticipantData/ParticipantPlanData/InstAcct | If this node is populated, it refers to the post-tax employer (match or non-match) contribution information. | Node | plan level values | Optional | N | Employer Match or Contribution | Employer (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/InstAcct | If this node is populated, it refers to the pre, post-tax, roth, employer (match) contribution information. | Node | plan level values | Optional | N | Employer Match or Contribution | Employer (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 node | ParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/EmployerMatch or ParticipantData/ParticipantPlanData/InstAcct/PostTaxContri/EmployerMatch | Tiered employer match (x% of the first y% of salary contributed) | Node | plan level values (if available) | Optional | N | Employer Match or Contribution | If ThreeTier is used, then use the following data elements within EmployerMatch/ThreeTier: Tier1/Rate Tier1/Perc Tier2/Rate Tier2/Perc Tier3/Rate Tier3/Perc 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 | ||
| EmployerContri | ParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/EmployerMatch OR ParticipantData/ParticipantPlanData/InstAcct/PostTaxContri/EmployerMatch | Non-match; employer contribution (percentage of employee’s salary) | Decimal | 0-100 | plan level values (if available) | 2 | Optional | Y | Employer Match or Contribution | You should always provide employer non-match contribution, if applicable. Match can either be stated at participant or plan level. Any match information provided in the participant-level XML file will override plan-level match information. This element should be stated as a percent of annual salary. 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 node | ParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/EmployerMatch OR ParticipantData/ParticipantPlanData/InstAcct/PostTaxContri/EmployerMatch | Combination of tiered match and non-match employer contribution | Node | plan level values (if available) | Optional | N | Employer Match or Contribution | If 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 node | ParticipantData/ ParticipantPlanData/ InstAcct/CombinedTaxContri/ EmployerMatch/ThreeTier | Tiered employer match on pre and post contributions(x% of the first y% of salary contributed) | Node | plan level values (if available) | Optional | N | Employer Match or Contribution | If ThreeTier is used, then use the following data elements within CombinedTaxContri/EmployerMatch/ThreeTier: Tier1/Rate Tier1/Perc Tier2/Rate Tier2/Perc Tier3/Rate Tier3/Perc 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. | ||
| DollarContri | ParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/EmployerMatch or ParticipantData/ParticipantPlanData/InstAcct/PostTaxContri/EmployerMatch | Annual dollar employer contribution | Decimal | 0-99999999 | plan level values (if available) | 1000 | Optional | Y | Employer Match or Contribution | You should always provide employer non-match contribution, if applicable. Match can either be stated at participant or plan level. Any match information provided in the participant-level XML file will override plan-level match information. This element should be stated as an annual dollar amount. 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. |
| Perc | Located in EmployerMatch/ThreeTier/Tier1 if ThreeTier node is used. Located in EmployerMatch/ThreeTierPlusEmpContri/Tier1 if ThreeTierPlusEmpContri is used. Located in CombinedTaxContri/EmployerMatch/ThreeTier/Tier1 | Employer match percent for the first tier of the employer match formula (%) | Decimal | 0-100 | plan level values (if available) | 100 | Optional | Y | Employer Match or Contribution | You should always provide employer match information, if applicable. Match can either be stated at participant or plan level. Any match information provided in the participant-level XML file will override plan-level match information. This data element, along with the next 5 data elements, is used to send the match formula for up to three tiers. These data elements will be used in the following format: • Tier1/Perc percent for the first Tier1/Rate percent, then Tier2/Perc percent of next Tier2/Rate percent, and Tier3/Perc percent of next Tier3/Rate percent. • Example of tiered employer match using all fields: 100% of the first 5% of salary contributed; 50% of the next 3%; 50% of next 5%. 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. |
| Rate | Located in EmployerMatch/ThreeTier/Tier1 if ThreeTier node is used. Located in EmployerMatch/ThreeTierPlusEmpContri/Tier1 if ThreeTierPlusEmpContri is used. Located in CombinedTaxContri/EmployerMatch/ThreeTier/Tier1 | See Tier1/Perc | Decimal | 0-100 | plan level values (if available) | 5 | Optional | Y | Employer Match or Contribution | See Tier1/Perc |
| DollarLimit | Located in EmployerMatch/ThreeTier/Tier1 if ThreeTier node is used. Located in EmployerMatch/ThreeTierPlusEmpContri/Tier1 if ThreeTierPlusEmpContri is used. Located in CombinedTaxContri/EmployerMatch/ThreeTier/Tier1 | The dollar value for the first tier of the employer match formula ($). A choice should be made in each tier for DollarLimit or Rate. | Decimal | 0-99999999 | 250 | Optional | Y | Employer Match or Contribution | The following is an example of the DollarLimit element; 250 200 5 100 | |
| Perc | Located in EmployerMatch/ThreeTier/Tier2 if ThreeTier node is used. Located in EmployerMatch/ThreeTierPlusEmpContri/Tier2 if ThreeTierPlusEmpContri is used. Located in CombinedTaxContri/EmployerMatch/ThreeTier/Tier2 | See Tier1/Perc | Decimal | 0-100 | plan level values (if available) | 50 | Optional | Y | Employer Match or Contribution | See Tier1/Perc |
| Rate | Located in EmployerMatch/ThreeTier/Tier2 if ThreeTier node is used. Located in EmployerMatch/ThreeTierPlusEmpContri/Tier2 if ThreeTierPlusEmpContri is used. Located in CombinedTaxContri/EmployerMatch/ThreeTier/Tier2 | See Tier1/Perc | Decimal | 0-100 | plan level values (if available) | 3 | Optional | Y | Employer Match or Contribution | See Tier1/Perc |
| DollarLimit | Located in EmployerMatch/ThreeTier/Tier2 if ThreeTier node is used. Located in EmployerMatch/ThreeTierPlusEmpContri/Tier2 if ThreeTierPlusEmpContri is used. Located in CombinedTaxContri/EmployerMatch/ThreeTier/Tier2 | The dollar value for the second tier of the employer match formula ($). A choice should be made in each tier for DollarLimit or Rate. | Decimal | 0-99999999 | 250 | Optional | Y | Employer Match or Contribution | See Tier1/DollarLimit | |
| Perc | Located in EmployerMatch/ThreeTier/Tier3 if ThreeTier node is used. Located in EmployerMatch/ThreeTierPlusEmpContri/Tier3 if ThreeTierPlusEmpContri is used. Located in CombinedTaxContri/EmployerMatch/ThreeTier/Tier3 | See Tier1/Perc | Decimal | 0-100 | plan level values (if available) | 50 | Optional | Y | Employer Match or Contribution | See Tier1/Perc |
| Rate | Located in EmployerMatch/ThreeTier/Tier3 if ThreeTier node is used. Located in EmployerMatch/ThreeTierPlusEmpContri/Tier3 if ThreeTierPlusEmpContri is used. Located in CombinedTaxContri/EmployerMatch/ThreeTier/Tier3 | See Tier1/Perc | Decimal | 0-100 | plan level values (if available) | 5 | Optional | Y | Employer Match or Contribution | See Tier1/Perc |
| DollarLimit | Located in EmployerMatch/ThreeTier/Tier3 if ThreeTier node is used. Located in EmployerMatch/ThreeTierPlusEmpContri/Tier3 if ThreeTierPlusEmpContri is used. Located in CombinedTaxContri/EmployerMatch/ThreeTier/Tier3 | The dollar value for the third tier of the employer match formula ($). A choice should be made in each tier for DollarLimit or Rate. | Decimal | 0-99999999 | 250 | Optional | Y | Employer Match or Contribution | See Tier1/DollarLimit | |
| DollarCap | ParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/EmployerMatch Or ParticipantData/ParticipantPlanData/InstAcct/PostTaxContri/EmployerMatch Or ParticipantData/ParticipantPlanData/InstAcct/RothContri/EmployerMatch | Cap on match ($) | Decimal | 0-99999999 | plan level value | 1500 | Optional | Y | Employer Match or Contribution | Used 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. |
| CombinedPercLimit | ParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/EmployerMatch Or ParticipantData/ParticipantPlanData/InstAcct/PostTaxContri/EmployerMatch Or ParticipantData/ParticipantPlanData/InstAcct/RothContri/EmployerMatch | The percent of the participant’s salary eligible for employer match rules. This percent includes employer match amounts in all tiers. | Decimal | 0-100 | 5 | Optional | Y | Employer Match or Contribution | Can only send either DollarCap or CombinedPercLimit, both cannot be sent. | |
| CombDollarCap | ParticipantData/ParticipantPlanData/InstAcct | Displays combined dollar limit on pre-tax and post tax match ($) | Decimal | 2000 | Optional | Y | Employer Match or Contribution | This field should always be sent, if applicable. CombDollarCap can either be stated at participant or plan level. CombDollarCap information provided in the participant-level XML file would override plan-level match information. 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 node | ParticipantData/ParticipantPlanData/InstAcct/AccountBalance Or ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalance | Node for sending all balances by fund | Node | Required only for Managed Accounts | N | Fund Related Data | Either 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 node | ParticipantData/ParticipantPlanData/InstAcct/AccountBalance Or ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalance | Node for sending balances by fund when all balances are not sent | Node | Optional | N | Fund Related Data | Either 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. | |||
| CusFundID | ParticipantData/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/AnnuityBalance | Your internal fund or company stock ID | String | Max Length 50 | Optional | N | Fund Related Data | In 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. | ||
| Ticker | ParticipantData/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/AnnuityBalance | Ticker for all securities | String | Min Length 1; Max Length 10 | FMAGX | Optional | N | Fund Related Data | Please 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. | |
| Cusip | ParticipantData/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/AnnuityBalance | Cusip for all securities | String | Min Length 1; Max Length 20 | Optional | N | Please 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. | |||
| MorningstarID | ParticipantData/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/AnnuityBalance | Internal MorningstarID for custom funds covered and variable annuities | String | Max Length 10 | SPUSA04JPX | Optional | N | Fund Related Data | MorningstarID 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. | |
| TransactionID | ParticipantData/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/AnnuityBalance | Transaction ID that should be used for this security for this user. | String | ABC123 | Optional | N | Fund Related Data | This 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. | ||
| Balance | ParticipantData/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/AnnuityBalance | Dollar balance for a security or company stock in the portfolio | Decimal | 0-99999999 | 40000 | Optional | Y | Fund Related Data | This 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. | |
| FutContriPerc | ParticipantData/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/AnnuityBalance | Future contribution percentage for the security. | Decimal | 0-100 | 10 | Optional | N | Fund Related Data | This element is used in combination with ‘Ticker’, 'Cusip’, ‘MorningstarID’ and /or ‘CusFundID’. The ‘FutContriPerc’ value represents the future contribution percentage for the security. | |
| CurMin | ParticipantData/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/AnnuityBalance | Frozen balance in fund. This is the minimum that can be put into the fund for current rebalancing. | Decimal | 0-99999999 | 0 | 2500 | Optional | N | Fund Related Data | This 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. |
| CurMax | ParticipantData/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/AnnuityBalance | Maximum dollar amount for contributions for rebalancing current money. This is the maximum that can be put into the fund or stock for current money. | Decimal | 0-99999999 | 10000 | Optional | N | Fund Related Data | This 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. | |
| FutMax | ParticipantData/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/AnnuityBalance | The maximum percent that can be allocated to a fund for future elections. | Decimal | 0-100 | 100 | 30 | Optional | N | Fund Related Data | This 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. |
| TotalBalance | ParticipantData/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/AnnuityBalance | Employee’s Current Balance | Decimal | 40000 | Optional | Y (non-editable) | Fund Related Data | This 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: | ||||||||||
| Rate | ParticipantData/ParticipantPlanData/InstAcct/RothContri/RothDefault/Default/MaxContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/RothDefault/Default/MaxContri | Max (separate) Roth contribution the plan allows (%) | Decimal | 0-100 | plan level value | 10 15 | Optional | Y | Roth (separate) Contributions | 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: 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. |
| Amount | ParticipantData/ParticipantPlanData/InstAcct/RothContri/RothDefault/Default/MaxContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/RothDefault/Default/MaxContri | Max (separate) Roth contribution the plan allows ($) | Decimal | 0-99999999 | plan level value | 10000 | Optional | Y | Roth (separate) Contributions | 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: 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. |
| Rate | ParticipantData/ParticipantPlanData/InstAcct/RothContri/RothDefault/Default/MinContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/RothDefault/Default/MinContri | Minimum (separate) Roth contribution the plan allows (%) | Decimal | 0-100 | See Comments | 2 | Optional | N | Roth (separate) Contributions | 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: 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. |
| Amount | ParticipantData/ParticipantPlanData/InstAcct/RothContri/RothDefault/Default/MinContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/RothDefault/Default/MinContri | Minimum (separate) Roth contribution the plan allows ($) | Decimal | 0-99999999 | See Comments | 500 | Optional | N | Roth (separate) Contributions | If 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. |
| Rate | ParticipantData/ParticipantPlanData/InstAcct/RothContri/RothDefault/Default/CurContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/RothDefault/Default/CurContri | Employee’s current (separate) Roth contribution (%) | Decimal | 0-100 | 5 10 15 | Optional | Y | Roth (separate) Contributions | 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: 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. | |
| Amount | ParticipantData/ParticipantPlanData/InstAcct/RothContri/RothDefault/Default/CurContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/RothDefault/CurContri | Employee’s current (separate) Roth annual contribution ($) | Decimal | 0-99999999 | 5600 | Optional | Y | Roth (separate) Contributions | Element 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. | |
| CombLimit | ParticipantData/ParticipantPlanData/InstAcct | Employee’s contribution limit for pre-tax, Roth, and post-tax contributions (%) | Decimal | 0-100 | plan level value | 18 | Optional | Y | Roth (separate) Contributions | 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. |
| PreTax and/or Roth Contributions (Bundled): | ||||||||||
| Rate | ParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/Default/MaxContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PreTaxDefault/Default/MaxContri | Max pre-tax and/or Roth contribution the plan allows (%) | Decimal | 0-100 | plan level value | 10 15 | Optional | Y | PreTax 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. |
| Amount | ParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/Default/MaxContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PreTaxDefault/Default/MaxContri Or ParticipantData/ParticipantPlanData/InstAcct/RothContri/PreTaxDefaul/Default/MaxContri | Max pre-tax and/or Roth contribution the plan allows ($) | Decimal | 0-99999999 | plan level value | 10000 | Optional | Y | PreTax 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. |
| Rate | ParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/Default/MinContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PreTaxDefault/Default/MinContri | Minimum pre-tax and/or Roth contribution the plan allows (%) | Decimal | 0-100 | See Comments | 2 | Optional | N | PreTax 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. |
| Amount | ParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/Default/MinContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PreTaxDefault/Default/MinContri | Minimum pre-tax and/or Roth contribution the plan allows ($) | Decimal | 0-99999999 | See Comments | 500 | Optional | N | PreTax 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. |
| Rate | ParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/Default/CurContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PreTaxDefault/Default/CurContri | Employee’s current pre-tax and/or Roth contribution (%) | Decimal | 0-100 | 5 10 15 | Optional | Y | PreTax 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. | |
| Amount | ParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/Default/CurContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PreTaxDefault/Default/CurContri | Employee’s current pre-tax and/or Roth annual contribution ($) | Decimal | 0-99999999 | 5600 | Optional | Y | PreTax 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. | |
| CombLimit | ParticipantData/ParticipantPlanData/InstAcct | Employee’s contribution limit for pre-tax, Roth, and post-tax contributions (%) | Decimal | 0-100 | plan level value | 18 | Optional | Y | PreTax 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. |
| PreTaxPerc | 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/AnnuityBalance | The percentage of the balance in the fund that is sourced via pre-tax dollars. | Decimal | 0-100 | 50 | Optional | N | PreTax and/or Roth Contributions (Bundled) | This attribute is used when balance by contribution (pre-tax source) is provided. | |
| RothPerc | 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/AnnuityBalance | The percentage of the balance in the fund that is sourced via roth dollars. | Decimal | 0-100 | 50 | Optional | N | PreTax and/or Roth Contributions (Bundled) | This attribute is used when balances by contribution (roth source) is provided. | |
| Roth | ParticipantData/ParticipantPlanData/InstAcct/CatchupLongTerm ParticipantData/ParticipantPlanData/InstAcct/Catchup50Years ParticipantData/ParticipantPlanData/InstAcct/CatchupLast3Years | Specifies if the catch-up contribution is made on a Roth basis. | Boolean | FALSE | TRUE | Optional | Y | PreTax 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. | |
| CombLimitD | ParticipantData/ParticipantPlanData/InstAcct | Employee’s contribution limit for pre-tax, Roth, and post-tax contributions in dollar format ($) | Decimal | 0-99999999 | plan level value | 8000 | Optional | Y | PreTax 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. |
| CombLimitPreTaxRoth | ParticipantData/ParticipantPlanData/InstAcct | Plan’s contribution limit for pre-tax and Roth contributions (%) | Decimal | 0-100 | See comments | 50 | Optional | Y | PreTax 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. |
| CombLimitPreTaxRothD | ParticipantData/ParticipantPlanData/InstAcct | Plan’s contribution limit for pre-tax and Roth contributions ($) | Decimal | 0-99999999 | See comments | 10500 | Optional | Y | PreTax 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): | ||||||||||
| EnableSMART | ParticipantData/ParticipantPlanData/InstAcct/PreTaxContri | Y/N flag that indicates whether the SMART (contribution escalation) logic should be used for the participant. | Boolean | FALSE | true/false | Optional | N | SMART (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. | |
| SMARTProvided | ParticipantData/ParticipantPlanData/InstAcct/PreTaxContri | Y/N flag that indicates whether Morningstar provides the SMART logic (false), or if the client provides the logic (true) | Boolean | TRUE | true/false | Optional | N | SMART (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. | |
| Threshold | ParticipantData/ParticipantPlanData/InstAcct/PreTaxContr/SMART | "Minimum contribution threshold" The value used in determining whether or not a SMART contribution increase is to be recommended. | Decimal Numeric | 0 | 0 | Optional | N | SMART (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. | |
| Contri | ParticipantData/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 Numeric | 0 | 3 | Optional | N | SMART (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. | |
| Contriinc | ParticipantData/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 Numeric | 1 | 1 | Optional in schema but required for SMART logic | N | SMART (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. | |
| MaxLimit | ParticipantData/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 Numeric | 100 | 12 | Optional | N | SMART (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: | ||||||||||
| Rate | ParticipantData/ParticipantPlanData/InstAcct/PostTaxContri/Default/MaxContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PostTaxDefault/Default/MaxContri | Max post-tax contribution percent allowed in the plan (%) | Decimal | 0-100 | plan level value | 12 | Optional | Y | Post Tax Contributions | This 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. |
| Amount | ParticipantData/ParticipantPlanData/InstAcct/PostTaxContri/Default/MaxContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PostTaxDefault/Default/MaxContri | Max post-tax contribution amount (in dollars) allowed in the plan ($) | Decimal | 0-99999999 | plan level value | 2000 | Optional | Y | Post Tax Contributions | This 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. |
| Rate | ParticipantData/ParticipantPlanData/InstAcct/PostTaxContri/Default/MinContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PostTaxDefault/Default/MinContri | Minimum post-tax contribution percent allowed in the plan (%) | Decimal | 0-100 | plan level value | 2 | Optional | N | Post Tax Contributions | 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 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. |
| Amount | ParticipantData/ParticipantPlanData/InstAcct/PostTaxContri/Default/MinContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PostTaxDefault/Default/MinContri | Minimum post-tax contribution amount (in dollars) allowed in the plan ($) | Decimal | 0-99999999 | plan level value | 500 | Optional | N | Post Tax Contributions | 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 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. |
| Rate | ParticipantData/ParticipantPlanData/instAcct/PostTaxContri/Default/CurContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PostTaxDefault/Default/CurContri | Employee’s post-tax contribution in percent | Decimal | 0-100 | 5 | Optional | Y | Post Tax Contributions | Stated 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. | |
| Amount | ParticipantData/ParticipantPlanData/instAcct/PostTaxContri/Default/CurContri Or ParticipantData/ParticipantPlanData/InstAcct/CombinedTaxContri/PostTaxDefault/Default/CurContri | Employee’s post-tax contribution in dollars | Decimal | 0-99999999 | 6000 | Optional | Y | Post Tax Contributions | Stated 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. | |
| Rate | ParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/Default/CurContri | Employer contribution | Decimal | 0-100 | 10 | Optional | Y | Post Tax Contributions | Stated 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. | |
| CombLimit | ParticipantData/ParticipantPlanData/InstAcct | Employee’s contribution limit for pre-tax, Roth, and post-tax contributions (%) | Decimal | 0-100 | plan level value | 18 | Optional | Y | Post Tax Contributions | 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. |
| PostTaxPerc | 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/AnnuityBalance | The percentage of the balance in the fund that is sourced via post-tax dollars. | Decimal | 0-100 | 50 | Optional | N | Post Tax Contributions | This attribute is used when balances by contribution (post-tax source) is provided. | |
| CombLimitD | ParticipantData/ParticipantPlanData/InstAcct | Employee’s contribution limit for pre-tax, Roth, and post-tax contributions in dollar format ($) | Decimal | 0-99999999 | plan level value | 8000 | Optional | Y | Post Tax Contributions | 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. |
| Catch Up Contributions: | ||||||||||
| ContriRate | ParticipantData/ParticipantPlanData/InstAcct/CatchupLongTerm | Employee’s current annual contribution using the “Long-Term Employee” Catch-Up Provision (%) | Decimal | 0-100 | 2 | Optional | Y | Catch Up Contributions | Element 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. | |
| ContriDollar | ParticipantData/ParticipantPlanData/InstAcct/CatchupLongTerm | Employee’s current annual contribution using the “Long-Term Employee” Catch-Up Provision ($) | Decimal | 0-99999999 | 500 | Optional | Y | Catch Up Contributions | Element 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. | |
| Length | ParticipantData/ParticipantPlanData/InstAcct/CatchupLongTerm | Length in years of employee’s current annual contribution using the “Long-Term Employee” Catch-Up Provision | Integer | Time to Retirement | 3 | Optional | Y | Catch Up Contributions | Time 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. | |
| ContriRate | ParticipantData/ParticipantPlanData/InstAcct/Catchup50Years | Employee’s current contribution using the “50 Years of Age” Catch-Up Provision (%) | Decimal | 0-100 | 2 | Optional | Y | Catch Up Contributions | Element 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. | |
| ContriDollar | ParticipantData/ParticipantPlanData/InstAcct/Catchup50Years | Employee’s current contribution using the “50 Years of Age” Catch-Up Provision ($) | Decimal | 0-99999999 | 1000 | Optional | Y | Catch Up Contributions | Element 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. | |
| Length | ParticipantData/ParticipantPlanData/InstAcct/Catchup50Years | Length in years of employee’s current annual contribution using the “50 Years of Age” Catch-Up Provision | Integer | Time to Retirement | 3 | Optional | Y | Catch Up Contributions | Time 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. | |
| ContriRate | ParticipantData/ParticipantPlanData/InstAcct/CatchupLast3Years | Employee’s current annual contribution using the “Last 3 Years of Employment” Catch-Up Provision (%) | Decimal | 0-100 | 3 | Optional | Y | Catch Up Contributions | 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 used with the following plan type: 457B. | |
| ContriDollar | ParticipantData/ParticipantPlanData/InstAcct/CatchupLast3Years | Employee’s current annual contribution using the “Last 3 Years of Employment” Catch-Up Provision ($) | Decimal | 0-99999999 | 1000 | Optional | Y | Catch Up Contributions | Element 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. | |
| Length | ParticipantData/ParticipantPlanData/InstAcct/CatchupLast3Years | Length in years of employee’s current annual contribution using the “Last 3 Years of Employment” Catch-Up Provision | Integer | 3 | 3 | Optional | Y | 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 type: 457B. | |
| Company Stock Related Data Points: | ||||||||||
| CompanyStockMatch | ParticipantData/ParticipantPlanData/InstAcct/PreTaxContri/EmployerMatch | Percentage of employer match in company stock | Decimal | 0-100 | 50 | Optional | N | Company Stock Related Data Points | This 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. | |
| StockHold | ParticipantData/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 | Indicates how much the user wants to retain in (unrestricted) company stock (%) | Decimal | 0-100 | 10 | Optional | N | Company Stock Related Data Points | This 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: | ||||||||||
| OverallBalance | ParticipantData/ParticipantPlanData/InstAcct/BrkgBalance | Balance in employee's self-directed brokerage account within the plan | Decimal | 5600.23 | Optional | Y | Brokerage Data Points | Brokerage 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. | ||
| Ticker | ParticipantData/ParticipantPlanData/InstAcct/BrkgBalance/Port/Security | Ticker | String | Min Length 1; Max Length 10 | FMAGX | Optional | N | Brokerage Data Points | Please send only valid values for Ticker. | |
| Cusip | ParticipantData/ParticipantPlanData/InstAcct/BrkgBalance/Port/Security | Cusip | String | Min Length 1; Max Length 20 | Optional | N | Brokerage Data Points | Please send only valid values for Cusip. | ||
| Balance | ParticipantData/ParticipantPlanData/InstAcct/BrkgBalance/Port/Security | Dollar balance for a security in the brokerage window | Decimal | 0-99999999 | 40000 | Optional | Y | Brokerage Data Points | This element is used in combination with ‘Ticker’ or ‘Cusip’. | |
| Style | ParticipantData/ParticipantPlanData/InstAcct/BrkgBalance ParticipantData/ParticipantPlanData/InstAcct/OtherAsset ParticipantData/ParticipantPlanData/InstAcct/PartnerOtherAsset | The overall investment style of the brokerage account or outside asset | String | C: Conservative MC: Moderate conservative B: Balanced MA: Moderate aggressive A: Aggressive | MC | Optional | Y | Brokerage Data Points | Brokerage 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 | ||||||||||
| Amount | ParticipantData/ParticipantPlanData/InstAcct/Loan | Employee’s current plan monthly loan payment | Decimal | 0-99999999 | 5000 | Optional | Y | Loan | This 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). | |
| StartDate | ParticipantData/ParticipantPlanData/InstAcct/Loan | Employee’s current plan loan start date | Date | 1945-08-13 | Optional | N | Loan | This 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. | ||
| Length | ParticipantData/ParticipantPlanData/InstAcct/Loan | Employee’s current plan loan length, in years, up to 30 years. | Numeric | 10 | Optional | N | Loan | This 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. | ||
| EndDate | ParticipantData/ParticipantPlanData/InstAcct/Loan | Employee’s current plan loan end date | Date | 1945-08-13 | Optional | Y | Loan | This 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/@QuestionIdx | The question the participant answers, so we can tie the responses to the corresponding question. | String | 1, 2, 3 | 1 | Optional | Y | Annuity | These 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 /@QuestionIdx | The question the participant answers, so we can tie the responses to the corresponding question. | String | 1, 2, 3 | 1 | Optional | Y | Annuity | These questions determine the suitability of an annuity for the participant. | |
| AnswerIdx | //ParticipantInfo/ QuestionnaireAnswers/Answer/@AnswerIdx | Response from the participant to the above question. | Alpha | A | Optional | Y | Annuity | These 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 /@AnswerIdx | Response from the participant to the above question. | String | A | Optional | Y | Annuity | These questions determine the suitability of an annuity for the participant. | ||
| Amount | //ParticipantInfo/Participant/DesiredRetirementIncome //ParticipantInfo/PartnerInfo/DesiredRetirementIncome | Desired retirement income, stated as a dollar amount | Decimal | 0-99999999 | 100% of post-tax-salary | 50000 | Optional | Y | Annuity | Analagous 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. |
| AnnuityID | ParticipantData/ParticipantPlanData/Annuity/AnnuityInfo | Internal annuity identifier | String | Min Length 1; Max Length 50 | 103 | Optional | N | Annuity | Required if plan offers an annuity. 50 character max length default | |
| AnnuityType | ParticipantData/ParticipantPlanData/Annuity/AnnuityInfo | Nominal – rate of interest before adjustment for inflation (CPI); | Integer | 1 | Optional | N | Annuity | Required if plan offers an annuity. 1 = Nominal | ||
| AmountAvailableForPurchase | ParticipantData/ParticipantPlanData/Annuity/AnnuityInfo | Amount of Total Balance available for withdrawal to purchase an annuity | Float | 75000 | Optional | N | Annuity | Required if plan offers an annuity. Stated as $ amount. Necessary for recordkeeping and managing annuity suitability restrictions. | ||
| AnnuityIncome | ParticipantData/ParticipantPlanData/Annuity/AnnuityInfo/AnnuityDetail | Annuity Income Payments | Float | 1200 | Optional | Y | Annuity | Required if plan offers an annuity. Stated as $ amount. The income amount based on the annuity amount purchased. | ||
| IncomeFrequency | ParticipantData/ParticipantPlanData/Annuity/AnnuityInfo/AnnuityDetail | Annuity Income Payment Frequency | Integer | 1 | Optional | N | Annuity | Required 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 | ||
| PercOfPortfolio | ParticipantData/ParticipantPlanData/Annuity/AnnuityInfo/AnnuityDetail | The percentage of the participant’s Total Balance of their account that is represented by the income payout | Float | 10 | Optional | Y | Annuity | Required if plan offers an annuity. Percentage of the participant’s Total Balance PercOfPortfolio values: 10 = 10% 20 = 20% 30 = 30% 40 = 40% 50 = 50% | ||
| AnnuityID | ParticipantData/ParticipantPlanData/Annuity/AnnuityHistory/PurchaseHistory | The identifier for an annuity that was purchased and is providing income to the participant. | String | Min Length 1; Max Length 50 | 103 | Optional | N | Annuity | Required if plan offers an annuity | |
| AnnuityPayout | ParticipantData/ParticipantPlanData/Annuity/AnnuityHistory/PurchaseHistory | Actual income payment of purchased annuity | Float | 7000 | Optional | Y | Annuity | Required when annuity is purchased. Stated as $ amount. | ||
| PayoutFrequency | ParticipantData/ParticipantPlanData/Annuity/AnnuityHistory/PurchaseHistory | Actual Income Payment Frequency of Purchased Annuity | Integer | 1 | Optional | N | Annuity | Required when annuity is purchased. Annuity Income Payment Frequencies 12 - monthly 4 - quarterly 2 - semi-annually 1 - annually | ||
| PurchaseDate | ParticipantData/ParticipantPlanData/Annuity/AnnuityHistory/PurchaseHistory | dateTime | 2008-01-17T09:30:47 | Optional | N | Annuity | Stated as YYYY-MM-DDTHH:MM:SS | |||
| ContractID | ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalance | The identifier of the annuitycontract. | String | ABC123 | Optional | N | Annuity | Required 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. | ||
| Balance | ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalance | The current value of the annuity contract. | Decimal | 0-99999999 | 50000 | Optional | N | Annuity | Required 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. | |
| PaymentStartYear | ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalance | First year of payment | Integer | User’s Retirement Year | 2020 | Optional | N | Annuity | ||
| LockIn | ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalance | Indicates whether the participant is currently withdrawing from the GMWB. | Boolean | TRUE | Optional | N | Annuity | Required if plan offers an annuity. If True, we cannot allocate further money into the product, and it will be treated as non-advisable. | ||
| WithdrawPercent | ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalance | The percentage of the total amount invested in the annuity that can be withdrawn annually. | Decimal | 0-100 | 3.75 | Optional | Y | Annuity | If not sent in the participant file, we will default to the GMWB Bands at the client level. | |
| BenefitBase | ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalance | The benefit base for the account. | Decimal | 0-99999999 | $25,000 | Optional | N | Annuity | Required if plan offers an annuity. If not specified, the benefit base is assumed to be equal to the balance. | |
| RiderContinuesForSpouse | ParticipantData/ParticipantPlanData/InstAcct/AnnuityBalance | Determines whether the contract’s benefits continue for a surviving spouse | Boolean | F | F | Optional | N | Annuity | Indicates 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: | ||||||||||
| UserRetAge | ParticipantData/ParticipantPlanData/Goals | Age at which the user prefers to retire (e.g. the age at which the user plans to begin taking withdrawals from the plan) | Integer | See the comments column | 55 | Optional | Client Specific Data Points | For 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. | ||
| Ticker | ParticipantData/ParticipantPlanData/InstAcct/InvestPref/ExcludeFund | Ticker of the fund to be excluded when creating advice | String | Min Length 1; Max Length 10 | FMAGX | Optional | Client Specific Data Points | For 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. | ||
| Cusip | ParticipantData/ParticipantPlanData/InstAcct/InvestPref/ExcludeFund | Cusip of the fund to be excluded when creating advice | String | Min Length 1; Max Length 20 | 922908108 | Optional | Client Specific Data Points | See ExcludeFund/Ticker | ||
| MorningstarID | ParticipantData/ParticipantPlanData/InstAcct/InvestPref/ExcludeFund | MorningstarID of fund to be excluded when creating advice | String | Max Length 10 | SPUSA04FPQ | Optional | Client Specific Data Points | See ExcludedFund/Ticker | ||
| CusFundID | ParticipantData/ParticipantPlanData/InstAcct/InvestPref/ExcludeFund | Your external fund ID to be excluded when creating advice | String | Max Length 50 | ABC1234 | Optional | Client Specific Data Points | See ExcludeFund/Ticker | ||
| Client Specific Data Points (User Outside Assets): | ||||||||||
| PlanType | ParticipantData/ParticipantPlanData/OtherAsset | Type of account this represents | String | 401K Thrift ProfitSharing MoneyPurchase 403B Sup403B 457B 401A Variable Annuities TaxableAccount CompanyStockHeldOutsideYourRetirementPlan NonAdvisable TraditionalIRA RothIRA RolloverIRA SEPIRA SIMPLE IRA NonQualified NonQualifiedVA HSA_Single HSA_Joint | TaxableAccount | Optional | Client Specific Data Points (User Outside Assets) | This data point is required if the ‘OtherAsset’ node is sent. | ||
| NonAdvisableType | ParticipantData/ParticipantPlanData/OtherAsset | Type of NonAdvisable account | String | ESOP MoneyPurchase NonQual ProfitSharing | ESOP | Optional | Y | Client Specific Data Points (User Outside Assets) | Only used when OtherAsset/Plan Type is ‘NonAdvisable’. Not valid for any other outside account plan type. | |
| OverallBalance | ParticipantData/ParticipantPlanData/OtherAsset/AccountBalance | Balance in this account | Decimal | 50000 | Optional | Client 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. | |||
| Rate | ParticipantData/ParticipantPlanData/OtherAsset/Contri | Annual Contribution to this account (%) | Decimal | 0-100 | 6 | Optional | Client Specific Data Points (User Outside Assets) | This field does not apply to NonAdvisable plans. | ||
| Amount | ParticipantData/ParticipantPlanData/OtherAsset/Contri | Annual Contribution to this account ($) | Decimal | 0-99999999 | 6000 | Optional | Client Specific Data Points (User Outside Assets) | This field does not apply to NonAdvisable plans. | ||
| Ticker | ParticipantData/ParticipantPlanData/OtherAsset/AccountBalance/Port/Security | Tickers of the funds in this account | String | Min Length 1; Max Length 10 | FMAGX | Optional | Client Specific Data Points (User Outside Assets) | |||
| Cusip | ParticipantData/ParticipantPlanData/OtherAsset/AccountBalance/Port/Security | Cusips of the funds in this account | String | Min Length 1; Max Length 20 | 922908108 | Optional | Client Specific Data Points (User Outside Assets) | |||
| Balance | ParticipantData/ParticipantPlanData/OtherAsset/AccountBalance/Port/Security | Balance by fund | Numeric | 2000 | Optional | Client 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. | |||
| Amount | ParticipantData/ParticipantPlanData/LumpSum | Lump Sum amount, such as Cash Freed from the sale of a home | Numeric | 20000 | Optional | Client Specific Data Points (User Outside Assets) | This field does not apply to NonAdvisable plans. | |||
| Date | ParticipantData/ParticipantPlanData/LumpSum | Date the Lump Sum occurs | Date | 1/30/25 | Optional | Client Specific Data Points (User Outside Assets) | This field does not apply to NonAdvisable plans. | |||
| ProgramName | ParticipantData/ParticipantPlanData/OtherAsset | Defines the name that should appear in the user interface for NonAdvisable plans | Alphanumeric | Optional | Client Specific Data Points (User Outside Assets) | This field only applies to NonAdvisable plans. Limit is 100 characters. | ||||
| AccountID | ParticipantData/ParticipantPlanData/OtherAsset | Unique account identifier | String | 1234 | Optional | Y | Client 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. | ||
| Rate | ParticipantData/ParticipantPlanData/OtherAsset/PreTaxContri/Default/MaxContri | Max pre-tax contribution allowed for the NonAdvisable account (%) | Numeric | 100 | 10 15 | Optional | N | Client 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. | |
| Amount | ParticipantData/ParticipantPlanData/OtherAsset/PreTaxContri/Default/MaxContri | Max pre-tax contribution allowed for the NonAdvisable account ($) | Numeric | 10000 | Optional | N | Client 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. | ||
| Rate | ParticipantData/ParticipantPlanData/OtherAsset/PreTaxContri/Default/MinContri | Minimum pre-tax contribution allowed for the NonAdvisable account (%) | Numeric | 0 | 2 | Optional | N | Client 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. | |
| Amount | ParticipantData/ParticipantPlanData/OtherAsset/PreTaxContri/Default/MinContri | Minimum pre-tax contribution allowed for the NonAdvisable account ($) | Numeric | 500 | Optional | N | Client 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. | ||
| Rate | ParticipantData/ParticipantPlanData/OtherAsset/PreTaxContri/Default/CurContri | Employee’s current pre-tax contribution for the NonAdvisable account (%) | Numeric | 5 5 10 | Optional | Y | Client 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. | ||
| Amount | ParticipantData/ParticipantPlanData/OtherAsset/PreTaxContri/Default/CurContri | Employee’s current pre-tax contribution for the NonAdvisable account ($) | Numeric | 5600 | Optional | Y | Client 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. | ||
| EmployerContri | ParticipantData/ParticipantPlanData/OtherAsset/PreTaxContri/EmployerMatch | Employer’s annual contribution to the NonAdvisable account (%) | Numeric | 6 | Optional | N | Client 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. | ||
| DollarContri | ParticipantData/ParticipantPlanData/OtherAsset/PreTaxContri/EmployerMatch | Employer’s annual contribution to the NonAdvisable account ($) | Numeric | 2500 | N | Client 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: | ||||||||||
| PartnerRetAge | ParticipantData/ParticipantPlanData/Goals | Age at which the partner prefers to retire (e.g. the age at which the user plans to begin taking withdrawals from the plan) | Numeric | Participant retirement age | 55 | Optional | Partner Information Including Outside Assets | 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. | ||
| Amount | ParticipantData/ParticipantPlanData/PartnerSalary | Partner’s salary | Numeric | 0 | 50000 | Optional | Partner Information Including Outside Assets | This 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. | ||
| PlanType | ParticipantData/ParticipantPlanData/PartnerOtherAsset | Type of account this represents | String | RetirementPlansfromPrevEmp TradIRA RothIRA Variable Annuities TaxableAccount CompanyStockHeldOutsideYourRetirementPlan NonQualified SIMPLE_IRA SEP_IRA NonQualifiedVA RolloverIRA HSA_Single HSA_Joint | RothIRA | Optional | Partner Information Including Outside Assets | This data point is required if the 'PartnerOtherAsset' node is sent. | ||
| OverallBalance | ParticipantData/ParticipantPlanData/PartnerOtherAsset/AccountBalance | Balance in this account | Numeric | 50000 | Optional | Partner Information Including Outside Assets | If both balances by fund and overall balance are sent, the total of the balances by fund will override overall balance. | |||
| Rate | ParticipantData/ParticipantPlanData/PartnerOtherAsset/Contri | Annual Contribution to this account (%) | Numeric | 6 | Optional | Partner Information Including Outside Assets | ||||
| Amount | ParticipantData/ParticipantPlanData/PartnerOtherAsset/Contri | Annual Contribution to this account ($) | Numeric | 6000 | Optional | Partner Information Including Outside Assets | Maximum balance is $99,999,999 | |||
| Ticker | ParticipantData/ParticipantPlanData/PartnerOtherAsset/AccountBalance/Port/Security | Tickers of the funds in this account | Alpha | FMAGX | Optional | Partner Information Including Outside Assets | ||||
| Cusip | ParticipantData/ParticipantPlanData/PartnerOtherAsset/AccountBalance/Port/Security | Cusips of the funds in this account | Alphanumeric | 922908108 | Optional | Partner Information Including Outside Assets | ||||
| Balance | ParticipantData/ParticipantPlanData/PartnerOtherAsset/AccountBalance/Port/Security | Balance by fund | Decimal | 0-99999999 | 2000 | Optional | Partner Information Including Outside Assets | If 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 | ||
| Amount | ParticipantData/ParticipantPlanData/PartnerPension | Annual Pension Amount | Decimal | 0-99999999 | 15000 | Optional | Partner Information Including Outside Assets | We only collect this data point via the batch. | ||
| StartYear | ParticipantData/ParticipantPlanData/PartnerPension | Annual Pension Start Year | Date | 8/13/10 | Optional | Partner Information Including Outside Assets | We only collect this data point via the batch. | |||
| Partner's Current Retirement Plan: | ||||||||||
| PlanType | ParticipantData/ParticipantPlanData/PartnerAcct | Type of account this represents | String | 401K Thrift ProfitSharing MoneyPurchase 403B Sup403B 457B 401A NonQualified SIMPLE_IRA SEP_IRA NonQualifiedVA RolloverIRA | 401K | 401K | Optional | Partner's Current Retirement Plan | ||
| OverallBalance | ParticipantData/ParticipantPlanData/PartnerAcct/AccountBalance | Overall Balance in the partner’s plan | Decimal | 30000 | Optional | Partner's Current Retirement Plan | If both balances by fund and overall balance are sent, the total of the balances by fund will override overall balance. | |||
| Rate | ParticipantData/ParticipantPlanData/PartnerAcct/PreTaxContri/Default/CurContri | Annual contribution to this account (%) | Decimal | 0-100 | 4 | Optional | Partner's Current Retirement Plan | |||
| Amount | ParticipantData/ParticipantPlanData/PartnerAcct/PreTaxContri/Default/CurContri | Annual contribution to this account ($) | Decimal | 0-99999999 | 4000 | Optional | Partner's Current Retirement Plan | |||
| Ticker | ParticipantData/ParticipantPlanData/PartnerAcct/AccountBalance/Port/Security | Ticker | String | Min Length 1; Max Length 10 | FMAGX | Optional | Partner's Current Retirement Plan | Please send only valid values for Ticker. | ||
| Cusip | ParticipantData/ParticipantPlanData/PartnerAcct/AccountBalance/Port/Security | Cusip | String | Min Length 1; Max Length 20 | 922908108 | Optional | Partner's Current Retirement Plan | Please send only valid values for Cusip. | ||
| Balance | ParticipantData/ParticipantPlanData/PartnerAcct/AccountBalance/Port/Security | Participant’s dollar balance for a security in the portfolio ($) | Decimal | 0-99999999 | 40000 | Optional | Partner's Current Retirement Plan | This 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: | ||||||||||
| PlanType | ParticipantData/Enroll/ParticipantEnrollInfo | PlanType associated with the plan enrolling in Managed Accounts | String | 401K Thrift ProfitSharing MoneyPurchase 403B Sup403B 457B 401A NonQual SIMPLE_IRA SEP_IRA TradIRA RothIRA 457F* In Progress | 401K | Optional | Integrated Enrollment | This 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. | ||
| PlanID | ParticipantData/Enroll/ParticipantEnrollInfo | PlanID associated with the plan enrolling in Managed Accounts | String | 50 characters is the max length | PLAN123 | Optional | Integrated Enrollment | This 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. | Integer | MinInclusive 1; MaxInclusive 15 | N/A | 6 | Optional | Y | Time Horizon | This 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 Node | ParticipantData/ParticipantPlanData/InstAcct | Indicates Advisor information for a Custom Models plan | Node | Required for Custom Models platform only | N | Custom Models | This node should only be used for the Custom Models service option. | |||
| AdvisorID | ParticipantData/ParticipantPlanData/InstAcct/Advisors | Indicates advisor ID associated with a plan | String | ABC1234 | Required for Custom Models platform only | N | Custom Models | This value indicates which plans and advisor can see and access in the Custom Models AUI. | ||
| ParticipantStatus | ParticipantData/ParticipantPlanData/InstAcct | Inidciates whether a participant is enrolled or eligible in the Custom Models solution | String | Enrolled | Required for Custom Models platform only | Y | Custom Models | |||
| ModelID | ParticipantData/ParticipantPlanData/InstAcct | Indicates the ModelID of a participant enrolled in Custom Models | String | AGG90 | Required for Custom Models platform only | Y | Custom 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 Name | Location | Former Name | Element Description | Element Type | Default | Example | Required? | Displayed? | Comments |
|---|---|---|---|---|---|---|---|---|---|
| ReturnCode | RTParticipantInput | RETURNCODE (required) | Return status of data retrieval/submission | Numeric 0: Success ≠ 0: Failure (implementation dependent≠ | 0 | Required | N | This 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. | |
| TimeStamp | RTParticipantInput | N/A in old dtd | Timestamp of the file | Timestamp | Required |
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 Name | Location | Former Name | Element Description | Element Type | De-fault | Example | Required? | Comments |
|---|---|---|---|---|---|---|---|---|
| FileType | BatchParticipantInput | FILETYPE | Type of File | Numeric: 1= Non-Quarterly 2= Quarterly | 1 | 1 | Required | Required 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. |
| TimeStamp | BatchParticipantInput | N/A in old dtd | Timestamp of the file | Timestamp | Required | |||
| Enroll node | BatchParticipantInput/ParticipantData | N/A in old dtd | Node for enrolling users | Node | Optional | Users 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 node | BatchParticipantInput/ParticipantData | N/A in old dtd | Node for rebalancing users | Node | Optional | Users 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 node | BatchParticipantInput/ParticipantData | N/A in old dtd | Node for opting out users | Node | Optional | Users 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 Name | Location | Former Name | Element Description | Element Type | Default | Example | Required? | Displayed? | Comments |
|---|---|---|---|---|---|---|---|---|---|
| TimeStamp | StatementParticipantInput | N/A in old dtd | Timestamp of the file | Timestamp | Required |
Sample XML Documents
View Sample XML Documents.
