Activities: Accredible Certificates and Badges

Maintained by Accredible Logo Accredible Inc, Picture of David King David King
Accredible lets you issue digital certificates, open badges, or Blockchain credentials from your Moodle instance. They are a feature-rich replacement for the PDF certificates normally generated for your courses.
170 sites
48 fans

The Accredible platform lets you automatically create, manage, and distribute digital certificates or open badges directly from your Moodle instance.

Digital certificates and badges help maximize the value from your training or certification program.

Accredible credential on mobile and desktop views

Not Just a PDF

Create amazing certificate designs with complete control over the design and branding.  Or alternatively, create digital badge designs with our badge designer to recognize your learners' achievements. 

Certificate design editor in use

Digital certificates and badges are more secure than PDFs - their authenticity can be verified at any time on their own unique URL. They are more accessible and share-able via social media, directing interested viewers back towards your learners' achievements and your course information. Track recipient engagement to see shares, additional traffic to your webpage. And, still allow students to save and print a PDF for their wall at home.

Issue them automatically based on activity completion or final grade in Moodle and update their appearance at any time afterwards.

View an example certificate and badge:

Getting Started

  1. You will first need an Accredible account. You can sign up for a free trial at
  2. Add the plugin to your mod folder from here, or from the repo on Github.
  3. Set up a certificate/badge activity on the course you've chosen.

For detailed setup instructions, please view our documentation here:

This setup video shows how to set up and install the plugin 


  • Full-featured Certificate designer and Badge Designer
  • OpenBadge compliant
  • Engagement Analytics dashboard
  • Update certificates with additional information, or design at any time
  • Attractive recipient view displays collection of recipient's credentials
  • Manually or Automatically email students upon completion criteria

View an overview of the badge and certificate features of this Moodle plugin, or all Accredible features.

Contact accredible at if you have any questions or ideas for improvements.


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4
Screenshot #5
Screenshot #6
Screenshot #7
Screenshot #8
Screenshot #9


