OneRoster with Period Attendance
Overview
This guide covers setting up CSV files for SFTP attendance integration when using OneRoster for student roster/enrollment data combined with SFTP CSV uploads for attendance data, with period-by-period attendance tracking. Setting up OneRoster and providing credentials is covered in a separate document.
Your setup includes:
Student roster and enrollments from your OneRoster API
Attendance records uploaded via SFTP as CSV files
Period-by-period attendance tracking
Attendance codes defined in a separate CSV file
(Optional) Calendar, schedule, and period data via CSV file
Setup Requirements
SFTP Access Setup
Generate an SSH key pair (if you don’t already have one)
Example: ssh-keygen -t rsa -b 4096 -f key_nameSend us your public key (e.g., id_rsa.pub). Do not send your private key.
We’ll provide:
SFTP hostname
Username
Confirmation once your key is active
Upload files to the base directory (no subfolders needed).
SFTP Upload Process
Recommended Upload Schedule
(At Least) Twice Daily Uploads (Recommended)
1. Mid-Day Upload (after morning periods)
attendance.csv — today’s attendance so far
attendance_taken.csv (optional) — tracks which sections are complete
→ Enables faster notifications for morning absences
2. End-of-Day Upload (after all periods complete)
attendance.csv — all of today’s attendance
attendance_taken.csv (optional) — all completed sections
→ Ensures all attendance is recorded promptly
If desired, you may upload more frequently.
Nightly Full Upload (Optional but Recommended)
Upload all attendance for the current school year nightly.
Benefits:
Historical corrections reflected automatically
Families get faster notifications
Teachers see accurate history
If you use nightly full uploads, we’ll configure your system to handle multi-day files.
If you are uploading Parent / Guardian contact information, attendance codes, or Calendars via SFTP, you can also upload those nightly (or whenever any changes are made).
File Processing
Uploaded files are automatically detected and processed
Processing usually takes 1–2 minutes
Check the system to verify attendance loaded correctly
CSV File Format Requirements
Encoding
Use UTF-8 encoding for all files.
Delimiters
Use commas ( , ) as the field separator.
Headers
Include a header row with column names as the first line of each file.
Quoting
Use double quotes around field values that contain commas, line breaks, or quotes.
Escape internal quotes by doubling them ("").
Example: "Parent called, said student is sick"
Empty Fields
Leave optional fields empty (nothing between commas).
Do not use NULL, "NULL", or placeholders like "N/A".
Example:
John,Smith,,555-1234
Column Order Configuration
The column order in your CSV files does not have to match this document.
We’ll configure the system to map your columns correctly.
Please send a sample CSV containing:
Header row
2–3 rows of sample data (fake/test data is fine)
We’ll configure the column mapping and confirm before going live.
