{
  "rulesChecked": "2026-10-19",
  "units": "USD; hours",
  "cases": [
    {
      "kind": "pay",
      "name": "$12/h, 46 hours",
      "input": {
        "rate": 12,
        "hours": 46
      },
      "expect": {
        "total": 588
      },
      "source": "29 CFR 778.110(a)",
      "result": {
        "total": 588,
        "regularRate": 12,
        "hours15": 6,
        "hours2": 0,
        "flsaQualified": 36
      }
    },
    {
      "kind": "pay",
      "name": "$12/h, 46 hours, $46 production bonus",
      "input": {
        "rate": 12,
        "hours": 46,
        "bonus": 46
      },
      "expect": {
        "total": 637
      },
      "source": "29 CFR 778.110(b) (calaborlaw.com gives $643: counts the bonus twice)",
      "result": {
        "total": 637,
        "regularRate": 13,
        "hours15": 6,
        "hours2": 0,
        "flsaQualified": 39
      }
    },
    {
      "kind": "pay",
      "name": "$20/h, 50 hours: qualified overtime for the deduction",
      "input": {
        "rate": 20,
        "hours": 50
      },
      "expect": {
        "total": 1100,
        "flsaQualified": 100
      },
      "source": "IRS FS-2026-13 Q16; goodcalculators.com and omnicalculator.com match the pay",
      "result": {
        "total": 1100,
        "regularRate": 20,
        "hours15": 10,
        "hours2": 0,
        "flsaQualified": 100
      }
    },
    {
      "kind": "pay",
      "name": "Two rates: 30 h at $10 + 15 h at $15",
      "input": {
        "rate": 10,
        "hours": 45,
        "hoursAt2": 15,
        "rate2": 15
      },
      "expect": {
        "total": 554.17,
        "flsaQualified": 29.17
      },
      "source": "29 CFR 778.115 (weighted average)",
      "result": {
        "total": 554.17,
        "regularRate": 11.67,
        "hours15": 5,
        "hours2": 0,
        "flsaQualified": 29.17
      }
    },
    {
      "kind": "pay",
      "name": "California, four 12-hour days",
      "input": {
        "rate": 20,
        "days": [
          12,
          12,
          12,
          12
        ],
        "state": "CA"
      },
      "expect": {
        "hours15": 16,
        "hours2": 0,
        "flsaQualified": 80
      },
      "source": "Cal. Labor Code 510; DLSE AB 60 guidance (no weekly overtime)",
      "result": {
        "total": 1120,
        "regularRate": 20,
        "hours15": 16,
        "hours2": 0,
        "flsaQualified": 80
      }
    },
    {
      "kind": "pay",
      "name": "California, 10-10-10-10-12 at $24/h",
      "input": {
        "rate": 24,
        "days": [
          10,
          10,
          10,
          10,
          12
        ],
        "state": "CA"
      },
      "expect": {
        "total": 1392,
        "hours15": 12,
        "flsaQualified": 144
      },
      "source": "Cal. Labor Code 510(a); 29 USC 207(a); calaborlaw.com matches",
      "result": {
        "total": 1392,
        "regularRate": 24,
        "hours15": 12,
        "hours2": 0,
        "flsaQualified": 144
      }
    },
    {
      "kind": "pay",
      "name": "California, one 14-hour day",
      "input": {
        "rate": 20,
        "days": [
          14
        ],
        "state": "CA"
      },
      "expect": {
        "hours15": 4,
        "hours2": 2,
        "total": 360
      },
      "source": "Cal. Labor Code 510(a)",
      "result": {
        "total": 360,
        "regularRate": 20,
        "hours15": 4,
        "hours2": 2,
        "flsaQualified": 0
      }
    },
    {
      "kind": "pay",
      "name": "California, 7th consecutive day of 10 hours",
      "input": {
        "rate": 20,
        "days": [
          8,
          8,
          8,
          8,
          8,
          8,
          10
        ],
        "state": "CA"
      },
      "expect": {
        "hours15": 16,
        "hours2": 2
      },
      "source": "Cal. Labor Code 510(a)",
      "result": {
        "total": 1360,
        "regularRate": 20,
        "hours15": 16,
        "hours2": 2,
        "flsaQualified": 180
      }
    },
    {
      "kind": "pay",
      "name": "Nevada, 10-hour day at $17.99 vs $18.00",
      "input": {
        "rate": 17.99,
        "days": [
          10
        ],
        "state": "NV"
      },
      "expect": {
        "hours15": 2
      },
      "source": "DOL state table (NRS 608.018)",
      "result": {
        "total": 197.89,
        "regularRate": 17.99,
        "hours15": 2,
        "hours2": 0,
        "flsaQualified": 0
      }
    },
    {
      "kind": "pay",
      "name": "Kentucky, seven 6-hour days (42 h)",
      "input": {
        "rate": 20,
        "days": [
          6,
          6,
          6,
          6,
          6,
          6,
          6
        ],
        "state": "KY"
      },
      "expect": {
        "hours15": 6
      },
      "source": "KRS 337.050(1), (2)(a)",
      "result": {
        "total": 900,
        "regularRate": 20,
        "hours15": 6,
        "hours2": 0,
        "flsaQualified": 20
      }
    },
    {
      "kind": "ded",
      "name": "Overtime, $5,000 qualified, MAGI $60,000",
      "which": "overtime",
      "amount": 5000,
      "magi": 60000,
      "filing": "single",
      "year": 2025,
      "expect": 5000,
      "source": "IRC 225; notaxovertimecalculator.com matches",
      "result": {
        "deduction": 5000,
        "capped": 5000,
        "reduction": 0
      }
    },
    {
      "kind": "ded",
      "name": "Overtime, $5,000 qualified, MAGI $175,500",
      "which": "overtime",
      "amount": 5000,
      "magi": 175500,
      "filing": "single",
      "year": 2025,
      "expect": 2500,
      "source": "Schedule 1-A line 19: \"decrease 1.5 to 1\". Competitors differ: notaxovertimecalculator $2,400, jupid and clockspot $2,450",
      "result": {
        "deduction": 2500,
        "capped": 5000,
        "reduction": 2500
      }
    },
    {
      "kind": "ded",
      "name": "Overtime, $30,000 qualified, joint",
      "which": "overtime",
      "amount": 30000,
      "magi": 120000,
      "filing": "mfj",
      "year": 2026,
      "expect": 25000,
      "source": "IRC 225(b)(1)",
      "result": {
        "deduction": 25000,
        "capped": 25000,
        "reduction": 0
      }
    },
    {
      "kind": "ded",
      "name": "Overtime, married filing separately",
      "which": "overtime",
      "amount": 5000,
      "magi": 50000,
      "filing": "mfs",
      "year": 2026,
      "expect": 0,
      "source": "IRC 225(e)",
      "result": {
        "deduction": 0,
        "capped": 0,
        "reduction": 0
      }
    },
    {
      "kind": "ded",
      "name": "Tips, $40,000, joint return",
      "which": "tips",
      "amount": 40000,
      "magi": 90000,
      "filing": "mfj",
      "year": 2026,
      "expect": 25000,
      "source": "IRC 224(b)(1); TD 10044 ($25,000 per return)",
      "result": {
        "deduction": 25000,
        "capped": 25000,
        "reduction": 0
      }
    },
    {
      "kind": "ded",
      "name": "Tips, tax year 2029",
      "which": "tips",
      "amount": 10000,
      "magi": 50000,
      "filing": "single",
      "year": 2029,
      "expect": 0,
      "source": "IRC 224(h)",
      "result": {
        "deduction": 0,
        "capped": 0,
        "reduction": 0
      }
    }
  ]
}