# SIS and LMS data

> How the nightly student information system and learning management system extract reaches Unifuse over SFTP, the four files it expects, how imports are validated, and what you are alerted about.

Source: https://docs.unifuse.ai/integrations/sis-and-lms-data/

The nightly extract is how most institutions give Unifuse their SIS and LMS data. Your
registrar or IT team drops CSV files on an SFTP server each night; Unifuse picks them up,
validates them and updates student records.

## Before you start

- Add the **Banner / LMS nightly extract (SFTP)** connector under Integrations with the SFTP
  host, credentials and directory, the file-name patterns, and the email addresses to alert.
- Agree the column layouts with Unifuse support during onboarding. Unifuse keeps the agreed
  column list for your institution so the registrar has a single reference.

## The four files

| File | Default pattern | Content |
|---|---|---|
| Students | `*students*.csv` | One row per student, in Banner column names (ID, name, term, GPA, standing and so on). |
| Registrations | `*registrations*.csv` | One row per student per course section, with the course reference number. |
| LMS activity | `*activity*.csv` | Per student per section: current score; on-time, late and missing submissions; last activity. |
| LMS attendance | `*attendance*.csv` | Per student per section per date: status and minutes present. |

Patterns match the file name only and ignore case, so dated file names need no change. Files
load in the order above each night.

## How an import is validated

- A file presented twice is ignored the second time; Unifuse matches on the file's content.
- Column order, letter case and surrounding whitespace do not matter. A renamed or missing
  column halts that file.
- Malformed rows are quarantined and the rest of the file is imported. When a file has
  quarantined rows, the "mark missing students inactive" step is skipped for that night, so a
  bad file never deactivates students by accident.
- A student missing from the students file is marked **Inactive**, never deleted. Notes,
  tags, escalations and caseload assignments survive.

## Alerts

When a file halts or rows are quarantined, Unifuse emails the alert recipients, writes a
Critical entry in the audit log, and shows a red item in the notification bell for everyone
with *manage connectors*.

## Retention

Staged and quarantined rows are kept for 30 days and then purged. Batch summaries are kept.

## What you see in the product

The student record shows SIS and LMS data side by side, with **Not on file** wherever the
latest import had nothing. The roster gains LMS Score and Attendance columns, and the nightly
risk job uses the new data to place students in [cohorts](/student-success/risk-cohorts/).

## Related

- [Connector catalogue](/integrations/connectors/)
- [The student record](/student-success/student-record/)
