---
title: "Run an attendance report"
description: "Pull a daily breakdown of present / absent / late across a date range — the core licensing-compliance report."
type: guide
updated: 2026-09-14
canonical_url: https://help.nestlicare.com/owners/reports/run-an-attendance-report
roles: ["super_admin", "center_admin"]
platforms: [web]
---
The attendance report tells you, for any date range, how many children were **present / absent / late** each day — and flags any missing check-outs or unexplained absences. It's what state licensing inspectors look at first.

## Run it

1. **Reports → Attendance** in the sidebar.
2. Pick the center (or "All centers"), optional room, and a date range.
3. The report loads.

<ScreenshotWithPointers
  src="/screenshots/owners/reports/attendance-report.png"
  alt="The Attendance Summary report: stat cards, a Daily Attendance Trend chart, and a daily breakdown table"
  caption="Stat cards (total records, present, absent, late, attendance rate), the Daily Attendance Trend chart, and a per-day breakdown table. Export CSV and Print sit top right."
/>

## What each stat means

- **Total Records** — total attendance entries (check-ins + explicit absences)
- **Present** — children who were checked in at some point that day, whether or not they have been checked out yet
- **Absent** — marked absent by staff or parent
- **Late** — arrivals after your center's late cutoff, if one is configured
- **Attendance Rate** — `(Total Records − Absent) / Total Records` as a %

A child does not have to be in the building right now to count as present. Running the report for last month while the center is closed still shows every day's real attendance. The CSV export also includes the raw `checkedIn` and `checkedOut` columns; those describe each record's current state (still in the building vs. already picked up), which is why `checkedIn` is 0 for any past day.

## Reading the daily table

The **Rate** column color:

- **Green (90% and up)** — attendance looks healthy
- **Amber (75–90%)** — some absences; worth checking
- **Red (below 75%)** — something's up — illness outbreak, closure, data gap

Dates with red rates are the ones to investigate first.

## Common use cases

### Month-end compliance snapshot

1. Filter to the prior calendar month.
2. Export CSV.
3. Attach to your monthly licensing compliance file.

### Week-over-week illness tracking

1. Run for this week and last week separately.
2. Compare absent counts. Big jumps often mean norovirus or strep going around.

### Spotting missing check-outs

The report's **Data Quality** banner at the top surfaces incomplete records — children who checked in but have no check-out. Click through to **Data Health** to see the specific rows.

<Callout kind="tip" title="Missing check-outs are a compliance red flag">
Every state requires a complete in/out audit trail. If a teacher forgot to check a child out, fix it same-day — don't let gaps compound.
</Callout>

## The detailed records report

Next to the summary sits the **Attendance records** report: every check-in and check-out for the range, with who recorded each one and the hours. A child who left and came back the same day (before and after school, a midday appointment) has **one row per stay**, so an inspector sees each arrival and departure exactly as it was recorded. Days with a single stay look as they always have.

## Export and annotations

- **Export CSV** — columns: Date, Present, Absent, Late, Total, Rate. Filename: `attendance-{start}-{end}.csv`.
- **Annotations** at the bottom — add context for the period ("Snow closure 1/15, counts down across the board").

## Troubleshooting

**Report shows zero records but I know kids were here.** Either your date range is wrong, or the center picker doesn't include the right center. Check both.

**Attendance rate looks really low but we were fully enrolled.** Missing check-ins (staff didn't register some kids). Go to Data Health and fix each.

**Export CSV has a different total than the on-screen stat card.** The CSV is daily-grouped; the stat card is aggregated across the range. They should match totals — if they don't, refresh.

**Late count seems high.** Your center may have a default "late after" threshold configured. Check **Settings → Attendance** for the cutoff time.

**"Absent" rows with no reason.** Some parents don't submit a reason when marking their child absent. That is allowed and is not treated as a data quality issue. Use the Absences report's "by reason" breakdown if you want to follow up.
