DC Contribution Definitions
A DC Contribution Definition contains information about a specific employer match or non-elective contribution included in the plan. The Contribution Definition determines who is eligible and how much the contribution is. The parameters found in a Contribution Definition are as follows:
Name is a description of the Contribution Definition.
Type of Contribution Definition determines whether the contribution is either a “Match” or a “Non-elective” contribution. This choice affects the parameters available, as well as how the contribution will be handled in the calculations.
A Match type will specify the contributions an employer is expected to make, typically as a fraction of employee deferrals. In a Match type, you may select the kinds of deferrals the match will Apply to. All checked deferrals will be used in the Contribution Formula.
A Non-elective type will specify the non-elective contributions an employer is expected to make, typically as a fraction of compensation.
Each Contribution Definition will allow you to select a definition of the First day and Last day. The defaults are the Start and the End of the Plan year, as defined on the main screen of the DC Allocation. Optionally, a custom date maybe entered. If needed, you may specify the Other date, which can be any date necessary. All three of these dates are then accessible if needed in eligibility criteria and age and service measurements within the Contribution Definition.
The next two sections of the Contribution Definition dialog box are grouped into frames that generally can be expanded or compressed by a click on the arrow to the left of the section’s heading.
Eligibility
The Eligibility section for a Contribution Definition has three different sets of conditions:
In a Match type Contribution Definition, #1 and #2 above must be met by a record to be eligible for a contribution, and all three must be met for a True-up. In a Non-elective type, all three must be met for a contribution.
If the Selection expression is blank, all records are considered eligible for the contribution. To specify specific records eligible to receive the contribution, enter a Selection expression, e.g., a database expression that selects records according to the values in a database field or fields. Alternatively, you may retrieve a previously saved Selection Expression by clicking the button. Only records that meet the selection criteria of the database expression will receive the contribution.
Entering Criteria in the grid allows you to specify Age, Service, and Points (age + service) requirements for eligibility. Using parameters in the Method button, you can use Exact or Attained age and service, choose to measure them at First day, Last day, or Other date, choose to Freeze age (and/or service) at termination, and provide a numeric Service override field to bypass calculation of service. Note that exact age (or service) is calculated as (Year2 - Year1) + (Month2 - Month1)/12 + (Day2 - Day1)/365.25. For service (but not age) calculations, ProVal adds one day to the end date so that, for example, 1/1/2021 to 12/31/2021 is exactly 1 year.
If a non-elective contribution (or a true-up for a match) has additional requirements beyond the Selection expression and Criteria, you may enter them in the Add’l criteria (for true-up) grid. To add additional criteria, click the New button and select the appropriate eligibility conditions. There are no limits to the number of criteria selected. To change a criterion, double click on the row or highlight the row and click the Edit button. Entries on the same row are interpreted as having “and” between the requirements. Separate rows are interpreted as having “or” between them. If a non-elective contribution (or a true-up for a match) has no additional requirements beyond the Selection expression and Criteria, you may uncheck the Add’l criteria (for true-up) box.
Each Add'l condition can have one or more of a Coded field and Field label, a maximum Date of hire, a minimum Date of termination, and a minimum number of hours. For example, if only those members employed on the first and last days of the plan year are eligible for a contribution, you might set up two conditions to cover both active and currently terminated members:
Contribution Formula
The next section of the Contribution Definition is the Contribution Formula and can be entered as Simple parameters in a structured layout, or as a Formula. Note that for both options, calculated values will be subject to limits checked off in the Limits to apply section of the Regulatory Data topic of Contribution Calculations.
Simple parameters
The Simple parameters provide a fast, structured way of entering the contribution formula. Simple contribution formulas can be entered here as an alternative to writing a formula expression.
Select what the formula is Based on from “Percent of compensation”, “Age”, “Service”, or “Points”. If Age, Service or Points is selected, the Method button gives some control over the measurement of time. You can use Exact or Attained age and service, choose to measure them at First day, Last day, or Other date, choose to Freeze age (and/or service) at termination, and provide a numeric Service override field to bypass calculation of service. Note that exact age (or service) is calculated as (Year2 - Year1) + (Month2 - Month1)/12 + (Day2 - Day1)/365.25. For service (but not age) calculations, ProVal adds one day to the end date so that, for example, 1/1/2021 to 12/31/2021 is exactly 1 year.
If the formula is Integrated, check the Integrated box then select the integration point: either Social Security Wage Base (SSWB) or Dollar amount. Enter the contribution formula into the grid. The first two columns, From and To, will appear in the grid, and rows appear according to the “breakdown” of your Based on selection entry.
For example, a Basic safe harbor match formula (100% of deferrals for the first 3% of eligible compensation plus 50% of deferrals for the next 2% of eligible compensation) will be Based on “Percent of compensation” with three rows as follows:
An example of an Enhanced safe harbor match formula (100% of deferrals up to 4% of eligible compensation) will be Based on “Percent of compensation” with two rows as follows:
An example of a QACA minimum match safe harbor formula (100% of deferrals for the first 1% of eligible compensation plus 50% of deferrals for the next 5% of eligible compensation) will be Based on “Percent of compensation” with three rows as follows:
Another example is a non-elective formula Based on “Age” having different percentages of Compensation depending on the amount above and below the Social Security Wage Base will have a grid as follows:
Checking the Dollar limit box and entering an amount applies an annual dollar limit to each Contribution Definition. Rounding of the simple parameters will default to 2 decimals. You can alternately select 0 or 4 from the Round to decimals drop down.
Formula
A Formula expression gives you freedom to enter contribution formulas that may be more complex than what can be coded using the Simple parameters. The expression can reference database fields as well as a wide range of operators from regulatory limits and DC Formula Operators to arithmetic, date, and other Expression Operators. To see a full list of what is available, place your cursor in the expression box and hit the F1 key.
When entering formulas, be mindful of ProVal’s order of operations. ProVal evaluates expressions from left to right, with no hierarchy among operators. For example, ProVal would calculate 1+2*3 to be 9, not 7. You may use parentheses, brackets, or braces within your expressions to control the order of operations.
An example of the Basic safe harbor match formula (100% of deferrals for the first 3% of eligible compensation plus 50% of deferrals for the next 2% of eligible compensation) formula is shown below. (Note that this could more easily have been entered using Simple parameters, but is shown here for comparison.) Here, the #DEFERRALS operator is used instead of the sum of deferral fields from the database because the operator limits the deferrals to the 402(g) and 414(v) limits if applicable. Similarly, #SALARY is capped at the 401(a)(17) limit.