DC Allocation
The DC Allocation command lets you calculate an Allocation (e.g., match or non-elective contribution) based on employee data in a Database and a DC Plan Definition. Calculation results are written directly to the Database.
The parameters found in an Allocation are as follows:
Name is the description of the Allocation. This will be the name displayed in the DC Allocation Library. You are encouraged to use a name that will readily allow you or a colleague to understand the underlying nature of the Allocation.
The Plan Year Start and Plan Year End are entered as the first day of the calculation through the last day of the calculation period. The length of the period may consist of a partial year, but no longer then one full year.
Select the appropriate Database from the list of all database files contained in the current Client. Employee data will be read from this database, and calculation results will be written to this same database.
Click the Selection link to select a subset of the records in the Database file for processing in the Allocation run. Enter a Selection or click the button to recall an expression previously defined and stored in the Selection Expression library.
The Plan Definition furnishes the plan benefit provisions to be used to perform the Allocation. Select the appropriate plan from the DC Plan Definition library or click the button to create a new one. See Plan Definitions for more.
The Employee Data topic tells ProVal where to find fundamental information in your database. In the Database fields section, select the appropriate field for each input. While some fields such as Date of Birth are required, others such as Hours and various deferral types are only needed if you want them taken into account in the calculations.
Employee Deferrals made during the year - These numeric fields reflect actual employee deferrals, to be used in determining matching contributions, as well as for determining total contributions for comparison with the 415(c) limit.
Employer Contributions made during the year
You can optionally set values for database fields using Derived fields. This utility calculates values for any database fields you choose at the beginning of an Allocation run. These values are calculated via Define Field by Expression or Define Field by Table entries that you define. These are executed every time you run the Allocation. These Derived fields may be used anywhere in the Employee Data topic or in the Plan Definition or Contribution Definitions. If there is data on the database file for a field set by the derived data utility, the values in the field will be erased prior to processing. Note that the field values will be erased for all participants even if a selection expression is applied such that the derived field should only apply to a subset of participants.
The Individual Results topic lets you specify which fields will be saved to the database file when running an Allocation. Check the fields you would like to save to the results file. By default, all “Final” result type fields are selected. The available Individual Results fields are shown with their default field names in the table below.
zMatch |
The Expected Match is the amount an employer should have contributed to an employee based on the Contribution formula of all Contribution definitions a record is eligible for. Available split by Contribution Definition. |
zMatchTrueUpElig |
The expected match with true-up eligibility field is equal to the “zMatch” field if true-up eligibility is met for a Contribution Definition, if true-up eligibility is not met then 0. Another way of thinking of this field is “zMatch” times “zTrueUpElig”. Available split by Contribution Definition. |
zTrueUp |
The true-up amount is the Employer Contribution Match field amount from Employee Data minus the “zMatchTrueUpElig” field, see above. Available split by Contribution Definition. |
zDeferralRefund |
The employee deferral refund is the total amount the employee deferred for the year that is in excess of the 412(g) deferral limit and 414(v) catch-up limit for employees age 50 or over at the end of the calendar year.. |
zCompContElig |
Total compensation, limited to the 401(a)(17) limit if applicable. |
zDeferralMatchElig |
Total deferrals eligible for a match, limited by 402(g) and 414(v) if applicable. Available split by Contribution Definition. |
zEffDefRate |
The effective deferral rate, i.e. zDeferralMatchElig divided by zCompContElig. Available split by Contribution Definition. |
zNEC |
The Non-Elective Contribution amount based on compensation selected in Employee Data and the Contribution formula of all Contribution definitions an employee is eligible for. Available split by Contribution Definition. |
zEffNECRate |
The effective non-elective contribution rate, i.e. zNEC divided by zCompContElig. Available split by Contribution Definition. |
zAge |
The age at start of plan year |
zAgeEOY |
The age at end of plan year |
zLimit401a17 |
The compensation limit as of the first day of the plan year. |
zLimit414v |
The catch-up contribution limit as of the first day of the plan year. |
zLimit402g |
The deferral limit as of the first day of the plan year. |
zLimit415c |
The defined contribution limit as of the first day of the plan year. |
zSSwageBase |
The social security wage base as of the first day of the plan year. |
zDeferralRechar |
The deferral amount recharacterized as catch-up, or the other way if negative. |
zElig |
A flag with a “1” if eligibility is met, otherwise “0”. Available split by Contribution Definition. For a Match-type contribution definition, this includes only eligibility for a match, and excludes the additional criteria for a True-up. |
zTrueUpElig |
A flag with a “1” if the true-up eligibility is met, otherwise “0”. Available split by Contribution Definition. |
zExcess415 |
The amount by which employer and employee contributions (excluding catch-up contributions) exceed the 415(c) limit. If the 415(c) limit is applied in the Regulatory Data topic, these contributions will be reduced during the calculation in order to meet the limit (excluding input contributions, see zExcess415NoRed below). |
zExcess415NoRed |
The amount by which the sum of the inputs "Employee Deferrals made during the year" (excluding catch-up contributions) and "Employer Contributions made during the year" exceeds the 415(c) limit. These input amounts will not be reduced to meet the limit. |
zMatchFormula |
A text description of the match formula, based on the Contribution Definition that each record is eligible for. If eligible for more than one Contribution Definition, all these formulas will be described, separated by commas. |
zNECFormula |
A text description of the non-elective contribution formula, based on the Contribution Definition that each record is eligible for. If eligible for more than one Contribution Definition, all these formulas will be described, separated by commas. |
Highlight an Individual Results field and click the button to change the field attributes. There, you can choose to write the output to another existing Database field or specify a New field (and ProVal will create a new database field for this output variable when the DC Allocation is run). If you provide a new field name, you may also edit the Description (optional phrase that describes the contents of this field), the Column title (to be used for display of the field value in a table or list), and the Formatting style (sets the field width, number of decimal places and presence of dollar signs and/or commas for display purposes only). Note: the data is stored to full precision regardless of the formatting style.
Check the Include derived fields box if you would want to save all derived fields created in the Employee Data topic to the Database file.
Check Split result fields by contribution definition to expand the list of fields in Results to show fields for each contribution definition, if available.
Note that while running an Allocation, all Individual Results fields and all derived fields will be cleared from the database file and if selected in the Individual Results topic the newly calculated fields will be saved to the database file.
The Regulatory Data topic lets you choose which regulatory limits to apply, as well as to manually override the limits. Note that the regulatory limits will be defined as of the beginning of the plan year (i.e. the calendar year that the plan year start falls in). Therefore, for non-calendar plan years, you should take care to review the limits and apply overrides if necessary. (In particular, review how the plan defines the 415(c) defined contribution limit and social security wage base. Also note that the 402(g) deferral limit and 414(v) catch-up limit are applicable to members' individual tax returns, which are based on calendar years.)
In the Regulatory Data topic, the Historical Data button provides a listing of ProVal's Regulatory Data by calendar year.
As an alternative to overriding regulatory data manually, you may override the regulatory data through the use of text files that are included in the ProVal system files: ProVal will retrieve historical regulatory data from the following text files:
RegMaxComp.txt |
U.S. IRC Section 401(a)(17) maximum compensation |
RegDefLmt.txt RegCatchUp.txt RegContLmt.txt RegWageBase.txt |
U.S. IRC Section 402(g)(3) deferral Limit U.S. IRC Section 414(v)(2)(B)(i) catch-up Limit U.S. IRC Section 415(c)(1)(A) defined contribution limit U.S. Social Security wage base |
To find these files, ProVal will search through the following three directories in the order listed below:
Client directory |
location of the library files for the currently open ProVal client |
User directory |
location of the user’s ProVal configuration file, PROVAL.ini |
System directory |
location of the ProVal application files |
The standard location for these files is the system directory. However, in rare cases, you may wish to override the limits for a particular client. In that case, you can save a revised set of files in the client directory. The file names are reserved. If the files cannot be found in any of those directories, ProVal will use a copy of the last used regulatory data stored in the ProVal client.
Click the Sample Lives button to run selected records and display calculation details to help verify results.
To select records to run as sample lives, you can either:
To process the selected sample lives, click the Run button.