Importing Historic Non-Transfer Transcript Grades

As of July 12, 2021, this "Learn Veracross" site has been deprecated.  It will remain live through December 2022, but will no longer be updated. All knowledge content has moved to the new Veracross Community.  Please update your bookmarks.

Here is the new version of this article in the Veracross Community.


Occasionally Veracross clients may have a reason to import historic & transcript grades data. This is most commonly done once at initial implementation. 

When the import and related batch processes are completed, historic grades data (and supporting data) will populate a handful of places in the system, most importantly on Transcripts. This article goes through not only the import process, but also related configuration, processing steps, review, and cleanup, all explained below. 

The primary audience of this article are schools new to Veracross, importing historic grades for the first time, and preparing to publish Upper School Transcripts, but this workflow may be useful for migrating historic numeric (letter) grades at any time and for any students.

Brief: process steps

Step 1: Verify your Course Catalog is comprehensive and covers every course you have offered and want to import grades for. 

Step 2: Import one-class-per-year for every Course. (Rarely, some schools may require more complex class data than this, but because this is about archival and historic grades data, you typically should keep it as simple as possible and import one class per year). 

  • If you import one-class-per-course-per-year, the Classes you import should typically have the exact same alphanumeric "ID" as your Courses. E.g. Course "MAT101" should be the parent Course for individual 2017, 2018, 2019 Classes "MAT101".

 Step 3: Import grade records for students. 

  • Match grades on the parent Class with the same alphanumeric ID & Year of the class.

Step 4: Review and cleanup (see more detailed instructions below)

Step 5: Run system "posting" procedures to move these historic grades onto the Transcript

Detailed: Process steps

The brief steps listed above provide an outline of the process. For those of us who want to learn the exhaustive steps of every part of the process, read below. Each of the following steps are required unless this article explicitly states they're "optional". 

System Configuration and Data

The grades data, and supporting data, are imported and processed in a clear step-by-step order of operations. This article explains the full scope of configuration and data that are required. 


Data Import and Review

Posting Transcripts (Upper school only)

  • Post Transcripts
  • Review Data
  • Transfer Grades
  • Publish

Additionally, find a section near the bottom of this article for a discussion of typical cleanup steps.  


Review your source data

Before you begin to import/configure anything in your Veracross Database, you should review your grades data you wish to import. Doing a preliminary review of your data will help you do the following steps effectively. 

Verify that you have access to your historic grades data in a format that will enable you to populate a spreadsheet that has one row for every unique combination of Student, Class, Year, and Grading Period

Configuration in Veracross

If your school have been using Veracross Academics already, these Configuration steps may not require any action, but should still be reviewed in order to guarantee clean data. The following Configurations steps may be simple and go quickly, or may require some setup.

Configuration Step 1: Departments

Review Departments in Axiom. If Veracross has already been in use by your school, Departments are already configured. 

If your school have not already configured Departments, you may either configure Departments manually using Axiom's "Add Record" feature, or, you may Import Departments.

Tip: "Department" configuration is typically "permanent" and not changed frequently, as it has a meaningful impact on employee classification both for workflows and for reporting purposes. 

Configuration Step 2: Subjects

Review Subjects in Axiom. If the Academics module has already been in use by your school, Subjects are already likely to be configured as expected. 

If your school have not already configured Subjects, you may either configure Subjects manually using Axiom's "Add Record" feature, or, you may Import Subjects

Tip: "Subject" configuration is also typically "permanent", and not changed frequently. There is no way to "obsolete" Subjects after they've been in use, but if your school's academic programs have changed, older Subjects may be configured. 

Configuration Step 3: Courses

Review Courses in Axiom. If this is the first time your school are interacting with the core of the Academics module, there may not be any courses in the database yet. You may Import Courses

The course list should be a comprehensive list of Courses to support and populate Transcripts. Every course that might appear on a Transcript needs to be configured in Veracross. 

If your course catalog has changed over time, it is possible to import older Courses no longer in use at your school, and once they are imported you may use Axiom to "Archive" older courses whether individually or in batch. 

Tip 1: If you are importing historic grades, be sure to import all unique courses that have ever been used throughout the many years worth of Grades data you are importing. If you start with the Preparation step 1 seen above, and find all your grades data in an excel file, using Excel's "Dedupe" function may be able to help you create a clean list of Courses. 

