Course Request Import Type

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.


The client Data Importer allows schools to import Person Course Requests. For schools that use the Schedule Builder, Course Requests in Veracross are a significant component of building your schedules and class rosters. Veracross has many native tools to add course requests (read more about adding course requests), and using the data importer may be a helpful addition to the process.

If your school uses the Schedule Builder, ask your Account Manager if this data import type is right for you – and this import type can be enabled for your school. Once enabled, a new import type called “Person Course Requests” can be seen in the data importer.

Importing course requests involves the following two steps.

  1. Preparing the data for import, which involves using the csv template (see details below)
  2. Importing the data using the Veracross Data Importer.

Preparing the Data for Import

Prepare a comma-separated value (CSV) file containing data for the fields listed below. This CSV must contain all of the required columns in the order listed below.

  • veracross_student_id
  • veracross_course_id is the numeric “internal course ID” which may be found in Axiom queries.
  • school_year may be left blank (see below), or specified in the 4-digit year. For example, providing the value “2018” in the file will add an “18-19” Course request for the student.
  • veracross_grading_period_id may be left blank (see below), or specified with the internal Grading Period ID. 50 represents the “ALL” grading period. Numeric ID values for grading periods will be different for different schools.
  • request_group may be left blank (see below) or a request_group number may be specified in the file in order to group course requests that should operate as alternate options to one another. Request_group must be numeric, but the precise value is arbitrary. Any two course requests for a student with the same number in the request_group field will be grouped together.
  • enrollment_level_id may be left blank (see below) or an enrollment_level_id may be specified in the file in order to select an enrollment level for a course request. Depending on your school’s configuration, “1” might be the “AP” enrollment level, for instance.
  • priority may be left blank (see below) or, in conjunction with request_group may be used to configure alternate requests by priority. Supply a numeric value of “1”,”2″ or “3” in order to specify the priority level of a course request within a group of requests.
  • notes may be left blank. Notes may be used to track the reason for a course request, or any other purpose.

The fields ‘veracross_student_id‘ and ‘veracross_course_id‘ may not be left blank. If either of those two fields is left blank the import will fail.

Automatic Values Supplied by the Importer

If any of the other fields are left blank, the importer will automatically supply a value where appropriate in order to create meaningful Course Request data.

  • school_year. If school_year is left blank, the importer procedure will provide the value from the Active Scheduler Year system parameter. It will insert a course request for the student and course specified, with the school_year field on the course request derived from the public value of the “Scheduler School Year” system parameter. To put it simply, update the “Scheduler School Year” parameter to represent the Year your school is now scheduling; then you may use the importer and leave this field blank in your file.
  • veracross_grading_period_id. If this field is left blank in your import, the importer will assume you meant “ALL” and the course request will be imported for grading period “ALL”.
  • request_group. This is potentially a little more confusing. Unless you are intentionally grouping many course requests into one group, course requests need to have unique request_group values for a student for a particular year; otherwise, the requests are “alternates” for one singular group. For example, a request for “English 9” for a student needs to have a request_group number specified (it may be arbitrary) and a request for “Geometry” also needs to have a request_group number specified (and it also may be arbitrary) – and, those values need to simply be different from each other. If you leave request_group blank in the importer template, the importer assumes you meant a “new” request group, so the new course request will be inserted with the next sequential number for the student’s course request groups, so as to avoid inadvertently grouping many requests together.
  • enrollment_level_id. Not every school uses enrollment level during the scheduling process, and this may be ignored and left blank. If it is, the request will be inserted with the enrollment level set as “N/A”.
  • priority. Priority only takes on meaning if two or more requests are grouped together (see request_group immediately above). If two or more requests are grouped, it makes sense to provide a priority value of “1” or “2” or “3”. If left blank in the import template, the importer will create the course request with the priority level set as “First Priority.” This may be a potential pitfall: for example, if three requests are grouped in the file, but “priority” is left blank in the file, then all three will be imported with “first priority”.

Importing the data

Once the file is prepared according to the instructions above, head to and click “New Data Import” and select, “Person Course Requests.” Once there, select a file from your computer files and import it there.

Once the course requests are imported, they can be found in a “find course requests” query in Axiom or on a student-by-student basis on the Course Requests tab for the student.