HRMS + LMS Integration Overview
Smooth HR and Smooth LMS are designed to work together on your Smooth HRMS account. When both products are enabled for your company, HR workflows in the People desk and learning workflows in the Learning workspace share the same User records, Employee master data, and authentication. That shared foundation is what makes auto-provisioning, onboarding training, and compliance handoffs possible without custom scripts or nightly CSV imports.
This guide explains how the two products divide responsibility, where they connect automatically, and which HRMS processes you should configure first. For step-by-step setup of each integration point, use the child pages in this section—especially Employee Auto-Provisioning, Onboarding Mandatory Training, and Compliance vs LMS Certificates.
Help URL: Overview
Smooth HR docs: Getting Started Overview
Table of Contents
- Why install both apps
- Capability map
- Shared identity model
- Automatic integration hooks
- Where HR ends and LMS begins
- Desk and portal navigation
- Recommended rollout sequence
- Roles and permissions
- Reporting across HR and learning
- Troubleshooting
- Related guides
Why install both apps
Most organizations need two different kinds of employee records:
| Need | Best home | Why |
|---|---|---|
| Hiring pipeline, offers, background checks | Smooth HR | Recruitment tracks Job Opening → Applicant → Interview → Offer |
| Pre-boarding tasks, I-9, policy signatures | Smooth HR | Onboarding templates drive Employee Onboarding and the Onboarding Portal |
| Regulatory compliance ledger with renewals | Smooth HR | Employee Compliance + Compliance Type track expiry and scheduled alerts |
| Course library, video lessons, quizzes, SCORM | Smooth LMS | LMS Course with chapters, assessments, and progress tracking |
| Assign training, cohorts, live sessions | Smooth LMS | LMS Enrollment, LMS Batch, Live Classes |
| Performance history | Smooth HR | Performance appraisal cycles and feedback |
Smooth LMS excels at delivery and measurement of learning. Smooth HR excels at people records, compliance status, and lifecycle events. Installing both on one site lets HR create an employee once and immediately grant LMS access, enroll mandatory courses at onboarding, and later attach completion certificates to the HR file.
Without integration, HR would export employee emails, import them into a separate LMS, and manually reconcile completions against Employee Compliance—error-prone and slow. The built-in hooks described in Employee Auto Provisioning and Onboarding Mandatory Training remove that friction.
Capability map
The following table summarizes the official capability split (see also your internal hr-lms-capabilities.md reference):
| Business need | Primary app | How |
|---|---|---|
| Employee certifications + renewal dates | Smooth HR | Employee Compliance + Compliance Type (renewal period, expiry, scheduled alerts) |
| Applicants through hiring | Smooth HR | Recruitment pipeline with resume attach and scoring |
| Onboarding steps & documents → employee | Smooth HR | Onboarding Templates → Employee Onboarding → Create Employee |
| Online training content library | Smooth LMS | LMS Course (chapters, lessons, video/PDF/SCORM, quizzes) |
| Assign training + track progress | Smooth LMS | LMS Enrollment or LMS Batch; LMS Course Progress dashboards |
| Performance reviews + history | Smooth HR | Appraisal Cycle → Appraisal + feedback records |
| Print completed tests as PDF | Smooth LMS | LMS Quiz Submission → Print / Download PDF |
Important distinction: course completion certificates from LMS are separate from HR compliance records until HR explicitly links them. Read Compliance Vs Lms Certificates for the recommended handoff workflow using Employee Documents and Employee Compliance.
Shared identity model
Integration assumes a 1:1 link between Employee and User:
- HR creates or converts a person into an Employee record in Smooth HR (People overview).
- The Employee must have a User ID (
user_idfield) pointing to a user account with login credentials. - When the Employee is saved, Smooth LMS automatically adds the LMS Student role to that User (see Employee Auto Provisioning).
- All LMS enrollments, assignments, quiz submissions, and certificates reference the User email—not the Employee ID directly.
If you create Employees without linked Users—common during data migration—you will not see auto-provisioning until HR completes user creation. The User Roles & Permissions guide explains how HR Manager, HR User, and LMS Student roles interact.
Applicants in Recruitment typically become Users only after offer acceptance and Employee Onboarding. Plan your hiring-to-learning timeline accordingly: learning assignments should start after the Employee record exists with user_id populated.
Automatic integration hooks
Smooth LMS connects to HR records automatically (no custom scripts required on your site):
| HR record | When | LMS action |
|---|---|---|
| Employee | after_insert | Grant LMS Student role on linked User |
| Employee Onboarding | after_insert | Enroll linked employee in all published mandatory courses; create LMS Training Assignment rows with 30-day due dates |
These hooks live in lms.lms.hrms_integration and run with elevated permissions so HR users do not need LMS Moderator access for provisioning.
Manual complements: HR and L&D staff can still assign courses anytime via Assign Training from HR using LMS Training Assignment or desk enrollment tools. Automatic onboarding enrollment does not replace department-specific assignments—it establishes a baseline.
Where HR ends and LMS begins
Think of HR as the system of record for employment and LMS as the system of record for learning activity:
Smooth HR owns
- Organization structure, job history, and tenure (Tenure & Lifecycle)
- Signed policies via Signature Templates and Signing Portal
- Compliance status, renewal dates, I-9/EEO structured fields on Employee Compliance
- Payroll, leave, attendance (Payroll, Leaves, Shift & Attendance)
Smooth LMS owns
- Course authoring, publishing, and SCORM packaging
- Learner progress percentages on LMS Enrollment
- Quiz scores on LMS Quiz Submission (printable via Quiz Submission Report)
- LMS Certificate PDFs for course completion
- Cohort schedules, live class Zoom/Google Meet links, and batch dashboards
When auditors ask "Is this employee compliant with annual harassment training?", answer from Employee Compliance in HR—with the LMS certificate attached as verification. When instructional designers ask "Did the learner pass the quiz?", answer from LMS.
Desk and portal navigation
| Surface | URL | Primary users |
|---|---|---|
| Smooth HR People desk | /desk/people |
HR, managers |
| Documents & Compliance | /app/documents-compliance (when enabled) |
HR compliance |
| Onboarding workspace | /app/employee-onboarding |
HR onboarding coordinators |
| Smooth LMS Learning desk | /desk/learning |
L&D, moderators |
| LMS portal (learner UI) | /lms |
Employees / LMS Students |
| LMS Settings | /app/lms-settings/LMS Settings |
Admins — see LMS Settings — General |
Learners hired through Onboarding Portal may complete HR paperwork and LMS courses in parallel once provisioned. Communicate clearly which tasks live in which portal to reduce "I can't find my training" support tickets.
Optional: enable Make LMS the default home in LMS Settings so frontline workers land on /lms after login while HR staff bookmark /desk/people.
Recommended rollout sequence
Follow this sequence on a staging site before production:
- Company and roles — Company Setup and User Roles & Permissions.
- Compliance types — Define renewal rules in Employee Compliance (Documents & Compliance Overview).
- Onboarding templates — Onboarding Templates with required documents and tasks.
- LMS settings — General LMS Settings: notifications, guest access, employee tab visibility.
- Publish mandatory courses — Mark Is Mandatory on core courses (harassment, safety, IT policy).
- Test hire path — Create a test Employee Onboarding, verify LMS role + enrollments (Onboarding Mandatory Training).
- Compliance handoff — Document how L&D attaches certificates to HR (Compliance Vs Lms Certificates).
- Manager assignments — Train HR on bulk assignment for role changes.
Roles and permissions
| Role | HR access | LMS access | Integration notes |
|---|---|---|---|
| HR Manager | Full People + Compliance | Read team training via APIs | Can use get_team_training_status |
| HR User | Create onboarding, documents | Usually none | Triggers auto-enrollment on onboarding insert |
| Moderator | Optional | Create courses, assign training | Uses assign_mandatory_training |
| LMS Student | ESS only | Take courses | Auto-granted on Employee insert |
| System Manager | All | All | Configure hooks indirectly via app install |
Align HR and L&D on who may mark Employee Compliance Complete versus who publishes LMS courses. Separation of duties prevents learners from self-certifying regulatory items.
Integration with Employee master data
The Employee record in Smooth HR carries fields—Department, Designation, Branch, Reports To—that downstream HR processes use for approvals, payroll, and org charts (People Overview). Auto-provisioning intentionally does not copy those attributes into LMS on insert; LMS enrollments key only on User email. That keeps the hook fast and avoids stale copies when HR later transfers an employee.
If L&D needs department-scoped reporting, use LMS batch cohorts named by department or schedule manual assignments after org placement is final. HR should update Employee master data before assigning compliance-specific training tied to Employee Compliance categories like safety or harassment.
When offboarding (Tenure & Lifecycle), disable the User rather than deleting Employee—LMS historical enrollments and quiz submissions remain for audits while active access stops immediately.
Email and username alignment
User login email usually equals login email in most Smooth HR deployments. LMS LMS Enrollment.member and LMS Training Assignment.employee both link to User, not Employee.name. If HR creates Employees with a work email but the User record uses a personal email from applicant stage, provisioning still runs—but learners may log in with an unexpected address.
Standardize during Recruitment → Employee Onboarding: convert applicant email to corporate email before Create Employee, or update User email with HR approval. Document the rule in your Onboarding Template welcome task.
Coordinating with IT and SSO
Sites using social login or SSO still require a user account linked on Employee. The LMS Student append runs regardless of password vs OAuth login method. Verify SSO JIT provisioning creates User before Employee insert, or insert Employee only after IdP first login—otherwise the hook skips until user_id is populated.
System Managers should exclude Guest and Administrator from bulk LMS Student backfills.
Account health check (support)
If employee emails do not match LMS access, contact Smooth support for an account audit.
employees = frappe.get_all("Employee", filters={"status": "Active"}, fields=["name", "user_id"])
for e in employees:
if not e.user_id: continue
roles = frappe.get_roles(e.user_id)
if "LMS Student" not in roles:
print(e.name, e.user_id)
Fix by appending role or correcting user_id. This is not part of standard product UI—run during migration cutover weekends.
Communication templates for HR
Include in new-hire packets (editable in your template):
- LMS URL:
https://your-site/lms - Login: same credentials as Onboarding Portal
- Support contact: L&D mailbox vs HR helpdesk boundaries
- Mandatory timeline: aligns with default 30-day assignment from Onboarding Mandatory Training
Clear messaging reduces duplicate tickets to HR for training access that auto-provisioning already solved.
Reporting across HR and learning
| Question | Where to look |
|---|---|
| Overdue mandatory assignments | LMS LMS Training Assignment list; LMS Statistics dashboard |
| Compliance expiry in 30 days | HR Employee Compliance list filters |
| Onboarding task completion | HR Employee Onboarding + portal status |
| Course completion rate | LMS Enrollment progress ≥ 100% |
| Quiz evidence | LMS Quiz Submission PDF |
Future enhancement (optional custom hook): auto-create Employee Compliance when LMS Certificate is issued. Today this is a manual or scheduled reconciliation step—document your SOP in Compliance Vs Lms Certificates.
Troubleshooting
| Issue | Likely cause | Resolution |
|---|---|---|
| New hire has no LMS access | Employee missing User ID | Link User on Employee; re-save or run role fix |
| No auto-enrollment at onboarding | No published mandatory courses | Publish courses with Is Mandatory checked |
| Duplicate enrollments | Hook ran twice / manual + auto | Safe to ignore duplicates; LMS skips existing enrollments |
| HR cannot assign training | Missing Moderator role | Update roles |
| Certificate not on HR file | No handoff process | Attach PDF to Employee Document |
Related guides
LMS integration (this section)
- Employee Auto-Provisioning
- Onboarding Mandatory Training
- Compliance vs LMS Certificates
- Assign Training from HR
- LMS Settings — General
- Live Classes Overview
Smooth HR
- Getting Started
- Onboarding Overview
- Documents & Compliance Overview
- Employee Compliance
- People Overview
- Recruitment Overview
- Performance Overview
Last updated: May 2026
Smooth HR (HRMS)
| Guide | Link |
|---|---|
| HR help home | smoothhiring.com/help/hrms |
| Employee records | hrms/people/employee-records |
| Onboarding overview | hrms/onboarding/overview |
| Onboarding templates | hrms/onboarding/onboarding-templates |
| Employee onboarding | hrms/onboarding/employee-onboarding |
| Documents & compliance | hrms/documents-compliance/overview |
| Employee compliance | hrms/documents-compliance/employee-compliance |
| Signature templates | hrms/documents-compliance/signature-templates |