How I Created Report Card Software for PowerSchool
1 Jan
This post describes how I wrote custom software to generate report cards for Scotland Elementary School. Report cards were always a big hassle at my job at the school for several reasons. The main reason was that there were ALWAYS problems, errors, and inconsistencies in the student scores. I had to rely on an external company to fix any problems with the PDF export in the grade book software since I didn’t have access to it. Report cards are much more complex than the ones I used to receive, but it seems to be a national trend and we’re required to break down each subject so that each educational standard is scored individually. This kind of complexity introduces a lot of difficult in getting everything to come out right on the report cards.
At the beginning of the 2009-2010 school year we started using PowerSchool’s grade book software. It was included with the main PowerSchool software suite we already paid for and the existing grade book (Pinnacle by Excelsior Software) was easily the worst software I’ve ever used. I’m not saying that to be insulting or funny. I sincerely mean it!
When we made this switch to PowerSchool’s grading software I found out that PowerSchool’s internal report generation features were very unintuitive to use. It was not actually possible to create the report cards that the school needed using the software due to the complexity of the report cards themselves. There were hundreds of individual grade standards and many classes and sections. I couldn’t create a report that would do what I needed and even if I could the process would have taken much more time than I had. There simply wouldn’t be enough time to place every line and piece of text by telling it how far over and down for the page origin to go. It really was that difficult.
I settled on creating my own software using Visual C#. The basic process is:
teachers enter grades into gradebook -> grades are sent to server -> I run an export of those grades that spits out a raw text file with comma-seperated values -> my custom software interprets this data and generates PDF report cards for all the students
It took a lot of work to set up but it was an excellent decision to do. The software works perfectly and its benefits are many. I can now modify the report cards to look however I need or want them to look, such as changing formatting or adding a legend. The school saves thousands of dollars that we used to have to pay in support fees to a specialist that modified the report for us. There were only a couple of errors in the report (such as teacher comments running off the side of the page due to a bug) but I can easily fix any bugs or issues that arise rather than having to wait for someone else to get the work done when the send-home deadline is right ahead.
Sending home report cards at the end of each trimester is now an absolute breeze when it used to be a MAJOR hassle. I would spend a week or two in frustration dealing with support specialists and ultimately sending report cards home late due to bugs. Teachers like it better, too, because the report cards they receive are now accurate and the scores are an exact match for what they entered in the grade book. The old Pinnacle software was pretty much a crapshoot!
Creating the report card generating software is one of the most helpful and satisfying things I’ve done in my role at the school and it’s a huge pleasure to run a simple data export and have full PDF documents come out the other end.


