Job Applicant
Job Applicant stores candidate records in Smooth HR recruitment. In ERPNext HRMS (and Smooth HR), the document name is the applicant email (email_id) — autoname sets self.name = self.email_id. This makes email the unique key for portals, messaging, and deduplication.
Help URL: https://smoothhiring.com/help/hrms/recruitment/job-applicant
Table of contents
- Overview
- Naming by email
- Desk paths
- Creating applicants
- Status workflow
- Email and careers portal
- Linking interviews and offers
- Common mistakes
- Troubleshooting
Overview
| Field | Purpose |
|---|---|
| email_id | Primary contact; becomes document name |
| applicant_name | Display name; guessed from email if blank |
| job_title | From Job Opening |
| status | Open, Replied, Hold, Accepted, Rejected |
| source | Job Applicant Source for analytics |
Smooth HR runs on Frappe v16. Module sidebars (People, Recruitment, Expenses, Performance, Tenure, NextAI) appear after login. DocType lists use /app/{slug}; workspace homes use /desk/{module}.
Naming by email
When you save a Job Applicant, Smooth HR validates email_id and uses it as the document ID. Example: jane.doe@example.com is both email and record name.
Implications:
- Cannot create two applicants with the same email.
- Search applicants by email in Awesome Bar.
- Email append-to may create applicants from inbound mail if configured.
If applicant_name is empty, the system may guess from the local part of the email.
Desk paths
| Action | Path |
|---|---|
| List | /app/job-applicant |
| Form | /app/job-applicant/{email} |
| Recruitment home | /desk/recruitment |
Creating applicants
From Job Opening
Candidates apply on the public careers page linked to Job Opening — Smooth HR creates Job Applicant automatically.
Manual entry
- Recruitment → Job Applicant → Add.
- Enter unique email_id, applicant_name, link Job Opening.
- Set Source for reporting.
- Save.
Status workflow
stateDiagram-v2
Open --> Replied
Open --> Hold
Replied --> Hold
Hold --> Open
Open --> Accepted
Open --> Rejected
Replied --> Accepted
Replied --> Rejected
Job Offer acceptance sets applicant to Accepted; rejection sets Rejected.
Email and careers portal
Job Applicant uses email_id as sender field for communications. Ensure HR Settings hiring sender is configured for outbound mail.
Linking interviews and offers
- Create Interview from applicant or link Job Applicant field.
- One active Job Offer per applicant (validation on offer save).
- Accepted offer → Create Employee.
Common mistakes
| Mistake | Fix |
|---|---|
| Shared email for couple | Use unique emails per candidate |
| Wrong opening linked | Edit job opening before interviews |
| Typo in email | Rename is hard — cancel and recreate |
| Status not updated after offer | Submit offer; check on_change hooks |
Troubleshooting
| Issue | Fix |
|---|---|
| Duplicate applicant error | Search existing email |
| Applicant not from website | Check opening published and route |
| Name shows email only | Fill applicant_name |
Sourcing and compliance
Track Job Applicant Source for channel ROI. Import historical applicants via Data Import using email as name column.
For GDPR, define retention: reject old applicants and anonymize if policy requires.
Frequently asked questions
Can I change applicant email?
Document name is email — create new record if email was wrong.
How does phone search work?
Search fields include phone_number on list filter.
Related guides
Additional operational detail
Smooth HR v16 organizes HR into module workspaces accessible from the desktop app switcher. Each module sidebar mirrors production fixtures in the HRMS app: People at /desk/people, Recruitment at /desk/recruitment, Expenses at /desk/expenses, Performance at /desk/performance, Tenure at /desk/tenure, and NextAI at /desk/nextai. DocType routes follow /app/{slug} where slug is the lowercased DocType with spaces replaced by hyphens.
HR Managers configure masters and approvals; HR Users run daily transactions; Employees interact through self-service when User records link to Employee and roles permit; System Managers own site configuration including NextAI API credentials. Before go-live, validate Role Permissions Manager entries for each DocType mentioned in this guide.
When migrating from spreadsheets, import Company and Department before Employee, then recruitment and expense histories. Use Data Import templates and fix validation errors row-by-row rather than bulk-deleting partial loads. Clear desk cache after fixture updates so sidebars reflect the latest Smooth HR layout.
For payroll-adjacent HR data, keep Employee company and department aligned with cost centers. For recruitment, remember Job Applicant documents use email as the primary key. For expenses, settle Employee Advance balances on Expense Claim submission. For performance, run Appraisal Cycle to batch-create Appraisal records. For tenure, complete Employee Separation projects before deactivating employees. For NextAI, store Gemini or OpenAI keys only in NextAI Settings and review usage logs before retention cleanup runs.
Additional operational detail
Smooth HR v16 organizes HR into module workspaces accessible from the desktop app switcher. Each module sidebar mirrors production fixtures in the HRMS app: People at /desk/people, Recruitment at /desk/recruitment, Expenses at /desk/expenses, Performance at /desk/performance, Tenure at /desk/tenure, and NextAI at /desk/nextai. DocType routes follow /app/{slug} where slug is the lowercased DocType with spaces replaced by hyphens.
HR Managers configure masters and approvals; HR Users run daily transactions; Employees interact through self-service when User records link to Employee and roles permit; System Managers own site configuration including NextAI API credentials. Before go-live, validate Role Permissions Manager entries for each DocType mentioned in this guide.
When migrating from spreadsheets, import Company and Department before Employee, then recruitment and expense histories. Use Data Import templates and fix validation errors row-by-row rather than bulk-deleting partial loads. Clear desk cache after fixture updates so sidebars reflect the latest Smooth HR layout.
For payroll-adjacent HR data, keep Employee company and department aligned with cost centers. For recruitment, remember Job Applicant documents use email as the primary key. For expenses, settle Employee Advance balances on Expense Claim submission. For performance, run Appraisal Cycle to batch-create Appraisal records. For tenure, complete Employee Separation projects before deactivating employees. For NextAI, store Gemini or OpenAI keys only in NextAI Settings and review usage logs before retention cleanup runs.
Last updated: May 2026
Additional operational detail
Smooth HR v16 organizes HR into module workspaces accessible from the desktop app switcher. Each module sidebar mirrors production fixtures in the HRMS app: People at /desk/people, Recruitment at /desk/recruitment, Expenses at /desk/expenses, Performance at /desk/performance, Tenure at /desk/tenure, and NextAI at /desk/nextai. DocType routes follow /app/{slug} where slug is the lowercased DocType with spaces replaced by hyphens.
HR Managers configure masters and approvals; HR Users run daily transactions; Employees interact through self-service when User records link to Employee and roles permit; System Managers own site configuration including NextAI API credentials. Before go-live, validate Role Permissions Manager entries for each DocType mentioned in this guide.
When migrating from spreadsheets, import Company and Department before Employee, then recruitment and expense histories. Use Data Import templates and fix validation errors row-by-row rather than bulk-deleting partial loads. Clear desk cache after fixture updates so sidebars reflect the latest Smooth HR layout.
For payroll-adjacent HR data, keep Employee company and department aligned with cost centers. For recruitment, remember Job Applicant documents use email as the primary key. For expenses, settle Employee Advance balances on Expense Claim submission. For performance, run Appraisal Cycle to batch-create Appraisal records. For tenure, complete Employee Separation projects before deactivating employees. For NextAI, store Gemini or OpenAI keys only in NextAI Settings and review usage logs before retention cleanup runs.