Accredible Logo
Accredible Inc (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of Rex Lorenzo
    Thu, 20 Nov 2014, 7:44 AM
    The code looks solid and you have great documentation and images to showcase your plugin. I found some minor uses of hard-coded english language strings that should be fixed:

    view.php (alt text) and index.php (h3 tag)

    Also, do you know about the Moodle html_writer (

    I would also add consider adding in help text for the activity chooser to explain what this modules does.
  • Picture of David Mudrák
    Fri, 21 Nov 2014, 6:42 AM
    Thanks Ryan for sharing this module with the Moodle community. I agree with Rex, this look really promising and I am sure you will
    make a lot of Moodle users happy. There are some small issues I spotted while reviewing this.

    There is no logging support in your plugin, neither the legacy one nor the new one. There seems to be a forgotten copy&pasted
    fragment of the code in classes/event/course_module_viewed.php that refers to the `mod_certificate` namespace and `certificate`
    database table. Please see and implement the full logging support for
    your module (or at least remove these invalid event classes).

    Attempting to load all enrolled users via SQL like yours in mod_form is not the correct way. Having 'roleid=5' may easily fail, the
    query does not respect enrolment status and there might be alternative ways to enrol users. Moodle provides an API for this - see

    The function accredible_get_issued() in lib.php on line 160 does not check it has valid $result so may lead to "Trying to get
    property of non-object" if the communication with your API fails for whatever reason. Consequently, you don't check $certificates
    returned by accredible_get_issued() is a valid array in view.php, leading to another PHP warning.

    Your lib.php does not implement the full activity module interface and on contrary, it defines functions that are internal ones
    implementing your plugin logic. It is preferred to put all your own functions into a separate file locallib.php and include it only
    when really needed (by your action scripts like view.php). The files lib.php are loaded from all plugins at all page request so
    having unnecessary functions defined there is suboptimal.

    Your plugin's description claims to "certificates can be issued manually or automatically emailed to students upon completion of the
    course." However, at the moment I can see just hard-coded support for attempted Quizes (that are referred to as Exams in your UI
    which may be quite confusing). The observing "course completion" does not seem to be present. Am I missing something?

    Please note, there is a policy on not using capital letters in the English language pack in Moodle. To achieve consistency with the
    standard Moodle installation, you may want to remove them (e.g. the plugin name itself) and eventually (once this module is
    approved) reintroduce them in the US English language pack via There are multiple hard-coded English strings like
    Rex already mentioned, including the headings in the view.php.

    Note that `$DB->get_record()` has support for MUST_EXIST flag that is preferred over calling print_error() on false returned.

    The capability mod/accredible:printteacher does not seem to be used at all.

    For now, I am going to mark this plugin as needing more work until we get these issues resolved. Thanks for your patience with the
    review and approval process.
  • Picture of David Mudrák
    Fri, 21 Nov 2014, 6:49 AM
    (forgot to say there are hardcoded table names like `mdl_user` which will again fail on sites using different or none table name prefix)
  • Accredible Logo
    Sat, 22 Nov 2014, 3:25 AM
    This feedback is great. Thank you for pointing me to the right places.

    Sending an update ASAP.
  • Accredible Logo
    Sat, 29 Nov 2014, 9:13 AM
    Thank you David and Rex for all the feedback. I’ve tried to address all of the points you brought up, so I’ll go through them one by one:

    html_writer - I think I’ve successfully removed all raw html and replaced it with the html_writer. Thanks for directing me to that.

    EN language tags - I’ve removed all the capitals except when referring to the proper noun Accredible. I hope that’s okay. I also added a lot more tags to fill in the hard-coded strings you guys pointed out, and removed the unnecessary ones left over from mod_certificate.

    logging support - thanks a ton for emphasizing logs. I’ve added logging for new certificates and I think having that in there will be a big help. I removed the old code from mod_certificate.

    enrolment API - again, thanks for the link David. There’s a lot to take in when you start Moodle dev, but these are great APIs once you have them.

    lib.php - I separated the majority of the functions into locallib.php. I’m not sure which functions I was missing in lib.php; there are only 3 listed here (

    function MODNAME_add_instance($post);
    function MODNAME_update_instance($post);
    function MODNAME_delete_instance($id);

    course completion tracking - this new version includes another auto-issue criteria based on quiz attempts. This was requested by one of the alpha users we have, and was the feature I was referring to (got ahead of myself). I would have preferred to use Course Completion Tracking, but that’s not really the same thing they were looking for, and it looks like this page on Course Completion ( is about an ongoing project in that area. Looking forward to that in later releases.

    DB->get_record - removed the print_errors and subbed in the MUST_EXIST flag. Thanks.

    Removed the print teacher capability (a remnant of mod_certificate).

    Lastly, I added moodle_exceptions when there is a possibility of missing API results like you suggested. The one thing I really couldn’t figure out was why my error messages aren’t showing up. This is the syntax I used:

    throw new moodle_exception('manualadderror:add', 'accredible', '', $user_id, var_dump($post));

    and I added a lang/en/error.php file like the main Moodle branch.

    Hope that addresses everything, and thanks again for the concise and helpful feedback! We’re excited to get this listed ASAP.

    - Ryan Booth
  • Picture of Andrew Jack
    Thu, 11 Feb 2016, 3:43 AM
    Hi Ryan

    Should this work with Moodle 3.02? When installing the plugin I am getting issues from the plugin manager - it's advising there are dependencies on assignment upload which is not available? This is a completely clean version of Moodle 3.02.

    Any guidance appreciated!

  • Accredible Logo
    Tue, 23 Feb 2016, 7:12 AM
    Hi Andrew!
    I just tried a clean 3.0.2-1 installation and didn't have any issues.
    I'll follow up with a private message and hopefully we can debug it.

  • Picture of Chris Moberly
    Thu, 30 Jun 2016, 3:39 PM
    Hi Ryan,

    You guys over at Accredible are awesome. I see this plugin is even cooler now, as it can access the fancy certificates I've already created using design templates. This is going to make life easier for me. Thank you very much for putting this together and sharing the code with the community!!!

    Note: I'm on Moodle 3.0.4+ (Build: 20160623) with pre-existing Accredible cohorts and the install worked without issue.

    - Chris
  • Picture of Chris Moberly
    Thu, 30 Jun 2016, 3:55 PM
    Just to add quickly:

    Installing the plugin pulled in all my existing certificates and mapped them to current users. This is amazing.

    On thing that would be really cool is if I could select an "Assignment" module for use with the "Auto-issue criteria: by activity completion" function. The courses I run include quizzes but then also a final assignment that must be completed in order to complete the certification. Right now, I only see the option to select quizzes, but it is quite possible I'm overlooking something obvious.

    Thanks again, I'm really happy with this plugin it made my day. smile
  • Accredible Logo
    Sat, 2 Jul 2016, 2:21 AM
    Thank you for the kind feedback Chris! We'll look into adding that for you.
  • Picture of Kim Chambers
    Wed, 28 Jun 2017, 8:42 PM
    The below link doesn't seem to be valid anymore...

    Sign up for a free trial at

    Can anyone assist?
  • Accredible Logo
    Wed, 28 Jun 2017, 10:15 PM
    Sure - just head over to and click 'Sign up' in the top right.

    New accounts come with 10 free credits so you can get started and review the platform before committing.
  • Picture of Chad Outten
    Sun, 11 Mar 2018, 2:31 PM
    G'day Accredible! Unable to successfully install version 1.4.9. Debugging output as follows.

    Exception - syntax error, unexpected ','
    Debug info:
    Error code: generalexceptionmessage
    Stack trace:
    line 58 of /mod/accredible/locallib.php: ParseError thrown
    line 908 of /lib/classes/component.php: call to include_once()
    line 7519 of /lib/moodlelib.php: call to core_component::get_plugin_list_with_file()
    line 1157 of /lib/outputrenderers.php: call to get_plugins_with_function()
    line 437 of /lib/outputrenderers.php: call to core_renderer->header()
    line 208 of /admin/renderer.php: call to plugin_renderer_base->__call()
    line 679 of /admin/index.php: call to core_admin_renderer->upgrade_plugin_check_page()
  • Accredible Logo
    Mon, 12 Mar 2018, 6:29 PM
    Thanks Chad! We've just pushed a new version to fix that issue.
  • Picture of Chad Outten
    Thu, 15 Mar 2018, 9:12 AM
    Thanks for the speedy response. Accredible v1.4.11 installs successfully running Moodle 3.4.1+
Please login to post comments