A build-to-order Frappe app that wires Frappe LMS into ERPNext HR so new hires auto-enroll into role-based learning paths, and completions, certificates and quiz scores flow straight back onto the Employee record. ECOSIRE scopes, builds, installs and supports it — this is not an instant download. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $249.00 USD; request a quote for a scoped proposal.

A build-to-order Frappe app that wires Frappe LMS into ERPNext HR so new hires auto-enroll into role-based learning paths, and completions, certificates and quiz scores flow straight back onto the Employee record. ECOSIRE scopes, builds, installs and supports it — this is not an instant download.
ابھی کوئی ادائیگی نہیں۔ یہ ہماری ٹیم کو قیمت کی درخواست بھیجتا ہے — ہم قیمت اور اگلے اقدامات کے ساتھ ای میل کے ذریعے رابطہ کریں گے۔
Most teams running ERPNext HR hit the same wall: the Employee lifecycle lives in ERPNext, but the actual learning lives somewhere else. ERPNext has an Employee Onboarding DocType with an activity checklist, and Frappe LMS is a capable course/quiz platform, but out of the box the two do not talk. So a new hire is created in ERPNext, and then someone manually creates an LMS account, manually assigns the right courses, and manually chases completion in a spreadsheet. Compliance training (safety, data-protection, code-of-conduct) has no audit trail on the employee record, certificates are PDFs in an email folder, and nobody can answer "which of our people are current on which mandatory training?" without a manual reconciliation. ERPNext native Training Event / Training Result covers instructor-led sessions but has no bridge to self-paced LMS courses, quiz scoring, or auto-enrolment.
Role-based `Learning Path` DocType mapping Designation/Department/Employment Type to an ordered set of Frappe LMS courses with due-date offsets
Auto-enrolment via `hooks.py` `doc_events` on `Employee` after_insert and `Employee Onboarding` on_submit — new hires get their courses with zero manual assignment
`Employee LMS Enrollment` DocType tracking assignment, due date, state (Not Started / In Progress / Completed / Overdue) and pass/fail per learner
Server-side quiz and assessment score sync from LMS `Quiz Submission` back onto a child table on the `Employee` record, checked against a configurable pass threshold
Compliance-training register with re-certification intervals and automatic certificate linkage on the employee record for audit
Certificate issuance and storage as a `File` attached to the enrolment, with a print-format certificate template
We build a dedicated Frappe app — a proper installable module with its own hooks.py, DocTypes and permissions — that closes that gap. At its core is a Learning Path DocType (role-based, mapping a Designation, Department or Employment Type to an ordered set of LMS Courses) and an Employee LMS Enrollment DocType that records every assignment, its due date, and its state. On Employee creation and on Employee Onboarding submit, a hooks.py doc_events handler resolves the new hire's role, matches the applicable Learning Paths, and creates the corresponding LMS Enrollment records in Frappe LMS via server-side calls — no manual enrolment. When a learner finishes a course or a quiz in LMS, a doc event on the LMS Course Enrollment / Quiz Submission writes the result back: completion date, score, pass/fail against the path's threshold, and a link to the generated certificate, all posted onto a child table on the Employee record so HR sees it inline.
Technically it is built the way a Frappe app should be. Business rules that must never be bypassed (auto-enrol, score sync, certificate issue) run as server scripts / whitelisted Python methods with frappe.has_permission checks, not as client scripts that a user could skip. Client Scripts handle the in-form UX — a "Training status" panel on the Employee form, a "re-sync enrolments" button. A scheduler_events daily job sweeps for overdue and soon-to-expire compliance training (annual re-certification) and raises ToDos / notifications to the employee and their manager. Everything is reachable over the Frappe REST API and versioned whitelisted endpoints, so your LMS front-end, an external HRIS, or a Power BI report can read enrolment and completion state without touching the database directly. Role Profiles and permission rules keep L&D admins, managers and employees each seeing only what they should. It targets Frappe/ERPNext v15 and the v16 line.
Because this is build-to-order, nothing ships until we agree what you actually need. It starts with a scoping call where we map your roles to learning paths, your compliance matrix, and how your LMS is hosted (same bench, separate site, or Frappe Cloud). We build against your version on a staging site, you run UAT, and then we install into production with a rollback plan. Typical delivery is 2–4 weeks from confirmed scope depending on how many role paths and compliance rules are in play. You receive the full source, the git repository, install and configuration docs, a training session, and a post-go-live support window — the app is yours, not a black box.
Owns the learning program and needs onboarding and compliance courses assigned automatically the moment a hire is created in ERPNext, with a single dashboard showing completion rates and who is overdue — instead of reconciling LMS exports against an employee spreadsheet.
Runs the ERPNext HR module and wants onboarding, training status, quiz scores and certificates visible directly on the Employee record, so the training history is part of the employee lifecycle and audit-ready, not scattered across email and the LMS.
Responsible for mandatory training (safety, data-protection, industry regulation) and needs proof: who is certified, when it expires, and automatic re-certification reminders, with certificates attached to each employee for inspection or audit.
Maintains the Frappe bench and self-hosted or Frappe Cloud sites, and wants a clean installable app with real DocTypes, hooks and whitelisted APIs — not database hacks — that upgrades cleanly across Frappe v15/v16 and hands over as source they control.
Buy the license on ecosire.com and download the Employee Onboarding & Training (LMS Bridge) app ZIP from your account dashboard.
Extract the ZIP into your bench's apps folder, or run `bench get-app` with the path to the extracted app.
Run `bench --site SITE_NAME install-app APP_NAME` followed by `bench migrate` to install Employee Onboarding & Training (LMS Bridge) and apply its schema.
Open the ECOSIRE License settings on your site and activate your license key. Requires the free ecosire_connect and ecosire_license_client apps.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| LMS auto-enrolment on new hire | Server-side hooks.py doc_events auto-enrol by role, idempotent | Possible but you design and maintain the hook logic yourself | Usually manual assignment or a generic sync, rarely role-based | |
| Quiz/score sync to Employee record | Scores and pass/fail written back to a child table on Employee | Buildable, needs your own DocType and event design | Often one-way or LMS-only, no ERPNext Employee link | |
| Compliance re-certification tracking | Register with intervals + daily scheduler flags overdue/expiring | You build and test the scheduler and reminder logic | Basic expiry at best, rarely tied to ERPNext employee | |
| Fit to your roles and compliance matrix | Scoped to your paths and rules before build | Fully yours, but full spec/build burden on your team | Fixed feature set — you adapt to it | |
| Source code and ownership | Full source + private git repo handed to you | You own it, and you own all the effort | Often licensed/closed, upgrade at vendor's pace | |
| API access for dashboards/BI | Whitelisted REST methods for enrolment/completion state | You expose and secure your own endpoints | Varies; may lack ERPNext-side endpoints | |
| Delivery model | Build-to-order: scope → staging build → UAT → install, 2–4 weeks | Weeks to months depending on in-house capacity | Instant install but generic; customization extra | |
| Support after go-live | Post-go-live support window + optional ongoing engagement | Self-supported unless you contract help | Vendor support tiers, feature roadmap not yours to steer |
This is a build-to-order app, not an instant download. Typical delivery is 2–4 weeks from confirmed scope, depending on how many role-based learning paths, compliance rules and integrations you need. It begins with a short scoping call, then build on staging, UAT, and production install with a rollback plan.
You get the full source and a private git repository handed over to your organization. It is a standard installable Frappe app with its own DocTypes, hooks.py and whitelisted methods — nothing obfuscated, no black box. You are free to maintain or extend it yourself afterward.
We build and test against Frappe/ERPNext v15 and the v16 line, targeting whichever version your bench runs. After go-live you have a support window for defect fixes on the delivered scope. Version upgrades, new features or additional learning paths beyond the agreed scope are handled as a follow-on engagement.
Yes, the bridge is built for Frappe LMS. It works whether LMS runs on the same bench as ERPNext, on a separate Frappe site, or on Frappe Cloud — we confirm your topology in scoping and build the enrolment and sync integration to match. Non-Frappe LMS platforms are possible but out of the standard scope and would be quoted separately.
A `hooks.py` `doc_events` handler fires on `Employee` creation and `Employee Onboarding` submit. It resolves the hire's Designation/Department/Employment Type, matches the applicable `Learning Path` records, and creates the corresponding LMS enrolments server-side via whitelisted methods. The logic is idempotent, so re-syncs or scope changes never create duplicate enrolments.
When a learner completes a course or quiz in LMS, a server-side doc event writes the result back — completion date, score, pass/fail against the path's threshold, and the certificate file — onto a child table on the ERPNext `Employee` record. HR sees the full training history inline, and a daily scheduler job flags overdue or expiring compliance training.
A scoping call (15–45 minutes) where we map your roles to learning paths, your compliance/re-certification matrix, your ERPNext and LMS versions, and how they're hosted. From that we confirm scope, timeline and price before any build begins.
A build-to-order Frappe app that wires Frappe LMS into ERPNext HR so new hires auto-enroll into role-based learning paths, and completions, certificates and quiz scores flow straight back onto the Employee record. ECOSIRE scopes, builds, installs and supports it — this is not an instant download.