Showing results for 
Show  only  | Search instead for 
Did you mean: 
Community Member

Sending deleted enrollments through SIS csv does not delete students in crosslisted courses

I'm a new Canvas Admin, so maybe a newbie question.

I am syncing my SIS to Canvas via CSV uploads. I generate an enrollment csv containing enrollments to delete. Everything works, except for enrollments in Canvas crosslisted courses. I did the crosslisting manually within the UX not through an xlists csv. Is this a known behavior? What is the best way to mange deleted enrollments?

Thank you.


Labels (5)
0 Kudos
1 Reply
Community Participant

Depending on what update method you use it might skip any manually altered entries, see: 


If your account has a SIS integration that is sending its entire data set on each import, rather than just sending what has changed, you can speed up the import process by enabling diffing mode. In diffing mode, a preprocessing step in Canvas will compare the current SIS import against the last successful SIS import with the same data set identifier, and only apply the difference between the two imports.

For instance, If user A is created by import 1, and then the name is changed for user A on import 2, Canvas will apply the new information for user A.

If user B is created by import 1, and then user B is omitted from import 2, Canvas will mark the user as deleted.

If user C is created by import 1, and the exact same information is specified for user C in import 2, Canvas will mark that nothing has changed for that CSV row and skip looking up user C entirely. This can greatly speed up SIS imports with thousands of rows that change rarely.

It is important to note that if any SIS data was changed outside of that previous CSV import, the changes will not be noticed by the diffing code. For example:

  1. Import 1 sets user A state to "active".
  2. An admin sets user A state to "deleted" either through the Canvas UI, or a non-diff SIS import.
  3. Import 2 sets user A state to "active" again, and is configured to diff against Import 1.
  4. Because only the difference between Import 1 and Import 2 is applied, and the user's state is "active" in both CSVs, the user remains deleted.