Tip 2: We typically suggest configuring Courses as durable, re-used data: both for importing historic grades and also for setting up future classes. Example: If "Calculus AB" has been offered for many years, and is also being offered next year, it is advised to set up only one instance of the "Calculus AB" course, and therefore using that single instance of "Calculus AB" both for importing historic classes and grades (see "Data Step 1" below) as well as for setting up next year classes.

Tip 3: If it is not possible to follow the previous tip, it's acceptable (as a short-term convenience) to import duplicates of the same course. However, after importing duplicates, we strongly recommend merging duplicate courses and transcript courses for the benefit of reporting and clean data, and merging many duplicates can potentially take a long time. Better to start with clean data if possible.  

Configuration Step 4: Grade Conversion scales

Grade Conversion Scales must be configured if your school reports Letter grades, GPAs, or both. If letter grade and GPA configuration have aready been configured in the academics module, and haven't changed over time, then it's possible no work may be needed here, but it is worthwhile to review and confirm whether your conversion scales are configured to support past grades data. 

Configuration Step 5: Grading Periods

Grading period makeup should already be configured in the normal workflow of your Veracross implementation before arriving at a historic grades data import, however, configuring the terms to be eligible for Transcripts is likely to be necessary as a part of this workflow. Review, and update if necessary, the "Post to transcript" column in the Grading Periods report for the appropriate Major, Minor, and/or ALL grading periods. 

Consider which terms your transcript displays grades. Do you publish transcripts with Term grades, with Final grades, or both? 

Additionally, take an opportunity to consider whether your school's Term system has changed over time. For example, do you currently use Semesters, but years ago graded on Trimesters? You may need Veracross to configure older Grading Period Group(s) for older terms if not already configured. 

For all configuration steps, please work closely with your Implementation Manager/Account Manager if you have any questions. 

Historic Grades Data import

Data Step 1: Import Classes

After review and confirmation that each of the above configuration are in place, Import historic Classes. 

Best practice: One class per Course per year. For most schools doing this, the Classes data can simply be a repetition of the Course catalog per year.  

After import, you may use the "Find Classes" query to find and classes that you've imported. Use the "School Year", "Input User" and "Input Date" fields in the Find Classes query in order to verify you're looking at the correct imported classes. Especially look at the grading period group field. This must be set correctly in order to guarantee fidelity in the grades import (see Data Step 3 below).

Classes require unique IDs per school year. Besides that restriction, the configuration of classes is up to you. Here are a few tips for historic class imports: 

Tip 1: Teacher necessary? Although it's possible to connect the teacher to a class, it's typically not necessary to identify historic teachers in order to produce a transcript. Furthermore, teacher history might not be available for your historic grades data. Use your judgement whether historic class Teacher data will be important. If not, consider importing only one Class per Course. Example: in 2015 although there may have actually been 4 sections of English 9, you probably only need to create one Class of 2015 English 9 for the purposes of this import process, without a teacher specified. This way the distinct section rosters will no longer be distinct; is it important to have accurate Rosters? If yes, be sure to import many Classes for each Course rather than just one Class. 

Tip 2: Excel has useful tools. You will likely use an excel function like `vlookup` to find the Veracross internal Course IDs that were generated in Course configuration (see above), because a class import must match the internal Veracross Course ID values. 

Tip 3: Try small batches at first. Initially import only a handful of classes, then use Axiom to find them (use Input User, Input Date, and School Year fields on a Find Classes query) and familiarize yourself with how they were imported. 

Tip 4: Import some test data and delete. Don't be afraid to import some classes, review them, and delete them in batch if they didn't turn out as expected. Modify your import, and import again.

Tip 5: Avoid duplicates. The Class importer function adds new data, it doesn't update existing records, so if you run an import with a certain class, and run another import with the same class, the system will try to import it a second time (which may result in an error, since Class IDs must be unique per Year).

Data Step 2: Import Class Schedules

For the calculation of Credit(s), every class requires at least one Class Schedule record. This can be very simple: Just add one schedule record per class for the ALL grading period (Grading Period ID 50). Therefore: the Class Schedule import file can be almost identical to the Class import file.

When there are class schedule records, the Numeric Grades (see Data Step 4 below) are calculated against the Class Schedules to generate accurate Credit values. 

Data Step 3 (Optional): Import Class Enrollments 

Depending on your approach you may wish to import historic Class Enrollment records. Class Enrollments require one row per Student, per Class. (The classes were imported in the previous step, seen above.)

This is an optional step because the following step, seen below, generates any missing class enrollments. 

If you import Class Enrollments, run a "Find Class Enrollment Records" query to look up the enrollments you just imported and review.

