Skip to main content

SFTP Attendance CSV Setup Instructions

This guide covers SFTP access setup, upload schedules, and CSV formatting for districts using OneRoster with period-by-period attendance tracking. For IT administrators configuring SFTP-based attendance integration with Edia.

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

  1. Generate an SSH key pair (if you don’t already have one)
    Example: ssh-keygen -t rsa -b 4096 -f key_name

  2. Send us your public key (e.g., id_rsa.pub). Do not send your private key.

  3. We’ll provide:

    • SFTP hostname

    • Username

    • Confirmation once your key is active

  4. 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.

Did this answer your question?