Keeping employment practice inside the rules with a working system: FLSA exempt versus nonexempt classification worksheets, overtime and regular rate math, employee versus contractor scoring under the IRS, DOL, and state ABC tests, FLSA record checklists and retention dates, Form I-9 and E-Verify timelines, and a dated self-audit routine that catches drift before a regulator does. Use when classifying a role or a worker, checking overtime pay, auditing payroll or I-9 files, onboarding in the United States, or reviewing a contractor engagement.
name: employment_compliance description: "Keeping employment practice inside the rules with a working system: FLSA exempt versus nonexempt classification worksheets, overtime and regular rate math, employee versus contractor scoring under the IRS, DOL, and state ABC tests, FLSA record checklists and retention dates, Form I-9 and E-Verify timelines, and a dated self-audit routine that catches drift before a regulator does. Use when classifying a role or a worker, checking overtime pay, auditing payroll or I-9 files, onboarding in the United States, or reviewing a contractor engagement."
Employment Compliance
Purpose
Run employment compliance as a set of dated worksheets and checks, not as a set of opinions about job titles. This skill decides the two classification questions on their own tests, does the overtime math on the real regular rate, keeps the records the Fair Labor Standards Act and Form I-9 actually require, and repeats the whole check on a set cadence so drift shows up in a self-audit before it shows up in an investigation. Federal rules are the floor in this skill. State law is stricter in many places, and the workflow forces a state check at every decision point.
This skill gives a compliance system, not legal advice. Close cases, back pay settlements, and any willful exposure go to employment counsel. The job here is to spot the issue early, stop it growing, and hand counsel a clean file.
Workflow
- Fix the scope and the date. Record the work states, the worker count, and the date of the check. Classification rules have moved repeatedly in recent years, most recently on the contractor test and the salary levels. Pull the current Department of Labor salary level, the current Wage and Hour Division contractor guidance, and each work state threshold and test on the day of the check, and note the source and date on the worksheet. A correct answer from last year can be wrong today.
- Separate the two classification questions and answer them in order. First, employee or contractor. Second, for employees only, exempt or nonexempt. Never let one answer stand in for the other, and never classify by title, pay method, or what the worker asked for. A worker preference for contractor status has no weight in any of the tests.
- Score every contractor engagement on all three tests, separately. Use
scripts/compliance.py contractor and references/classification-tests.md.
- IRS common law test: behavioral control, financial control, relationship of the parties.
- DOL economic reality test: profit or loss, investments, permanence, control, integral part of the business, skill and initiative, weighed together.
- State ABC test where the work state uses one: all three prongs must pass, and the hiring entity carries the burden. Vote each factor from evidence, not from the contract label. Mixed signals mean employee treatment by default, or a documented legal review before contractor treatment starts. File the worksheet with the agreement.
bash
python3 scripts/compliance.py contractor --behavioral-control employee --financial-control contractor --relationship employee --profit-loss employee --investments contractor --permanence employee --control employee --integral employee --skill-initiative contractor --abc-applies --abc-a fail --abc-b fail --abc-c pass
- Run the exemption worksheet for every role claimed as exempt, per person in the role. Use
scripts/compliance.py exempt. The federal bar at the time of writing is 684 dollars per week on a salary or fee basis plus the full duties test for the category, or the highly compensated route in the reference file. All tests must pass at once. Check the state level right after the federal one, because the higher of the two controls the pay decision. Re-run the worksheet when duties change, not just when pay changes.
bash
python3 scripts/compliance.py exempt --category executive --weekly-pay 950 --pay-basis salary --manages --directs-two --hire-fire-weight
python3 scripts/compliance.py exempt --category administrative --weekly-pay 520 --pay-basis salary
The second call fails on salary and on duties. That is the normal finding in a first audit, and it is cheaper to find it here than in a claim.
- Get the pay mechanics right for every nonexempt worker. Hours worked means all time suffered or permitted, including early starts, work through breaks, and work at home. Overtime is 1.5 times the regular rate for hours past 40 in a single workweek, with no averaging across weeks. Compute the regular rate from total pay for the week, including nondiscretionary bonuses and differentials, divided by total hours. Use the tool for the standard patterns and spread periodic bonuses back over the weeks they were earned in.
bash
python3 scripts/compliance.py overtime --mode hourly --rate 20 --hours 46
python3 scripts/compliance.py overtime --mode salary --weekly-salary 800 --hours 50
- Check the records against the required list, not against habit. Work through the record list in
references/records-and-authorisation.md: identity, workweek start, hours per day and per week, pay basis, regular rate, straight time and overtime earnings, additions and deductions, totals per pay period, and payment dates. Keep payroll records 3 years and wage computation records 2 years, or longer where another rule requires it. Date every file with the tool.
bash
python3 scripts/compliance.py retention --kind flsa --hire-date 2024-01-01 --record-date 2026-03-15
- Run work authorisation as a timed process, not a filing task. Section 1 on or before day one, Section 2 within 3 business days after the employer examines the documents the employee chose, one from List A or one each from Lists B and C. Never specify a document and never ask for extra documents. Diary every authorisation end date for Supplement B reverification. Where E-Verify applies, create the case no later than the third business day after the start date, handle a mismatch by the written notice route, and take no adverse action while a case is open. Full steps, the remote examination procedure, and retention math are in
references/records-and-authorisation.md.
bash
python3 scripts/compliance.py retention --kind i9 --hire-date 2024-01-01 --termination-date 2025-02-01
- Run the self-audit on a set cadence and work the flags in risk order. Quarterly for classification and pay, and at every trigger event: a new role, a reorganisation, a pay change, a new work state, a contractor engagement passing six months, or a rule change. Build the roster file in the shape of
references/example-roster.csv, run the audit, then sample the source records behind a slice of the clean rows before trusting them.
bash
python3 scripts/compliance.py audit --input references/example-roster.csv
Fix order: wrong classification first, because exposure grows each pay period, then missing or late I-9 forms, then record gaps. Correct going forward at once. For past underpayment, take advice on back pay before paying or promising anything, and never edit time or pay records to hide the gap. Correct openly, with the correction dated and signed.
- Close with a dated compliance note. List what was checked, which rules and levels were applied with their sources and dates, every flag found, the fix and owner for each flag, and the next audit date. Store worksheets, rosters, and notes with the records they describe.
Output Contract
Deliver, for a classification question, a pay check, or a full audit:
- The scope block: work states, date of check, and the federal and state rules applied, each with its source and the date it was pulled.
- One worksheet per worker or role, showing each test, the evidence behind each answer, and the verdict. Separate verdicts per test for contractor scoring, because the tests can disagree.
- The pay math for any overtime finding: hours, total pay in the rate, regular rate, overtime hours, and gross or amount short, per workweek.
- The records checklist with each required item marked present, missing, or wrong, and the retention or purge date for each file checked.
- The authorisation timeline for any hire checked: Section 1 date, Section 2 date, document lists used, E-Verify case state where it applies, reverification diary date, and I-9 keep until date.
- The flag list in risk order, each flag with an owner, a fix, and a fix date, plus the next scheduled audit date.
- A plain statement of what was not checked, such as a work state left out of scope or records that were sampled rather than read in full.
Operating Rules
- Facts decide, labels do not. Titles, contract wording, pay method, and worker preference are evidence at most. Control, duties, pay level, and economic reality decide.
- Keep the tests separate. IRS, DOL, and state ABC tests serve different laws. A pass on one never cures a fail on another, and an exemption worksheet never answers the contractor question.
- Default to the safer classification when the facts are mixed. Nonexempt over exempt, employee over contractor, while a close case is reviewed. The cost of the safer error is small and one way. The cost of the other error is back pay, doubled damages in many cases, tax exposure, and fees.
- Never dock an exempt salary outside the narrow permitted deductions, never average hours across workweeks, and never let a bonus sit outside the regular rate.
- Never specify an I-9 document, demand extra documents, run E-Verify before hire, or take adverse action on an open mismatch. Each of those is a violation on its own, separate from the worker status.
- Never backdate, silently rewrite, or tidy up a record. Corrections are open, dated, and signed. A messy honest record defends. A clean rewritten one does not.
- Date and source every number. Salary levels, hourly alternatives, and retention periods in this skill were verified in October 2026. Re-verify before relying on them after any rule change, and say so on the worksheet when a figure could not be re-verified.
- Escalate at once, and stop the clock from growing where you can, when the audit finds: a whole role misclassified, any worker paid below minimum wage, missing I-9 forms for current staff, a contractor doing core work full time on site, or any sign a past error was known and left alone. Known and left alone is what turns a two year look back into a three year one.
No ratings yet — be the first to rate it.