Home › Guides › How Halfmark calculates: method, choices and limits
How Halfmark calculates: method, choices and limits
Last reviewed October 6, 2026, against FS-2026-13 (August 2026) and the 2026 W-2/W-3 instructions.
Halfmark recomputes code TT from the payroll registers and hours you import, workweek by workweek, and compares it with what your payroll provider shows. Here is exactly what it does.
General information, not tax or legal advice. The employer remains responsible for its Forms W-2. IRS FAQs are not binding law. Check your facts with a CPA or your payroll provider. Halfmark is not affiliated with the IRS.
Steps
- Read files. Payroll registers (one row per paycheck or one row per earning line), hours worked (daily or weekly) and optional provider year-to-date totals. Columns are matched by header names; you can change every mapping.
- Place pay in workweeks. Hours come from the hours file when there is one. Straight-time pay for a pay period longer than a week is split over its workweeks by hours worked. The straight-time part of overtime pay is separated from the premium.
- Allocate includable pay. Non-discretionary bonuses, commissions, shift differentials, service charges paid to employees and the tip credit are added to the weeks they cover (29 CFR 778.209).
- Compute each week. Regular rate = (straight-time pay + includable pay) ÷ hours worked; code TT = hours over 40 × ½ × regular rate (FS-2026-13, Q12, Q15).
- Total by pay date for 2026 and by provider (FS-2026-13, Q3).
- Compare with the overtime premium actually paid (flags underpayment), with the provider's code TT (difference, adjustment values, W-2c candidates) and with the provider's code TP / box 14b.
Choices Halfmark makes
| Topic | What Halfmark does | Basis |
|---|---|---|
| Underpaid overtime is flagged, not reported | When the overtime premium in the register is less than the FLSA formula (often a bonus left out of the regular rate), Halfmark shows the formula amount but blocks the adjustment. Code TT reports qualified overtime compensation paid; the shortfall should be settled with the employer and provider first. | FS-2026-13 Q10, Q12, Q21 |
| Weekly totals are rounded to cents | Each workweek's amount is rounded to the cent before adding up the year. Year totals can differ by a few cents from a computation that rounds only at the end. | Halfmark convention |
| Workweek start | Workweeks start at 12:00 a.m. on the day you choose; hours are taken from the hours file by work date. Overnight shifts must be split by the time clock. | FS-2026-13 Q13; 29 CFR 778.105 |
| Which pay period a week belongs to | A workweek is assigned to the pay date of the pay period that contains the last day of the week. Weekly overtime for a week that straddles two pay periods is usually paid with the later period. | 29 CFR 778.106 |
| Pay periods longer than a week | Straight-time pay of a biweekly or semimonthly period is spread over its workweeks in proportion to the hours worked in each week (from the hours file). Premium pay is checked per pay date, not per week. | FS-2026-13 Q13 (no averaging of hours); Halfmark convention for splitting pay |
| Straight-time part of overtime pay | Automatic: uses the single regular hourly rate in the same pay period when there is one; otherwise overtime pay ÷ (hours × multiplier). The extra part above straight time is the premium (excluded from the regular rate and creditable). | 29 USC 207(e)(5)-(7), 207(h); 29 CFR 778.202 |
| Bonus allocation | A bonus covering several weeks is spread over the weeks with hours inside its period (the pay period, or the "earned from/to" columns): equal amount per week worked, or per hour, as you choose. The extra overtime from it counts on the bonus pay date. | 29 CFR 778.209; FS-2026-13 Q3 |
| Weeks without pay in the data | Weeks in the hours file outside the pay periods in the registers are not counted (overtime counts when paid). Weeks inside the range with no pay are flagged. | FS-2026-13 Q3 |
| De minimis safe harbor | The $100 note is shown only when you mark Forms W-2 as already furnished or filed. Before filing, differences should simply be fixed. | 2026 W-2/W-3 instructions, Penalties; Treas. Reg. 301.6721-1(d) |
| Code TP includes all reported cash tips | Code TP is the total of cash, charged and tip-share tips reported, including tips in nonqualifying (000) occupations. Service charges, allocated tips and non-cash tips are kept out. | 2026 W-2/W-3 instructions, code TP; 26 CFR 1.224-1(c) |
| Box 14b suggestion | Codes are suggested by tip amount: 000 first if any tips were nonqualifying, then the largest qualifying occupation(s). The instructions allow any two. | 2026 W-2/W-3 instructions, box 14b |
| SSTB status is flagged, not coded | The 2026 W-2 instructions do not describe an SSTB indicator on Form W-2. If you mark the employer as an SSTB (or unsure), tips are flagged for review; code TP is unchanged. | T.D. 10044; 2026 W-2/W-3 instructions |
| Matching people across files | Employees are matched by name, ignoring word order and punctuation ("Lopez, Maria" = "Maria Lopez"). Two IDs with the same name are flagged. | Halfmark convention |
What Halfmark does not do
- It does not decide FLSA coverage, exemptions, worker classification or ownership. You set each employee's status.
- It does not compute salaried nonexempt employees (fluctuating workweek and similar), 207(j)/(k)/(o) plans or federal employees.
- It does not prepare, issue or e-file Forms W-2 or W-2c, and it doesn't connect to any payroll provider.
- It has not verified any payroll provider's export format; presets are guesses based on common column names.
- It only sees the pay and hours in your files.
Testing
The calculation engine has an automated test suite of worked examples (bonus weeks, multiple rates, California daily overtime and double time, a mid-year provider switch, tips in several occupations including 000), each checked against a hand calculation of the IRS formula. Tests show the code does what is described here; they don't guarantee your result. Review it.
Your data
Files are read and calculated in your browser tab. Payroll data is not uploaded to Halfmark or anyone else. See the privacy policy.
Check your payroll data against these rules: import registers and hours, recompute code TT per workweek, and compare with your provider. Runs in your browser; payroll data is not uploaded.
Open the worksheet