Ale dirèk nan kontni prensipal la

Run an operational report

The operational reports screen is a catalogue of ten reports grouped by category. Pick one, read it as a table, and export it as a spreadsheet or a workbook.

Five of the ten return real data. The other five read tables that nothing writes, or carry a column that can only ever hold one value. Each is marked below.

Run one

  1. Open the operational reports catalogue.
  2. Select a report card. Financial Summary navigates to its own screen; the other nine render here directly.
  3. A table appears with export buttons above it.
  4. Back to Report Catalog returns to the list.

You cannot set a date range

The screen sends only the current year, and eight of the ten reports ignore it

The screen calls the underlying read with only the current year and nothing else. There is no date choice, no location choice and no year choice on this page.

The consequence: Monthly Attendance is the only report that actually uses the year sent. Daily Attendance, Weekly Attendance, Incident Log and Meal Count all fall back to the server's default of the last 30 days, and the screen does not say so. The four remaining reports are point in time and take no dates at all.

The read itself accepts a start date, an end date and a location. If you need a different window, it can be requested directly. See who can do what with analytics and reports.

The ten reports

ReportCategoryReturnsTrust it?
Daily AttendanceAttendanceDate, location, total check-ins, peak headcount, unique members, average durationNo, always empty. Reads the summary table that has no writer
Weekly AttendanceAttendanceWeek, date span, totals, average, peakNo, always empty. Same table
Monthly AttendanceAttendanceMonth, totals, average, peak, days with dataNo, always empty. Same table
Enrollment RosterEnrollmentMember name, location, program, enrolled date, status, active enrolments onlyYes
Staff RosterStaffName, location, email, role, hire date, active flagYes
Incident LogIncidentsDate, location, type, severity, status, description, OCCL-required flagYes, last 30 days
Meal CountCACFPDate, location, meal type, total meals served, validity flagPartly. The meal counts are real; the validity column reads false on every row in every installed copy of PTRS
Compliance SummaryComplianceLocation, overall score, evaluated date, active alertsNo. The score reads zero and alerts read zero for every location, because neither underlying table can be written
Financial SummaryFinancialFunders and total fundingRoutes to its own screen
Demographic SummaryDemographicsTotal active members, age groups, gender distribution, ethnicity breakdownYes

An empty attendance report renders as an empty table, not as a message, which looks exactly like a genuinely quiet month. See why analytics figures read zero.

Three catalogue descriptions promise fields that are not there

The card text comes from a fixed catalogue and does not match what the report actually contains, in three places.

Card saysThe report actually contains
Daily Attendance mentions check-out countsCheck-ins, peak headcount, unique members, average duration. There is no check-out column, and PTRS creates no check-out record anywhere
Staff Roster mentions credential statusName, location, email, role, hire date, active flag. No credential field
Meal Count mentions an age-group breakdownDate, location, meal type, total served, validity. No age-group breakdown

The page's own opening line is loose too: it names attendance, members, demographics, financial and programs, while the catalogue's real categories are Attendance, Enrollment, Staff, Incidents, CACFP, Compliance, Financial and Demographics.

Exporting

The workbook export is built on the server and is the one to prefer. It produces one sheet for most reports, four sheets for Demographic Summary, and always appends a Report Info sheet with the report's name, type and period.

The spreadsheet export is built in the browser and does not escape quotes

The Incident Log spreadsheet can be corrupted by ordinary data

This screen builds its spreadsheet export in the browser and wraps each value in quotation marks without doubling any quotation mark already inside it. Any cell containing one ends its field early and shifts every column after it on that row.

The report most exposed to this is the Incident Log, whose description column holds free-typed narrative, exactly where a quotation mark is likely to appear.

Use the workbook export for the Incident Log instead. The equivalent spreadsheet button on the financial summary escapes quotation marks correctly; this one does not.

Report types PTRS does not recognise

The read checks the report type against a fixed set of ten names and refuses anything else, saying the type is unknown. PTRS's own error catalogue describes this refusal differently from what is actually returned, so an integrator calling the read directly should expect the refusal PTRS actually sends, not the one its own documentation names.


Related

Checked against PTRS on 7 September 2026.