to select ↑↓ to navigate
Smooth HR

Smooth HR

Employee Compliance

Employee Compliance tracks mandatory regulatory and policy obligations for each Employee: I-9 employment eligibility, EEO voluntary self-identification, safety and harassment training, background checks, work authorization renewals, and custom items defined in Compliance Type.

Unlike Employee Document—which stores files—Employee Compliance records status, completion dates, renewal schedules, structured I-9/EEO fields, and optional verification attachments. Scheduled jobs warn HR before expiry and mark stale records Expired.

Help URL: smoothhiring.com/help/hrms/documents-compliance/employee-compliance


Table of Contents

  1. Overview
  2. Who this is for
  3. Compliance Type setup
  4. Desk paths
  5. Step-by-step: create compliance record
  6. Step-by-step: I-9 tracking
  7. Step-by-step: EEO voluntary data
  8. Step-by-step: renewals and expiry
  9. Status lifecycle
  10. Key fields
  11. Scheduled jobs
  12. Tips
  13. Troubleshooting
  14. Related guides

Overview

Capability Description
Typed obligations Compliance Type defines category, mandatory flag, renewal rules
Status tracking Pending → In Progress → Complete (or Expired / Non-Compliant)
I-9 sections Section 1/2/3 completion checkboxes; List A/B/C document fields
EEO fields Voluntary race, gender, veteran, disability self-ID
Verification Attach proof document; Verified By / Verified On on Complete
Auto renewal date Next Renewal Date from Compliance Type renewal period
Scheduler alerts HR emailed 30 days before expiry on Complete records
Naming Auto: COMP-{employee}-{compliance_type}-{####}

Employee Compliance complements e-signatures: a signed I-9 PDF may live in Employee Document while the structured I-9 workflow lives here.


Who this is for

Role How they use Employee Compliance
HR Manager Configure types; create records; verify completion; monitor expiry
HR User Update status; enter I-9/EEO data; attach verification docs
Compliance officer List views filtered by status/category; audit renewals
Payroll / legal Confirm work authorization and tax compliance before start date

Employee Self Service typically does not edit compliance records—employees provide data through onboarding portal sections instead.


Compliance Type setup

Configure master data at /app/compliance-type before creating employee records:

Field Purpose
Compliance Name Unique name (for example "I-9 Form", "Harassment Training 2026")
Category Work Authorization, Tax Compliance, Background Check, Safety Training, Harassment Training, Data Privacy, EEO Reporting, Other
Is Mandatory Default flag for new hires
Requires Renewal Enable for recurring training or reverification
Renewal Period (Months) Used to calculate Next Renewal Date from completion
Description Rich text instructions for HR
Applicable Countries / States Optional geographic scope notes

Create types that mirror your handbook: annual harassment training, OSHA safety orientation, background check clearance, I-9, EEO survey, etc.


Desk paths

Action Desk path
Employee Compliance list /app/employee-compliance
New record /app/employee-compliance/new-employee-compliance
Open record /app/employee-compliance/{record-id}
Compliance Type list /app/compliance-type
Filter by status List view → Status filter
Employee context /app/employee/{employee-id}

Step-by-step: create compliance record

  1. Navigate to /app/employee-complianceAdd Employee Compliance.
  2. Employee (required) — select worker.
  3. Compliance Type (required) — pick configured type; Category fetches automatically.
  4. Status — start at Pending or In Progress.
  5. As work progresses:
    • Set Completion Date when requirement satisfied.
    • Attach Verification Document (certificate PDF, background report).
    • Enter Document Reference Number if external ID exists.
  6. When fully satisfied, set Status = Complete.
    • Verified By and Verified On auto-populate on save if empty.
  7. Set Expiry Date when compliance time-limits apply (work authorization end date, training validity).
  8. Next Renewal Date may auto-calculate when Requires Renewal is set on Compliance Type and Completion Date is entered.

Step-by-step: I-9 tracking

For Compliance Type names containing "I-9", the form reveals I-9 Form Details:

Section 1 — Employee completes

  1. Employee completes Section 1 on paper, PDF, or e-sign outside this form.
  2. HR checks Section 1 Complete (Employee) when attestation received.
  3. Record List A document or List B + List C combinations in text fields:
    • List A Document — single document proving identity and authorization
    • List B Document — identity document
    • List C Document — employment authorization document

Section 2 — Employer completes within 3 business days

  1. HR physically examines documents (or uses authorized remote procedure per your policy).
  2. Check Section 2 Complete (Employer).
  3. Attach copy of completed I-9 as Verification Document if stored digitally.
  4. Set Status = Complete with Completion Date.

Section 3 — Reverification

When work authorization expires:

  1. Check Section 3 Complete (Reverification) after new documents examined.
  2. Update Expiry Date and List A/B/C fields.
  3. Create follow-up Employee Compliance or renew same record per your SOP.

Pair with Employee Document rows for scanned List A/B/C images.


Step-by-step: EEO voluntary data

For EEO-related Compliance Types, the EEO Information (Voluntary) section appears:

Field Options include
Race/Ethnicity Hispanic or Latino, White, Black or African American, Asian, etc.; Decline to Self-Identify
Gender Male, Female, Non-Binary, Decline to Self-Identify
Veteran Status Protected veteran, Not protected veteran, Decline
Disability Status Yes, No, Decline

Data is voluntary under federal EEO guidelines. Store only what employees provide through onboarding or HR intake. Use Notes for collection method (portal section, paper form date).

Set Status = Complete when survey recorded. EEO data typically has no expiry unless your reporting cycle requires annual re-collection—configure Compliance Type renewal if needed.


Step-by-step: renewals and expiry

  1. On Complete records with Expiry Date, monitor list view sorted by expiry.
  2. Scheduler check_expiring_compliance emails HR Managers when expiry is within 30 days (Complete status only).
  3. Scheduler mark_expired_compliance daily sets Expired when Expiry Date < today and status was Complete.
  4. To renew:
    • Create new Employee Compliance or revert status to In Progress
    • Complete training / reverification
    • Update Completion Date; system recalculates Next Renewal Date from Compliance Type Renewal Period (Months)
    • Set new Expiry Date

Status lifecycle

Status When to use
Pending Requirement identified; no work started
In Progress Collection or verification underway
Complete Obligation satisfied; dates and verification captured
Expired Past expiry (auto or manual)
Non-Compliant Failed or missing mandatory item

Validation on save:

  • Past Expiry Date forces Expired status via check_expiry.
  • Complete without verified user auto-fills Verified By / Verified On.

Key fields

Field Description
Employee / Employee Name Worker link and display name
Compliance Type / Category Obligation type and fetched category
Status Pending / In Progress / Complete / Expired / Non-Compliant
Completion Date When requirement was met
Expiry Date When compliance validity ends
Next Renewal Date Auto from type renewal period + completion
Document Reference Number External ID (case number, certificate ID)
Verification Document Proof attachment
Verified By / Verified On HR attestation
I-9 section checkboxes Sections 1, 2, 3 completion
List A / B / C Document I-9 document description text
EEO fields Voluntary demographic self-ID
Notes Free-text HR notes

Scheduled jobs

Registered in hrms/hooks.py:

Method Schedule Action
check_expiring_compliance Daily Email HR Managers 30 days before expiry (Complete records)
mark_expired_compliance Daily SQL update: Complete + past expiry → Expired

Ensure HR Manager role users have valid email addresses to receive alerts.


Tips

  • Create Compliance Types before hire batch so HR uses consistent names in reports.
  • Use In Progress during background check pending—avoid marking Complete until clear.
  • Separate I-9 document scans from I-9 compliance record—file scans in Employee Document; track sections here.
  • Set Expiry Date on work authorization compliance even when Employee Document also tracks visa PDF.
  • Requires Renewal + Renewal Period automates Next Renewal Date—reduces manual calendar tracking.
  • Non-Compliant status flags exceptions for management review without deleting history.
  • Notes field documents who collected EEO data and when—for audit responses.

Troubleshooting

Issue What to do
I-9 section not visible Compliance Type name should include "I-9"
EEO section not visible Compliance Type name should include "EEO"
Next Renewal Date blank Set Completion Date; enable Requires Renewal on type
Status flipped to Expired Expiry Date in past; update date or renew
No expiry email to HR Record must be Complete; expiry within 30 days
Verified By empty on Complete Re-save with Complete status; auto-fills current user
Duplicate compliance rows Filter by employee + type; merge manually if needed
Category wrong Category fetches from Compliance Type—edit type master


Last updated: May 2026


Smooth LMS (training)

Guide Link
LMS help home smoothhiring.com/help/lms
HRMS + LMS overview lms/hrms-integration/overview
Auto-provision LMS access lms/hrms-integration/employee-auto-provisioning
Onboarding mandatory training lms/hrms-integration/onboarding-mandatory-training
Compliance vs certificates lms/hrms-integration/compliance-vs-lms-certificates
Mandatory courses lms/courses/mandatory-training-and-validity
Course categories (folders) lms/courses/categories-and-tags
Last updated 1 week ago
Was this helpful?
Thanks!