> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ontime.hosai.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Scheduling and exports

> Set a report to run on a schedule, export in CSV, Excel or PDF, and find every other export surface in OnTime.

export const PermissionNote = ({perm}) => <Info>
    Requires the <code>{perm}</code> permission. Ask your administrator if an
    action described here is missing from your screen — see
    [Roles & permissions](/help/concepts/roles-and-permissions).
  </Info>;

## Exporting a report

<PermissionNote perm="report:read" />

From the run drawer, after previewing:

| Format    | Notes                                                                     |
| --------- | ------------------------------------------------------------------------- |
| **CSV**   | Plain rows. The universal option.                                         |
| **Excel** | A real `.xlsx` workbook.                                                  |
| **PDF**   | A rendered table, for handing to someone who will not open a spreadsheet. |

Which formats a report offers is set on the report itself.

## Scheduling

<PermissionNote perm="report:write" />

A report can be given a frequency — daily, weekly or monthly — and OnTime will run it on that cadence. The library shows the next scheduled run.

<Warning>
  **A scheduled run produces no delivery.** This is the important limitation. OnTime does run the report on schedule and refreshes its last-run timestamp and row count — but there is **no email or file delivery of the output**. The only visible result of a scheduled run is updated metadata in the library.

  If you need a report to arrive somewhere on a schedule, pull it through the public API instead.
</Warning>

Two further behaviours worth knowing:

* **A schedule missed by more than 24 hours is re-armed and skipped**, not backfilled. A system that was down over a weekend does not produce three catch-up runs on Monday.
* **A schedule can be set on a non-runnable report.** The schedule form does not check whether the report can actually produce data. Harmless today, since nothing is delivered either way, but do not read a scheduled deferred report as working.

## Every export in OnTime

Reports are not the only place data leaves the system. The full set:

| Surface                       | Where                       | Format                            |
| ----------------------------- | --------------------------- | --------------------------------- |
| **Reports library**           | Reports → run drawer        | CSV, Excel, PDF                   |
| **Attendance — organization** | Day report / month calendar | CSV                               |
| **Attendance — one employee** | Employee → Attendance tab   | CSV                               |
| **Employee directory**        | Employees list              | CSV, honours current filters      |
| **Audit log**                 | Employee → Audit tab        | CSV                               |
| **Admin dashboard**           | Dashboard                   | CSV, for the selected day         |
| **Manager team report**       | Manager app → Reports       | CSV                               |
| **Regularizations**           | Regularizations inbox       | CSV, honours the status filter    |
| **Swaps**                     | Swap board                  | CSV                               |
| **Holidays**                  | Holidays                    | ICS calendar file                 |
| **Statutory registers**       | Compliance                  | CSV per register, or a ZIP bundle |

<Note>
  Outside the Reports library, **exports are CSV only** (with the two exceptions above: holidays as ICS, the compliance bundle as ZIP). If you need Excel or PDF for something the library covers, run it there instead of exporting from the feature screen.
</Note>