Tip 1: Import some test data and delete. As with the "Class" import step above, you may also wish to import a small number of enrollments first, query for them, understand how they appear (as rosters per class), and (if necessary) batch delete the imported data, review, and run a fresh import again. 

Tip 2: Avoid duplicates. As with the "Class" import step above, the Class Enrollments import type adds new data, it doesn't update existing records, so if you run an import with a certain Enrollments data and run it again, it will try to import the data a second time (which may result in an error, since Class Enrollments must be unique per student/per class). A student cannot be enrolled in the same class more than once.

Data Step 4: Import Numeric Grades

After Classes have been imported (and optionally, Class Enrollments) for historic classes for years in the past, it is possible to import Numeric Grades

The Grades import function is special in two key ways: 

  1. The Numeric Grades import type generates missing class enrollments automatically. This is why step 2 above is "Optional", because the Grades import also accomplishes the purpose of a class enrollments import. 
  2. It is not only an insert function; it is also an update function. Running a grades data import once, and running it again, will NOT risk an error, since it will merely update existing records. This aspect is therefore different from the other import types mentioned in this article.

There are a few things to consider for the grades data mapping to classes: 

Be aware of the Class "Grading Period Group".

  • The numeric grades import must specify only Grading Period(s) that are allowed for that class. Example: If some classes grade on Trimesters and others grade on Semesters, be sure to specify the correct grading period for each and every Row in your import file for the trimester grades vs. the semester grades. 
  • Historic and archived grading systems must be considered if your grading systems have changed over time. Example: If 2016 English 9 was graded on Trimesters, and now your school uses Semesters, work with your Implementation manager/Account manager to configure the requisite Historic Grading Period Group(s). Once that configuration is in place, import grades data for the correct Grading Periods for the classes. 

Consider which Grading Periods (terms) you need data for, and which report in Transcripts: 

  • Only import useful data. If you have historic data for every term and midperiod going back into history, but only need data for the Major terms and Final grade, it may be appropriate to only import those Major terms grades (and not import midperiod grades) if, in fact, the midperiod grades data won't be useful. 
  • Consider your transcript: Do you publish term grades, or final grades, (or both) on the transcript? Import the grades data that will be necessary for publishing. 

Data Step 5: Review and cleanup in Axiom 

After all data have been imported, the following data review steps are necessary before posting transcripts. 

  1. Review and update the Class Enrollment "Grade Level" field on all the historic Class Enrollments. This can be done in a few batch updates by querying Class Enrollments by school year, and comparing against the Students' "Graduation Year" value. This is necessary because the Class Enrollment "Grade Level" is used by the system when populating Transcripts in the Posting step, seen below.
  2. Review (and if necessary update) the Class "Grade Conversion Scale" field on all the historic Classes. This can be done in as little as one batch update by querying Classes. This is necessary because Posting Transcripts will drop letter values, and GPA values, if there isn't a Conversion scale set on the Classes. 
  3. Review (and if necessary update) the Class "Term Credit Hours" field on all the historic Classes. This can be done in as little as one batch update. This is necessary because GPAs and Credit Reports are based on this value.
  4. Review (and if necessary update) the Class Schedules. Every class that should calculate Credits also requires schedule records for either the ALL grading period, or individual Major terms. This is necessary because the class schedules are what generate the correct credit values per term. 
  5. Review (and if necessary update) the Class Grading Period Group field. Setting the Grading Period Group guarantees that the correct individual terms are considered for Posting Credits even if the schedule is for merely the ALL grading period. This is necessary because for most classes, scheduled merely for the "ALL" grading period, inherit the individual term values for credit calculation from the grading period group. 

Posting Transcripts

After reviewing all the Class, Enrollment and Grades data, the next steps involve posting Transcript grades. The following steps are only relevant for Upper School grades for posting in formal Upper School Transcripts. 

Posting Transcripts Step 1: Lock the Numeric grades that were imported

Via the Division homepage Action Menu (lightning bolt) open the "Post/Lock Numeric Grades" and run the "Lock Grades (No Posting)" action for previous terms/years. 

WARNING: Be very careful not to select ANY of the other actions, as they could wipe out the data you just imported. 

Locking the grades is a necessary step before the following step: Only Locked grades can be posted for the Transcript. 

Posting Transcripts Step 2: Post Transcript Grades 

The Transcript posting procedure may be found via the Division Homepage menu in Axiom, here on the "Upper School" homepage in Axiom: 

In this Action Dialogue, select the appropriate filters and options, and the Post Blank Grades action, and then click the green "Add Post/Lock Transcript Grades Action"

