Skip to content

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.

  1. 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).

  1. 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).

  1. 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.

  1. 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.

  1. 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.
  2. 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.
    Script for Not marked complete: 1. Launch the course and go all the way to the end, like a learner who finished. 2. Pass any quiz, and leave through the course's own exit button if it has one. 3. Press I'm done, then read Finished?. 4. Choose your LMS under Uploading to to see what it would record.
    The script Alder shows when you start from the symptom link.
  3. 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.
    What an LMS would record: Finished? No, not finished (incomplete). Passed? No pass or fail sent. Score: No score sent. A Worth checking note says the course never said it was finished.
    Alder's sample course, left after two slides. The course itself said “incomplete”, so every LMS Alder knows records the same.
  4. 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.

Five things that must happen before an LMS shows completeIn order: the course connects to the LMS; the learner reaches the course's completion goal, such as the results slide, a number of slides viewed or a trigger; the course sends a status such as completed or passed; the session ends properly; and the LMS counts that status as complete. Moodle, by default, counts only completed. A break at any step leaves the course not complete.1The course connects to the LMSIf not: nothing is recorded at all2The learner reaches the goalResults slide, slides viewed, a trigger3The course sends a statusFor example completed or passed4The session ends properlyIf not: some LMSs drop the attempt5The LMS counts that statusMoodle counts only completed by default
Completion is a chain. A break at any link leaves the course not complete, so check them from the top.

Still not working?