SCORM course not completing in the LMS: 4 fixes
Updated 16 October 2026
Quick fix
The LMS was never told the course is finished, or doesn't count what it was told. Check, in order:
- The completion goal wasn't met. Check what completes the course: the quiz results slide, a number of slides, or a trigger. Where.
- The LMS doesn't count the status. Moodle counts only “completed” by default, not “passed”. How to fix.
- The session never ended. Give learners a clear exit. How.
- Nothing is tracked at all. Publish for an LMS, not the web. What to check.
Not sure which? Drop the zip into Alder (free, nothing is uploaded): it says whether the course said it was finished and, in Storyline, what it was waiting for.
The learner didn't reach the completion goal
Every course is published with a rule for when it is complete. A course tracked by a quiz completes only when the learner reaches the results slide that quiz is linked to, so a learner who closes the course on the last question, or a branch that skips the results slide, leaves it incomplete. A slides-viewed target can even be higher than the number of slides learners can reach.
Check what completes the course
In Storyline, open Publish → LMS / LRS → Reporting and Tracking, then the Tracking tab. If “When the learner completes a quiz” is ticked, check that the results slide at the end of your quiz is listed, and that every learner reaches it after the last question. If “When the learner has viewed” is ticked, check the number against the slides a learner really sees. In Rise, the setting is under Publish → LMS → Tracking. In Captivate, it is “Success/Completion Criteria” (Captivate Classic) or “Completion Criteria” (Captivate 12 and later) in the reporting preferences.
The LMS doesn't count the status the course sends
A new Moodle SCORM activity counts only “Completed” by default, so a course that reports “passed” never completes there. And with the “Passed/Incomplete” reporting option, a learner who fails stays incomplete. That is by design, but it looks like a fault when the quiz and the LMS use different pass marks (see Mastery score vs quiz passing score).
Check the status it reports
In Storyline's Reporting and Tracking dialog, on the LMS tab, look at “Report status to LMS as:”. If your LMS counts only “completed”, a “Passed” option won't complete it. Which option to choose: Storyline “Report status to LMS as”; for Moodle, see LMS shows incomplete after passing the quiz or change the LMS rule (LMS notes).
The session never ended properly
A course ends its session with a call named LMSFinish (SCORM 1.2) or Terminate (SCORM 2004). If the window closes before that call, many LMSs keep only what was saved along the way, and some throw the session away. Articulate notes that SCORM 2004 courses need the learner to exit fully before completion shows in LMS reports (Articulate: Troubleshooting LMS Issues), and that some browsers stop an exit button closing the window (Articulate: Exit Course Trigger Doesn't Work).
Give learners a clear way out
Add an Exit button with an “Exit course” trigger to the last slide, and tell learners on that slide to close the window if it stays open. In Rise, turn on “Exit Course Link” under Publish → LMS.
Nothing reaches the LMS at all
The course plays, but the LMS never hears from it. The usual reasons: the zip is Storyline's web publish, which launches story.html and doesn't talk to an LMS; the manifest (imsmanifest.xml, the file that tells the LMS what to launch) marks nothing as a SCO, the part of a package that reports; or a script error stops the course before it connects.
Publish for an LMS, then check again
Publish with Publish → LMS / LRS (not the web publish), upload that zip unchanged, and drop it into Alder again before the LMS.
Check the zip before you upload it again (free)
Learners not getting completion? Check your course for this. Alder puts the matching problems first and gives you a short test script.
Drop the published zip into Alder
Open Alder and drop the zip you uploaded to the LMS. It is read in your browser; nothing is uploaded. Problems such as a web publish or a manifest with no SCO show straight away, before you run anything.Follow the script
Launch the course in the test player and go to the end the way a learner who finished would, through any quiz and its results slide.
The script Alder shows when you start from the symptom link. Read “Finished?”
Press “I'm done”. “What an LMS would record” shows the completion, the pass or fail and the score as separate answers. If the course never said it was finished, Alder says so and names what it was waiting for: in a Storyline course, the results slide, the number of slides, or the trigger it completes on.
Alder's sample course, left after two slides. The course itself said “incomplete”, so every LMS Alder knows records the same. Choose your LMS
Pick your LMS under “Uploading to”. If it would record something different from SCORM Cloud, Alder says so. The notes for SAP SuccessFactors, Moodle and Workday Learning are free.
LMS notes
- Moodle: new SCORM activities default to “Require status: Completed”, and only the ticked statuses complete the activity (Moodle's activity form). Ticking both Passed and Completed lets either one complete it.
- SAP SuccessFactors: course authors report that Storyline courses played inside the SuccessFactors window often record no progress, and SAP documents that content opened inline can fail to find the LMS connection (SAP KBA 2808684). The reported fix is Storyline's “Launch player in new window” option. Alder flags it when SuccessFactors is chosen.
Why it happens
The LMS shows “in progress”, “incomplete” or a part percentage, and there is no certificate. Each LMS uses its own words for it. SCORM 1.2, the older and more common version of the standard, has one status field, and a course can put “completed”, “passed”, “failed” or “incomplete” in it.
Still not working?
- The opposite problem, a course that completes before learners finish: Course marked complete too early.
- Completion records but the score doesn't: SCORM score not recording.
- Learners who leave and come back lose their place, and never get far enough to complete: the SCORM suspend_data limit.