TrackITk12

Bulk Upload Reference

Column reference, instructions, and templates for the sites.csv, users.csv, patrons.csv, and devices.csv bulk upload files in TrackITk12.

TrackITk12 can create and update Sites, Users, Patrons, and Devices in bulk by uploading a CSV file for each. This page documents the columns each file needs, how records are matched and updated, and provides a ready-to-use template for each one.

General rules

  • Files must be saved as CSV (UTF-8 encoding).
  • The first row must be a header row with the exact column names shown below — don’t rename, remove, or reorder them. Extra columns you don’t need can be left out entirely, except where marked Required.
  • Uploading a file updates existing records and creates new ones in the same pass — you don’t need to separate new records from updates. Each file below explains exactly how existing records are matched.
  • Leave a cell blank to skip an Optional field. Required fields must have a value on every row.
  • sites.csv, users.csv, and patrons.csv can be uploaded together on the Data Integration → Bulk Upload page. If you’re uploading more than one at once, sites are always processed first, then users, then patrons — so a new site referenced in users.csv can be included in the same upload as its sites.csv row. devices.csv is uploaded separately from the Devices page.

sites.csv

Upload from Data Integration → Bulk Upload.

A site is matched to an existing record by site_name, then site_acronyms, then site_code (whichever matches first) — if none match, a new site is created. When a match is found, all of that site’s fields are overwritten with the values from the row.

Column Required Description Example
site_name Required Site name. Used to match existing sites. Lincoln Elementary School
site_acronyms Required Short acronym for the site. LES
site_cds Required CDS (or equivalent district) code. 12-73399-1232232
site_code Required Short numeric or alphanumeric site code. 786978
site_address Required Street address. 123 Lincoln Ave
site_type Required Elementary School, Middle School, High School, or District Office Elementary School
sitecity Optional City. Springfield
sitestate Optional State. CA
sitezip Optional Zip code. 90001
prnfirstn Optional Principal’s first name. Maria
prnlastn Optional Principal’s last name. Garcia
email Optional Principal’s email. m.garcia@example.edu
phone Optional Principal’s phone number. 5551234567

Template

site_name,site_acronyms,site_cds,site_code,site_address,site_type,sitecity,sitestate,sitezip,prnfirstn,prnlastn,email,phone
Example Elementary School,EES,12-73399-1232232,897908,345 Main Street,Elementary School,Anytown,CA,12345,Jane,Doe,j.doe@example.edu,5555550100

users.csv

Upload from Data Integration → Bulk Upload.

A user is matched to an existing record by email. When a match is found, their name, room, role, site, and status are updated. Any active user who is not present in the uploaded file is automatically marked Inactive — the file is treated as the complete, current list of active users, so leave out only the users you intend to deactivate. New users are created with a random password and must change it on first login — no email is sent automatically, so use Send Temporary Password on each new user’s Edit User page afterward to email them one.

Column Required Description Example
first_name Required First name. Jane
last_name Required Last name. Doe
email Required Email address. Used to match existing users. j.doe@example.edu
role_id Required The numeric ID of an existing role (see the Roles page for your district’s role IDs). 4
site_name Required Must match an existing site’s name exactly (case-insensitive). Example Elementary School
rm_num Required Room number or identifier. 101
middle_name Optional Middle name. Ann
status Optional Active or Inactive. Defaults to Active if left blank. Active

Because this upload deactivates any active user who is missing from the file, always export or double-check your current user list before uploading a partial file.

Template

first_name,middle_name,last_name,email,role_id,site_name,rm_num,status
Jane,,Doe,j.doe@example.edu,4,Example Elementary School,101,Active
John,A,Smith,j.smith@example.edu,4,Example Elementary School,102,Active

patrons.csv

Upload from Data Integration → Bulk Upload, or from the dedicated Patrons → Bulk Upload page — both accept the same file format.

A patron is matched to an existing record by badge_id. When a match is found, all of that patron’s fields are updated. Rows with missing required fields, an unrecognized role_name, or an unrecognized site_name are skipped (with the reason listed after upload) — the rest of the file still processes normally.

Column Required Description Example
badge_id Required Unique badge/ID number. Used to match existing patrons. STU-001
first_name Required First name. Alex
last_name Required Last name. Smith
email Required Email address. a.smith@example.edu
grade Required Grade level. 9
status Required Active or Inactive. Active
rm_num Required Room number or identifier. 204
role_name Required Must match an existing role’s name exactly (case-insensitive), e.g. Student. Student
site_name Required Must match an existing site’s name exactly (case-insensitive). Example Elementary School
middle_name Optional Middle name.
guardian_name Optional Parent or guardian name. Jane Smith
phone Optional Contact phone number. 5558675309

Template

badge_id,first_name,middle_name,last_name,email,grade,status,rm_num,role_name,site_name,guardian_name,phone
STU-001,Alex,,Smith,a.smith@example.edu,9,Active,204,Student,Example Elementary School,Jane Smith,5558675309
STU-002,Maria,Elena,Garcia,m.garcia@example.edu,KN,Active,101,Student,Example Elementary School,,
STU-003,Jordan,,Lee,j.lee@example.edu,12,Active,215,Student,Example Elementary School,Pat Lee,5551234567

devices.csv

Upload from the Devices → Bulk Upload page.

A device is matched to an existing record by serial_num. When a match is found, its fields are updated (including reassignment or check-in). Rows with missing required fields, an unrecognized category_name or site_name, an invalid device_condition, or an unrecognized badge_id are skipped (with the reason listed after upload) — the rest of the file still processes normally.

Column Required Description Example
category_name Required Must match an existing device category exactly (case-insensitive). Chromebook
serial_num Required Unique serial number. Used to match existing devices. SN-2024-0001
brand_name Required Manufacturer. Dell
model_name Required Model. Latitude 5420
device_condition Required One of: new, good, broken_screen, damaged_keyboard, not_charging, water_damaged, lost good
site_name Required Must match an existing site’s name exactly (case-insensitive). Lincoln Elementary School
device_tag Optional Asset tag or label. TAG-001
badge_id Optional Patron badge ID to assign the device to. 12345
return_at Optional Return date, format YYYY-MM-DD. 2026-06-15
expiration_date Optional Warranty/lifecycle expiration date, format YYYY-MM-DD. 2028-06-15
comments Optional Free-text notes. Screen cracked

Template

category_name,serial_num,device_tag,brand_name,model_name,device_condition,site_name,badge_id,return_at,expiration_date,comments
Laptop,SN-2024-0001,TAG-001,Dell,Latitude 5420,good,Lincoln Elementary School,,,2028-08-01,
Laptop,SN-2024-0002,TAG-002,HP,EliteBook 840,new,Lincoln Elementary School,,,2029-01-15,Assigned to new teacher
Laptop,SN-2024-0003,TAG-003,Apple,MacBook Air,good,Washington Middle School,,2026-06-15,2027-06-15,End of year return