When hourly employees clock time to Time Projects, BerniePortal Payroll builds project rows on a regular payroll run. Those rows drive regular pay, overtime rates, and—when piece rates are used—piece counts and average hourly rates. This is separate from the Time setting that decides when hours become overtime (daily or weekly).
Who this is for
Employers, and Payroll Feature Admins who can view salaries, when BerniePortal Payroll and Time and Attendance Projects are in use.
What each setting controls
- Time Projects — Job or cost codes employees select when they clock in. Each project is paid as an Hourly rate or a Piece rate, never both. Setup: Time and Attendance Overall Settings.
- Time overtime calculation — Chooses when hours count as overtime: Weekly basis (40 hours) or Daily basis (8 hours). That setting controls overtime hours, not the overtime rate.
- Overtime Factor — Multiplier on the employee's profile (for example 1.5). Payroll multiplies this factor by the rate base used for overtime.
- Minimum wage protection — Subgroup toggle (Time and BerniePortal Payroll). When on, if the pay-period average project hourly rate is less than the employee’s regular hourly rate, payroll uses the regular hourly rate instead. See Time and Attendance Subgroup Settings.
Hourly vs piece-rate projects
Project rows are built for hourly employees only. Salaried employees stay on salary and do not get project rows, piece pay, or minimum wage protection.
For each Hourly rate project in the pay period:
- Hours = clocked time on that project
- Rate = employee-specific project rate when one exists, otherwise the employee’s hourly compensation
For each Piece rate project in the pay period:
- Pieces = number of clock-ins on that project (one clock-in counts as one piece)
- Earnings = pieces × piece rate (employee-specific rate when one exists, otherwise the project default)
- Hours = clocked time on that project
- Average hourly rate = earnings ÷ hours
Variable and the hours modal
On the Configure screen of a regular payroll run:
- Compensation shows Variable when the employee has more than one hourly project row, or when the employee has any piece-rate project (including only one).
- A single hourly project still shows the editable hourly amount plus the hours control.
- Hourly employees with no projects keep today’s compensation and hours fields and do not get an hours control for projects.
Open the hours control to review project breakdown:
- Hourly-only periods show Project name, Rate, and Hours.
- When any piece-rate project is present, the modal shows Project name, Pay type, Rate, Pieces, Hours, and Avg hourly rate. Hourly rows in that same modal show a dash for pieces and use the hourly rate as the average. Select I'm done to close.
Edits in the payroll modal apply to that payroll run only. They do not change Time project setup.
How the weighted average works
On a regular (not one-off) payroll run, when an employee has one or more project rows with hours, BerniePortal calculates a weighted average hourly rate from those project rates (for piece-rate rows, the average hourly rate from pieces and hours).
(rate × hours for each project), added together, then divided by total project hours.
That weighted average becomes the base for the overtime rate when minimum wage protection does not raise pay to the regular hourly rate:
Overtime rate = Overtime Factor × weighted average rate
If the employee has no project rows on the run, payroll uses the employee's regular compensation rate instead.
Example
An employee works 20 hours on Project A at $20.00 and 20 hours on Project B at $30.00:
- Weighted average = ((20 × $20.00) + (20 × $30.00)) ÷ 40 = $25.00
- If the Overtime Factor is 1.5, overtime rate = 1.5 × $25.00 = $37.50
Minimum wage protection
Protection off: Grid earnings use the real project totals. The hours modal total average is the blended project average. Overtime follows the weighted average of project rates.
Protection on: After project rows are built, payroll compares the pay-period average project hourly rate to the employee’s regular hourly rate. If the average is lower, payroll pays the regular hourly rate for those hours instead of the raw project dollars, and the overtime rate uses the Overtime Factor times the regular hourly rate. The Configure screen shows: Pay averaged less than the regular hourly rate for one or more employees this pay period. Their regular hourly rate will be used instead. Affected rows are flagged. The hours modal explains that Minimum wage protection is on and shows both rates, with the protected rate as the total average.
PTO is not included in the average used for protection.
When the weighted average does not apply
- One-off payroll runs — Overtime rate uses the employee's regular compensation rate, not the project weighted average.
- No project rows — Overtime rate uses the employee's regular compensation rate.
- Salaried employees — No project rows; salary pay is unchanged.