Showing results for 
Search instead for 
Did you mean: 
Community Member

Best solution for recording attendance from a magnetic card reader?

I'm looking for ideas for the best way to record attendance from a magnetic card reader.  When the card is read, a list of students who are present is created in Excel.  Here's what the faculty member currently is doing:

  1. Get the Excel output (which only has the present students)
  2. Upload it to Canvas Grades (this clearly shows which students are present and absent)
  3. Download the Canvas grades

This works well in some ways but it fills the Grades area with many, many assignments that don't actually count toward the grade.  Even Muting the assignments doesn't help, since they still take up columns.  The faculty can't just mark the attendance as "Ungraded" since it then doesn't export in the CSV file.

What would you suggest as the best approach?  Keep in mind that the course in question typically has 50+ students.

16 Replies
Community Advocate
Community Advocate

Hi‌ - Yikes.  That is definitely one (of few....) advantages of the Roll Call Attendance tool in Canvas; it will least give one an ongoing percentage of attendance in ONE column in Canvas.  It is most certainly not without its considerable flaws and has been the subject of a lot of complaints in the Community (a good summary is here: ), but it would certainly prevent some of the issues you are running into if the faculty member were willing to take the time to use it.

Others in the Community will likely have their own ideas about how to handle this, but my first recommendation is to NOT do it this way for the very reasons you outline.  You did not mention how often attendance is taken, but given you are at a higher ed institution, let's figure at least twice a week. Well, as you are already seeing, that's a lot of columns to add to the Canvas Gradebook!  For the instructor and the student, I might add.

So, let's say the faculty member is NOT going to use the Roll Call tool.  Using the existing system of the card reader, I would aggregate the data in Excel from the CSV file (more on that below), and then create perhaps a monthly Assignment that gives the student a grade so that they know how they are doing attendance-wise for the grade.  (Admittedly, I have some faculty who give an attendance grade at the very end of the semester; that is not something I am in favor of, since I believe a student should know the grade throughout the term.  But still, that's another possibility.)  The bottom line is that an Attendance assignment must be "manually" created so that there is the requisite column in the Gradebook so that it can be recorded based on the information received from the CSV file.

Regarding the CSV file, how savvy are you (or the faculty member) with creating pivot tables in Excel or simply doing a COUNT function?  Depending on the output of the CSV file, I assume that at the very least the student names are consistently written in the file, as well as the class dates.  One could then reorganize the data in a way so that the dates are in one column and the student names are in another.  Even without great knowledge of pivot tables, Excel can then create a "recommended" pivot table (one of the options under the INSERT tab in the Windows version of Excel) to obtain a count of student names by date, or even just a count of times they were present.  This way, it does not matter that a name is NOT recorded.  Because Excel will give a total of times present, the faculty can then figure out how many times the student was absent, since the faculty member knows how many class periods there are total.

Here's a very, very simple example of list of students present by date that I just now created:

220566_list of names.jpg

And by selecting that data and simply creating a "recommended" pivot table from Excel, here is the result, which shows the number of times the student was present across the selected range of dates:

220567_count of times present.jpg

(Please understand, you may be fully aware of how to do a pivot table, so I do not mean to insult your intelligence here!  But in case you do not, it's all in getting the data organized in a certain way and letting Excel do its thing.)

Do you think this would help at all?

Community Member,

Thank you.  Although I know how to make pivot tables, I agree with your approach to explain more vs. less (never know when someone else might look at this answer and need that information!).  As far as this situation, the attendance doesn't count toward the grade, but otherwise, that's pretty similar to where I was leaning, though I'll need to check with the faculty member for if it meets his needs.

I see two potential problems.  One is getting the data into a format where the pivot tables could be created in the first place.  I believe the data comes out as one CSV per date.  Combining the CSV files into the format the faculty member wants becomes challenging because the students listed would vary each day.  Uploading it to Canvas ensures the format is the same.

Also, this particular department is very involved in scholarship of teaching and learning, so he may just need a fully accurate record of every date a student attended/didn't attend.  At minimum, he'd need a record of the last day a student attended if they stop coming to class entirely.

With how common these magnetic readers are becoming, it seems odd to me that there wouldn't be a simple tool or approach yet for organizing the data into a simple attendance file. 

Community Advocate
Community Advocate‌ - Happy to assist, though I admit I didn't even think of the fact that a separate CSV file would be generated for each class date.   Double yikes!  But indeed, it would help if whatever system you are on had some way of aggregating that data at the end of the term.  With all its flaws, at least the Roll Call Attendance in Canvas allows one to set a start date and an end date, so an end-of-term report is reasonably easy to generate that way.  Hopefully yours can do likewise.

Community Member

Is there, perhaps, a tool like the Roll Call Attendance, but that allows the upload of CSV or Excel files for attendance?

Community Advocate
Community Advocate

Not that I personally have seen, but there's a lot of other things out there.‌ has often sung the praises of Alliance Partner - AspirEDU , though whether they integrate with magnetic card readers I do not know.  You may also want to check out this previous CanvasLIVE presentation from Kansas State, who developed their own LTI for Canvas: .  Again, this may all depend on just how "married" your institution is to magnetic card readers--or how responsive your current vendor may be to your needs!  (I suppose it wouldn't hurt to say "we may seek another vendor" to see if they get more responsive!)


The approach we've taken is to automate the process of receiving Roll Call data, as well as to remove the 7-day restriction on data retrieval.  However, we have not built a new attendance function.  We're having a hard time coming up with a good business case for it (i.e. will schools pay for it).  

I attended the CanvasCon at SMU yesterday and talked to the founders of‌.  One of them is a professor at a large public university and built Squarecap to increase student engagement via two-way polling AND to collect attendance as a by-product of that engagement.  Interesting approach and worth the time to look into it, I think.

Community Member‌, can you help Tara out? We are doing something similar at our institution, but our service pushes it to a single column in the gradebook. Jolaine has headed this project up and could have some more insight.


We have been working on our Attendance Tracking Service for 5 years.  It was designed and developed and maintained by our student programmers working for our office.  It basically has 4 components. 

1. a server, including server code,  database, and a service to update the gradebook.

2. a web-based management module, to allow instructors to view and manage the data.

3. a raspberry-pi kiosk with a magnetic card reader located in the classrooms

4. LTI  - connection to the canvas course site.

Here are a couple of videos that explain the ATS system.

Kiosk Overview

Management Module Overview

Import Selection Attendance

The update gradebook service creates initially and then updates the same assignment in the gradebook.  It adjusts the total points for the assignment to the total number of days attendance was taken each time. The students total number of days present is also updated each time.  This always gives the current percentage for the attendance gradebook assignment.  We have the service set up to update the gradebook in the evening after the class has met.  Or if the instructor would like they can push the update gradebook button in the management module at anytime. We are open to suggestions.


That's a really interesting service, and one I'll need to keep in mind for other faculty who use magnetic readers.  For this particular faculty member, getting the full record of attendance for each student is the goal, not attendance for a grade, so it doesn't seem to match what others are doing.

For your approach, is there an easy way to see the last date of attendance for the students?