Note: Because each run of this dialogue allows the user to select a single combination of year and grading period, it may prove necessary to open this dialogue and run it a number of times to process all your historic grades for the Transcript, once for each historic Term that is posting. 

Read more about Transcript posting here. 

Posting Transcripts Step 3: Review Transcript Data

After posting Transcripts in the previous step, there are now Transcript data to review. Transcript data have a three-part structure: 

  • Transcript items. These are the transcript-side data that represent all the grades that have been imported and now posted. The user may wish to query Transcript Items and review those that were just created in the posting process. Much like the imported Numeric Grades data, the Transcript Items will have a data structure of one record per student, per class, per grading period. Think of Transcript Items as the grades data line-items that may print on a Transcript document. 
    • Verify that Transcript items have correct Credit values in a "Find Transcript Item" query. If the above steps have been done correctly in order, then Transcript Item credits should be all set. 
  • Transcript. Transcript records are generated in the posting process. These act as the "header", and are equivalent to the Transcript document that would be printed. Therefore, there will be 1 "Transcript" record per alum or student who have had posted grades. The user may therefore wish to query Transcripts to review one-per-student records. In the Transcript detail screen you will see all the posted Transcript Items in an input grid, and may (if necessary) adjust any details narrowly for a particular student in this detail screen. 
  • Transcript Course. Transcript Course are equivalent to the Courses. Transcript Courses are uniquely capable of being coded for transfer grade purposes. Generally, Transcript Courses need no review unless transfer grades are handled by your school. 

Tip: If you need to make many adjustments to transcript grades after posting, we recommend FIRST editing the Numeric Grades, THEN Clear & Repost transcripts, rather than directly editing the transcript items. Think of Transcripts and Transcript Items as simply a log, or an "Archive," of the Grades that are associated with the class. Therefore, it's best, where possible, to update the Class and Grades first, and THEN clear & repost Transcript to guarantee a unity and equivalence between the historic grades data, and the grades data that display on the Transcript document. 

Posting Transcripts Step 4 (Optional): Transfer Grades 

If "Transfer" grades are handled separately from regular grades, it is necessary to put in Transfer grades as a separate step. 

Read about this import type here:

Posting Transcripts Step 5: Printing and using the Transcript Document

This article is primarily about the data for historic grades. Configuring the Transcript document is a separate task. If building your Transcript document, please work closely with your Implementation Manager or Account Manager no later than 2 months before the Transcript is needed.

If using a Veracross Configured document, the timeframe to configure may be much shorter than 2 months, but it is still recommended to give yourself as much time as possible. 

When the document is fully configured, this Document Publishing Quick Start guide should provide all the information needed for publishing. 


The following cleanup steps are not exhaustive, but summarize the most common cleanup that may be needed after historic grades data import and processing. 

Merge courses

Depending on how clean your import processing was, extra (duplicate) courses may have been created. It is necessary to merge duplicate courses. If duplicates are left in place for long, you may find unexpected integrity issues later. 

Archive Courses

Depending on your school's course catalog, this import may have required creation of Courses that are not currently offered. After completing imports and posting transcripts, you should Archive those old courses. It is strongly recommended to archive courses that are no longer offered, because an accurate & clean course catalog will benefit many workflows. 

Merge Transcript courses

You may have duplicate Transcript courses. If so, run this report (found on the Data Integrity homepage) and find any duplicates. It is necessary to merge duplicate transcript courses, if any exist.

These three data hygiene tasks are the most common to arise from the task of importing and posting historic grades data, but this is not an exhaustive guide. Other data integrity or cleanup may arise depending on the nature of your data. 

Frequently Asked Questions

Question 1: We have many historic rubric-based grades (skills, standards, MYP, etc.) which we would like to import. Can we import those? 

Answer 1: As of Fall 2020 it is not possible to import "Qualitative" kinds of grades. The self-service importer has support for numeric (letter) grades. 

Question 2: We have other related data we wish to show on our transcript - awards, notes, and other classifications. How do we import those? 

Answer 2: Most award types are best modeled as Person Classifications, which may be imported in batch. 

Question 3: Can we retroactively produce all relevant documents, including historic report cards, or only Transcripts?

Answer 3: Although this workflow can be used for importing historic grades into the same database location as "report card" grades, it is important to note that Veracross Support for report card documents only applies to school years in which Veracross is being used by your school. It may be possible to retroactively produce a Report Card for previous years; but if so, it is an exception, and is not guaranteed.