DEV Community

Swift Labs
Swift Labs

Posted on Originally published at w2.deadlinkpatrol.com

W-2 Box 12 Codes TP and TT: What a Payroll Export Needs for Tax Year 2026

If you build or maintain anything that produces W-2 data (a payroll export, an HR tool, a year-end script for a small business), tax year 2026 adds two new Box 12 codes: TP for tips and TT for overtime. Here's what the IRS 2026 General Instructions for Forms W-2 and W-3 say each one holds, and what your data needs to compute them.

Educational, not tax advice. Check the current IRS instructions and a CPA, enrolled agent or payroll provider before you file.

Why the codes exist

Per the IRS instructions, P.L. 119-21 allows individuals a deduction for qualified tips and, for tax years beginning after 2024 and ending before 2029, a deduction of up to $12,500 ($25,000 if married filing jointly) for qualified overtime compensation. Employers report the amounts on the W-2 so workers can figure those deductions.

Code TP: total cash tips reported to the employer

The IRS wording: "Report the total amount of cash tips reported to the employer."

Two things matter for your data model:

  • Mandatory service charges are not qualified tips per the IRS instructions, so they generally stay out of TP. If your system lumps service charges and tips into one earnings type, you'll need to split them.
  • TP comes with an occupation code. When you report TP, you must also list an occupation code in Box 14b. So every employee with a TP amount needs an occupation code stored somewhere.

Code TT: total qualified overtime compensation

Per the IRS, qualified overtime is compensation paid to an individual required under section 7 of the Fair Labor Standards Act (FLSA) that is more than the regular rate at which the individual is employed. The IRS example: "only the 'half' portion of 'time-and-a-half' compensation would be reported using code TT."

For an hourly worker, a working estimate is FLSA overtime hours × regular rate × 0.5:

from decimal import Decimal, ROUND_HALF_UP

def tt_estimate(flsa_ot_hours: Decimal, regular_rate: Decimal) -> Decimal:
    """Premium ("half") portion of FLSA time-and-a-half overtime."""
    return (flsa_ot_hours * regular_rate * Decimal("0.5")).quantize(
        Decimal("0.01"), rounding=ROUND_HALF_UP
    )

# 10 FLSA overtime hours at a $20.00 regular rate -> 100.00 for code TT
print(tt_estimate(Decimal("10"), Decimal("20.00")))
Enter fullscreen mode Exit fullscreen mode

Note what that function needs: overtime hours that were required by FLSA section 7, kept separately. Overtime paid only because of a state rule or a company policy isn't described by that definition, so if your payroll data stores all overtime in one bucket, that's the gap to close. Check with an advisor on edge cases.

The deadline

The due date for filing 2026 Forms W-2 and W-3 with the SSA is February 1, 2027, on paper or electronically. Reconciling TP and TT from the payroll register in December leaves time to fix gaps before forms go out, instead of filing W-2c corrections later.

Checklist for your export

  1. Pull 2026 cash tips reported by each employee, excluding mandatory service charges.
  2. Pull FLSA overtime hours and regular rates, and compute the premium (half) portion.
  3. Make sure every employee with TP has a Box 14b occupation code.
  4. Compare your totals with what the payroll provider will print.

Sources


Originally published on the Swift Labs W-2 guides site. This article was created with the help of AI and checked for accuracy before publishing.

Top comments (0)