Employee Documents
Employee Document is Smooth HR's per-employee file cabinet. Each record stores one file—passport scan, signed offer letter, certification, or policy acknowledgment—linked to an Employee, classified by Employee Document Type, and optionally tracked with issue/expiry dates, verification status, and confidentiality flags.
Documents enter the system through manual HR upload, onboarding portal uploads, or automatic sync when e-signed PDFs complete on Signature Request or Signature Envelope flows tied to Employee Onboarding.
Help URL: smoothhiring.com/help/hrms/documents-compliance/employee-documents
Table of Contents
- Overview
- Who this is for
- Employee Document vs Employee Compliance
- Desk paths
- Step-by-step: configure document types
- Step-by-step: add a document manually
- Step-by-step: documents from onboarding
- Step-by-step: verify and manage expiry
- Key fields
- Employee Document Type reference
- Scheduled expiry notifications
- Tips
- Troubleshooting
- Related guides
Overview
| Capability | Description |
|---|---|
| Central file storage | One attachment per Employee Document record |
| Typed classification | Employee Document Type with category (Identification, Legal, etc.) |
| Expiry tracking | Issue date, expiry date, 30-day advance notifications |
| Verification workflow | Is Verified, Verified By, Verified On |
| Confidential flag | Mark sensitive files (SSN card, medical) |
| Onboarding sync | Uploads and signed PDFs auto-create/update records when employee linked |
| Naming | Auto: DOC-{employee}-{####} |
Smooth HR ships default Employee Document Type records during setup—Passport, Driver's License, I-9 Form, W-4 Form, Offer Letter, and more—so HR can start filing immediately.
Who this is for
| Role | How they use Employee Document |
|---|---|
| HR Manager | Full create/edit/delete; configure types; verify documents |
| HR User | Upload and update documents; mark verified |
| Employee (ESS) | Read-only access to own documents when role permits |
| Onboarding coordinator | Documents appear automatically after portal upload or e-sign |
Employee Document vs Employee Compliance
| Aspect | Employee Document | Employee Compliance |
|---|---|---|
| Purpose | Store a file | Track completion of a compliance obligation |
| Primary data | PDF/image attachment | Status, dates, I-9/EEO fields |
| Expiry | Per-document expiry date | Compliance type renewal rules |
| Typical examples | Passport scan, resume | I-9 completion, harassment training |
| Link | Optional cross-reference via notes | Verification Document attach field |
Use Employee Document when you need the actual file. Use Employee Compliance when you need structured status tracking and renewal scheduling. Many workflows use both—a compliance record with Verification Document attached.
Desk paths
| Action | Desk path |
|---|---|
| Employee Document list | /app/employee-document |
| New document | /app/employee-document/new-employee-document |
| Open document | /app/employee-document/{doc-id} |
| Filter by employee | List view → filter Employee |
| Document Type setup | /app/employee-document-type |
| Employee profile shortcut | /app/employee/{employee-id} → connections |
| Home workspace link | /app/home → Employee Document (when configured) |
Step-by-step: configure document types
Before filing documents, review Employee Document Type at /app/employee-document-type:
- Add Employee Document Type (or edit defaults).
- Document Type Name — unique label (for example "Work Authorization").
- Category — Identification, Education, Employment, Legal, Medical, Financial, Compliance, Other.
- Is Mandatory for Employment — flag for reporting (does not block hire automatically).
- Has Expiry Date — enable when renewals apply (passport, license).
- Description — guidance for HR uploaders.
Default types installed with Smooth HR include Passport, Driver's License, National ID Card, Work Authorization, Visa, I-9 Form, W-4 Form, Offer Letter, Employment Contract, NDA, Background Check, and education credentials.
Step-by-step: add a document manually
- Go to
/app/employee-document→ Add Employee Document. - Employee (required) — select the worker.
- Document Type (required) — pick from Employee Document Type list.
- Document Name (required) — friendly label (for example "Passport - John Smith").
- Document File (required) — attach PDF, JPG, or PNG.
- Optional: Description, Issue Date, Expiry Date.
- Optional: Notify Before Expiry — check for IDs expiring within 30 days (scheduler emails employee + HR Managers).
- Optional: Is Confidential — sensitive document flag.
- Save.
To verify after review:
- Open the saved record.
- Check Is Verified — Verified By and Verified On populate automatically with current user and timestamp.
Step-by-step: documents from onboarding
When a new hire uploads or e-signs through onboarding:
- Employee Onboarding must have an Employee linked (or resolvable via Job Applicant).
- On portal upload, API
_sync_employee_document_from_onboarding_uploadruns:- Ensures Employee Document Type exists (creates "Other" category if new name).
- Updates existing Employee Document with same employee + document name, or
- Inserts new Employee Document with attachment URL.
- On e-sign completion, signed PDF URL syncs similarly from Signature Request/Envelope onboarding handlers.
HR can review synced files at /app/employee-document filtered by employee.
Step-by-step: verify and manage expiry
Verification pass (recommended after onboarding)
- List Employee Documents for new hire's Employee.
- Open each record; confirm Document File opens correctly.
- Check Is Verified for HR-reviewed items.
- Set Expiry Date on IDs if not copied from upload metadata.
Expiry monitoring
- Enable Notify Before Expiry on expiring document types.
- Daily scheduler
check_expiring_documentsfinds records with expiry between today and +30 days. - Email sent to employee (company or personal email) and all HR Manager users.
- Proactively renew and upload replacement file—or update expiry on renewed document.
Key fields
| Field | Description | Required |
|---|---|---|
| Employee | Link to Employee | Yes |
| Employee Name | Fetched from employee | Read-only |
| Document Type | Link to Employee Document Type | Yes |
| Document Name | Display name for this file | Yes |
| Description | Notes or instructions | No |
| Document File | Attachment | Yes |
| Issue Date | When document was issued | No |
| Expiry Date | When document expires | No |
| Is Verified | HR verification flag | No |
| Verified By | User who verified | Auto |
| Verified On | Verification timestamp | Auto |
| Is Confidential | Sensitive document marker | No |
| Notify Before Expiry | Enable 30-day email alerts | No |
Employee Document Type reference
| Category | Example types (defaults) |
|---|---|
| Identification | Passport, Driver's License, National ID, Social Security Card |
| Legal | Work Authorization, Visa, NDA, Non-Compete |
| Compliance | I-9 Form, Background Check |
| Financial | W-4 Form, Direct Deposit Form |
| Employment | Resume/CV, Offer Letter, Employment Contract |
| Education | High School Diploma, College Degree, Certifications |
| Medical | Drug Test Results |
Configure Has Expiry on types where renewal matters. Is Mandatory for Employment helps HR audits but pair with Employee Compliance for workflow status.
Scheduled expiry notifications
Smooth HR registers check_expiring_documents in scheduler hooks. The job:
- Queries Employee Documents where Notify Before Expiry = 1 and Expiry Date is within the next 30 days.
- Sends email with employee name, document type, document name, expiry date, and days remaining.
- Recipients: employee email (company_email, else personal_email) plus HR Managers.
Ensure employee email fields are populated for employee-facing notifications.
Reporting and list views
Use list view filters on /app/employee-document to audit your workforce file cabinet:
| Filter | Use case |
|---|---|
| Employee | All documents for one person |
| Document Type | Every passport or license company-wide |
| Modified | Recently uploaded onboarding files |
| Is Verified | Items still awaiting HR review |
Export from list view when preparing external audits or merger due diligence. Confidential records remain in desk—ESS read access does not expose Is Confidential files to other employees when permissions are configured correctly.
Tips
- One file per record. Upload separate records for front/back of ID if needed—use clear Document Names.
- Match onboarding document names to Employee Document Type names for cleaner auto-sync.
- Verify after onboarding before marking onboarding complete—catch blurry ID photos early.
- Use Is Confidential for medical and SSN-related uploads; restrict ESS visibility via permissions if needed.
- Set expiry on work authorization even when compliance record also tracks status—document expiry drives notifications.
- Do not delete types in active use—update documents to new type first.
Troubleshooting
| Issue | What to do |
|---|---|
| Document not created from onboarding | Link Employee on onboarding; complete upload/sign |
| Duplicate documents for same name | System updates existing by employee + document_name |
| No expiry notification | Check Notify Before Expiry and expiry within 30 days |
| Employee not emailed | Add company_email or personal_email on Employee |
| Cannot attach file | Check file size limits and allowed extensions |
| ESS user cannot see document | Employee Self Service has read-only; verify permissions |
| Wrong document type | Edit record; types are link fields |
| Verified By empty | Check Is Verified; saves trigger auto-populate |
Related guides
- Documents & Compliance Overview
- Employee Compliance
- Signature Templates
- Employee Onboarding
- Onboarding Portal
- Employee Records
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 |