Enrolment: Course completed enrolment

Maintained by RenaatRenaat Debleu
Enrol users upon completion of a course.
1385 sites
77 fans
Current versions available: 6

With this plugin it is possible to create a chain of courses. After completion of a course, the student is automatically enrolled in one or more other courses. But it is also possible to give a user another role in the same course when he/she completes the course.


As a teacher go to the course in which students will be enrolled in the future.  Navigate to Course Administration > Users > Enrollment Methods and add the Course Completed Enrollment method. Fill in the role - duration - start date - end date, and search for the course that needs to be completed.  Save your changes and do an extra check if course completion is enabled and working in the required course.

There is a nice and simple explanation by Mary Cooch how to use this plugin.

Course completion is something else than doing all activities, read the docs on https://docs.moodle.org/en/Using_Course_completion first!

Sample use

  • If you want to enroll users in course2 after they complete course1, you have to add the enrolment method to course2 and choose course1 as the course parameter.
  • If you want to enroll users in course2 and course3 after they complete course1, you have to add the enrolment method to course2 and course3, with course1 as the course parameter.
  • If you want to enroll users in course3 after they complete course1 OR course2,  you have to add 2 instances to course3, one with course1 as requirement, one with course2 as requirement.
  • If you want to enroll users in course 3 after they complete course1 AND course2,  you can add the enrolment method to course3 and choose course2 as the course parameter. Add in course2 the completion of course1 (course completion - Condition: Completion of other courses) as a course completion requirement.
  • If you want to give a user a new role in a course1, add the enrolment method to course1, choose course1 as the course parameter and pick the new role for the participant.


  • Administrators can bulk modify and delete users (works only when 1 instance is installed MDL-66652).
  • When a user is part of a group in the first course, the user can also be part of the group with the same name in the second course.


  • copy the content of the package into the enrol/coursecompleted directory under the root of Moodle.
  • log in as administrator and complete the installation
  • enable the plugin under Settings, Site administration, Plugins, Enrolments
  • configure the default settings for this enrolment method when it is added to a course

Read the Plugin installation guide for complete steps about installing a new plugin in Moodle.

travis Coverage Status


Screenshot #0
Screenshot #1
Screenshot #2


Renaat Debleu (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of Craig Theunissen
    Mon, Oct 5, 2020, 5:42 PM
    Hi Renaat

    Can this plugin be used in conjunction with enrolment keys?
    i.e. for a course X with an enrolment key requirement, also require course Y completion as additional requirement?

  • Renaat
    Mon, Oct 5, 2020, 8:57 PM
    Hi Craig,

    in the world of enrolments there is no such thing as a AND condition, it is always OR: if you have a ticket you get in, there is never someone who checks if you have 2 or more tickets at the door. A student can access a course: because he/she completed another course OR he/she received an enrolment key OR he/she paid OR he/she was manually enrolled OR ....

    Why not create a resource that shows the enrolment key of the next course under certain conditions (completed the course AND grade > 80 AND part of group C )?

  • Picture of Craig Theunissen
    Tue, Oct 6, 2020, 2:45 PM
    Hi Renaat

    Thanks for the suggestion, will take a look at that.

  • Picture of Emilio Zaidman
    Mon, Oct 26, 2020, 10:52 PM
    Hi! I´ve tried the plugin and works as it should. Great work! Really helpful. Just one question though: when a student tries to enroll in the second course, the system says "You will be enrolled in this course when you complete course" (and that´s perfectly fine!). My question is: is there a way to change it to spanish? Just asking because we have a lot of students, most of them don´t read/speak English. Thanks in advance, and thanks for the work you´ve done!
  • Renaat
    Mon, Oct 26, 2020, 11:36 PM
    Hi Emilio,

    you can translate the string with id "willbeenrolled" from the enrol_coursecompleted plugin using language customisaton (https://docs.moodle.org/39/en/Language_customisation).

    But of course, you can also help with the translation of this plugin on the Moodle translation site (https://lang.moodle.org), then your work will be available for all spanish users and you will earn some translation credits.

  • Picture of Emilio Zaidman
    Tue, Oct 27, 2020, 11:05 AM
    Didn't know it! Thanks R! I'll take a look and do it. Really appreciated! Best!
  • Picture of Emilio Zaidman
    Wed, Oct 28, 2020, 3:01 AM
    Done Renaat! I completed about 80% to the spanish version. Hope it's as helpful as the plugin was for me!
  • Renaat
    Thu, Oct 29, 2020, 4:17 PM
    Gracias Emilio, intentaré arreglar la parte restante.
  • Picture of Sergio Renato Aldana Alvarez
    Wed, Nov 4, 2020, 10:48 PM
    How can I massively activate the course enrollment that has expired?
  • Renaat
    Thu, Nov 5, 2020, 2:08 AM
    Sorry Sergio,

    I do not understand your queston. Can you explain your question - by steps - by comparing the behaviour in other enrolment plugins - ....

  • Picture of Sergio Renato Aldana Alvarez
    Sat, Nov 7, 2020, 12:07 AM
    Please go to participants list.
    At the very bottom of the page clic on "Select all participants"
    Click on the drowpdown list "on selected users"
    Select "edit enrollment of the selected users"
    You will get: User "xxxxxx" was removed from the selection.
    I want to extend enrollment to users with auto enroll method.
  • Renaat
    Sat, Nov 7, 2020, 12:53 AM
    Hello Sergio,

    I created issue [#20](https://github.com/ewallah/moodle-enrol_coursecompleted/issues/20) in the tracker.

  • Picture of Sergio Renato Aldana Alvarez
    Sat, Nov 7, 2020, 4:05 AM
    Thanks! another question: Enrollment of users who completed previous courses does not work

    version 3.6+ 2019070406
  • Renaat
    Sat, Nov 7, 2020, 6:03 PM
    Bug fixes for general core bugs in 3.6.x ended 11 November 2019 - bug fixes for security issues in 3.6.x ended 11 May 2020.
  • Picture of Jose Reyes
    Thu, Nov 12, 2020, 4:58 AM
    Is there a way to require multiple course completions before registering the user in a new course? The order in which the user completes the courses is not important so that's why a chain would not really work.
1 2 3 4 5 6
Please login to post comments