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

  1. 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.
  2. 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.
  3. 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).
  4. Compute each week. Regular rate = (straight-time pay + includable pay) ÷ hours worked; code TT = hours over 40 × ½ × regular rate (FS-2026-13, Q12, Q15).
  5. Total by pay date for 2026 and by provider (FS-2026-13, Q3).
  6. 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

TopicWhat Halfmark doesBasis
Underpaid overtime is flagged, not reportedWhen 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 centsEach 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 startWorkweeks 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 toA 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 weekStraight-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 payAutomatic: 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 allocationA 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 dataWeeks 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 harborThe $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 tipsCode 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 suggestionCodes 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 codedThe 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 filesEmployees 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

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