HSE.Swiss LMS
Back to lms.HSE.swiss ↗
EN · DE
HELP / CERTIFICATES AND EMAILS / HOW CERTIFICATES ARE GENERATED

How certificates are generated

Nobody clicks a button to produce a certificate — it happens automatically the moment a participant passes a course or bundle that has a template attached. This explains what triggers it, what goes into the PDF, and what to check when a participant says theirs never showed up.

5 MIN READ UPDATED 4 AUG 2026 AUTOMATIC — ON COURSE OR BUNDLE COMPLETION

BEFORE YOU START

This only applies once a certificate template is uploaded for the client and attached to the course (Certification tab) or the bundle (its certificate tab). Without that, a pass just doesn't produce a certificate — nothing is broken.

What happens when a participant passes

The sequence is the same whether the completion is a single course or a full bundle.

1

The participant finishes and passes. Participants who fail get nothing — there is no certificate for a failed attempt.

2

On the completion or results screen, the platform checks whether a certificate is already sitting there waiting. The first time, it isn't — so it takes the attached template, fills in the placeholders (name, dates, score, and the rest), and sends the filled-in Word document to a conversion service that turns it into a PDF.

3

The finished PDF is stored against that participant and that course or bundle. Every later visit to the same completion page reuses the stored file instead of generating it again.

4

The participant downloads it from the completion page of the course or bundle they just finished.

screenshot — participant completion page with a "Download certificate" button

The download link appears only once the certificate has finished generating.

Where the file actually lives

Storage is an infrastructure detail, not something you configure per client or course — some installations keep finished PDFs on local disk, others hand them off to Azure Blob Storage behind a signed link that the platform re-issues automatically as it nears expiry. Either way the participant experience is identical: a download link on their completion page. TODO: confirm which storage mode lms.HSE.swiss production runs, if it's worth naming here.

GOOD TO KNOW

This is separate from Other Courses. There, a participant uploads their own certificate or signature as proof, and an admin reviews and approves it — nothing is generated from a template. If you're looking for that flow, see the Other Courses category instead.

What goes into the PDF

Every placeholder in the template's .docx is replaced with a real value at generation time: the participant's name and email, the course or bundle title, the completion date formatted per the template's Date Format, an expiry date (only if the course has a Validity (days) value — otherwise it's left blank), and the score against the required pass mark. See Upload a certificate template for the full placeholder list.

A COMMON MISTAKE

Removing or replacing a course's certificate template after participants have already passed doesn't retroactively change certificates that were already generated — those PDFs were baked at the moment of completion. It only affects certificates generated from that point on.

If something isn't working

"Certificate could not be generated. Please contact support."

The conversion step failed — usually a temporary issue with the service that turns the .docx into a PDF. Ask the participant to reopen their completion page; if it persists, pass this along to support with the participant's name and course.

"Certificate context expired. Please complete the course again."

The browser session that remembered which completion to fetch has expired — usually from waiting too long on the results page, or opening the download link in a different browser. The participant needs to reach the certificate from a fresh completion page rather than an old bookmark.

The participant passed but there's no download link at all

No certificate template is attached to this course or bundle. Attach one on the Certification tab (course) or the certificate tab (bundle) — see Upload a certificate template.

The {{expiry_date}} field on the certificate is blank

The course has no Validity (days) set. Set it in Course Settings — see Set course expiry in days.

What next

If certificates aren't showing up at all, the fix is almost always on the upload side.

NEXT

Upload a certificate template

RELATED

Bundle certificates, and Attach a certificate from Create a course

Did this help?
Yes
Not really