Troubleshooting LMS Sync Issues

When assessment scores don’t make it from PaperScorer to your LMS gradebook, the cause almost always falls into one of a few predictable buckets — an expired connection, a roster mismatch, or an error from the LMS when the grade is posted. This article walks through diagnosing and fixing the common cases.

This article covers LMS data sync (pushing graded results to Canvas, Google Classroom, Brightspace, or Moodle). For LMS roster importing issues, see the integration-specific articles in the Data Syncing section.

How LMS Sync Works in PaperScorer

Understanding the pipeline helps narrow down where things go wrong:

  1. You scan a completed sheet in PaperScorer.
  2. The engine scores the sheet and saves the result to the student’s record.
  3. You initiate a sync — either manually from the assessment or as part of a scheduled push.
  4. PaperScorer queues a background job that calls the LMS’s API to update each student’s grade.
  5. The grade appears in the LMS gradebook.

If anything fails after step 2, the sync appears “broken.” The Sync History (covered next) tells you which step failed.

Step 1: Check the Sync History

PaperScorer keeps a sync history for every assessment, with the status and any error message from the LMS.

  1. Open the assessment.
  2. Go to the Syncs tab.
  3. Look at the most recent sync entry.

Each sync shows its result:

Status Meaning
Processing The background job is still running. Wait a minute or two and refresh.
Success PaperScorer pushed the data and the LMS accepted it.
Partial Some students synced and some didn’t — the list shows the counts (for example “5 / 6”). Open the sync to see which students were skipped or failed.
Failure The push failed. Open the sync’s detail view and hover the red Failure label to read the error message.

Step 2: Verify the LMS Connection Is Active

The single most common cause of sync failures is an expired or revoked connection. Tokens can expire when:

  • You changed your LMS password.
  • Your school’s IT admin rotated API keys or revoked an OAuth app.
  • You signed out of PaperScorer in your LMS’s connected apps.
  • The token simply aged out (varies by LMS).

To check your connection:

  1. Open your Account menu (top-right avatar) → Connected Accounts.
  2. Find the relevant LMS (Canvas, Google Classroom, Brightspace).
  3. If the status shows Disconnected or Reconnect Required, click Reconnect and sign back in through the LMS’s authorization screen.

Reconnecting doesn’t change any of your data — rosters, assessments, and prior sync history are all preserved. It just refreshes the token PaperScorer uses to talk to the LMS.

Step 3: Check for Unmatched Students

PaperScorer matches each student to the LMS automatically during the sync — by their student identifier / external ID and by email. If a student can’t be matched, they are skipped and listed in the sync results; the rest of the class still syncs. There is no manual per-student “link” step.

  1. Open the sync entry from the assessment’s Syncs tab.
  2. Review the students the sync skipped or failed, with the reason shown for each.

The usual reasons a student can’t be matched are:

  • Email or identifier mismatch — the email or student identifier in PaperScorer doesn’t match the one on the student’s LMS record.
  • Student not in the LMS class — you added the student manually in PaperScorer but they aren’t enrolled in the corresponding LMS course.

Fix: make sure the student is enrolled in the LMS course and that their email and identifier match on both sides, then run the sync again.

TIP: pick one source of truth for your roster. If your LMS is the master roster, always import from there — don’t create students manually in PaperScorer. This avoids the “duplicate student” problem that breaks future syncs.

Step 4: Common LMS-Specific Errors

Canvas: student not enrolled, or a submission/grading error

You pick the Canvas assignment during the sync setup (course → assignment → confirm), so a missing target isn’t a runtime failure. The Canvas errors you’ll actually see are:

  • Student no longer enrolled in the class — the student was dropped from the Canvas course, so their grade can’t be posted. Re-enroll them in Canvas, or remove them from the sync.
  • A Canvas submission or grading error — Canvas rejected the grade push (a temporary API error or a permissions problem). Retry the sync; if it persists, confirm your Canvas connection and that you can grade the assignment in Canvas directly.

See Syncing Assessment Data to Canvas.

Google Classroom: “Permission Denied” / 403

The Google account connected to PaperScorer doesn’t have permission to post grades to the target classroom. Confirm:

  • You are listed as a teacher (not a student or co-teacher with limited permissions) in the Google Classroom course.
  • The course is in an active state (not archived).
  • The OAuth grant includes the Classroom coursework and rosters scopes — if you originally connected with limited scopes, disconnect and reconnect.

See Syncing Assessment Data to Google Classroom.

Brightspace: a grading error

You choose the Brightspace grade book value to sync to during the sync setup. If a push fails, Brightspace returns a general grading error — retry the sync, and confirm your Brightspace connection and that the grade book value still exists and is editable. See Syncing Assessment Data to Brightspace.

Moodle: unmatched students, or a grade push error

You pick an existing Moodle Assignment activity during the sync setup (course → assignment → confirm) — PaperScorer doesn’t create the assignment, so it must already exist in the Moodle course. The Moodle issues you’ll actually see are:

  • A student was skipped — PaperScorer matches students to Moodle by email, so the student’s Moodle email must match their PaperScorer email, and they must be enrolled in the Moodle course. Unmatched students are skipped and listed in the sync results.
  • The grade push failed — Moodle rejected the grade write. This usually means the connection’s service account is missing a grading capability, or the chosen assignment isn’t set up to be graded. This is an administrator-side fix.

Moodle connects through a web-service token configured by your administrator (not a personal sign-in), so connection problems are resolved on the admin side: an enterprise administrator should confirm the Moodle connection is active and verified and that the service account has the required capabilities — see the Moodle Administration Guide. See also Syncing Assessment Data to Moodle.

Step 5: Try a Manual Sync

For one-off glitches, kicking off a manual sync is often the fastest fix:

  1. Open the assessment.
  2. Open the assessment’s action menu and pick Sync Data.
  3. Select the LMS you want to sync to.
  4. Confirm.

The new sync entry appears at the top of the Sync History with status Processing, and typically completes within a minute or two.

Step 6: Check Whether Background Jobs Are Backed Up

Most syncs complete in under two minutes. If your sync has been Processing for more than 15 minutes, the background-job queue may be backed up — usually a transient issue that resolves on its own.

  • If a sync is still Processing after 30 minutes, refresh once.
  • If it’s still stuck after that, contact support@paperscorer.com.

When to Contact Support

Email support@paperscorer.com if you’ve worked through this checklist and the sync still fails. Include:

  • The assessment name (and ID if you can copy it from the URL).
  • The LMS you’re syncing to.
  • The exact error message from the Sync History.
  • Whether other assessments sync successfully to the same LMS (helps isolate the issue).

Preventing Future Sync Issues

  • Re-import rosters at the start of each term — LMS rosters change; refreshing keeps student matches healthy.
  • Don’t create students manually if you use an LMS — always import from the LMS so identifiers stay consistent.
  • Reconnect proactively — if you see a “Connection expired” banner, reconnect right away rather than waiting until sync day.
  • Test with a practice assessment before big testing weeks — verify sync end-to-end on a low-stakes assessment first.
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us