Ale dirèk nan kontni prensipal la

What an import writes

The wizard offers 64 fields across six record types. The saves behind it write 41 of them. This page is the difference, field by field, plus what gets invented when your file leaves a field blank, and what a revert can put back afterward.

How to read the tables

ColumnMeaning
OfferedThe field appears on the matching screen, in the downloadable template, and in the preview
WrittenThe save reads the matched value and puts it on the new record
DiscardedThe field is offered, matched and previewed, and the save never reads it

A discarded field is not treated as an error and produces no warning. It still appears in the preview with your own data in it.

Members: 18 offered, 12 written, 6 discarded

FieldRequiredWritten?Note
First NameYesYesMissing or blank fails the row
Last NameYesYes
Date Of BirthYesYesRead as month, day, year, in that order, the way the template shows it
GenderNoYesA value PTRS does not recognise falls back to "prefer not to say," without a warning
GradeNoYes
SchoolNoYes
AddressNoYes
CityNoYes
StateNoYes
Zip CodeNoYes
AllergiesNoYesKept as a single entry rather than split apart, so the whole cell, commas included, becomes one allergy
Medical NotesNoYesKept the same way
Guardian First NameNoNo
Guardian Last NameNoNo
Guardian PhoneNoNo
Guardian EmailNoNo
Emergency Contact NameNoNo
Emergency Contact PhoneNoNo

The six discarded fields are the whole guardian and emergency-contact block. No guardian record is ever created by an import, and an imported child has no emergency contact at all. The record-type picker describes this import as bringing in child profiles, guardian contacts and emergency information.

What gets invented when the file is silent: the enrolment date is set to today. The site is never set at all: the save takes a site as a parameter and does not actually use it.

Staff: 12 offered, 6 written, 6 discarded

FieldRequiredWritten?Note
First NameYesYes
Last NameYesYes
EmailYesYesAlso what a duplicate is matched on
PhoneNoYes
RoleNoYesAnything PTRS does not recognise becomes a plain staff role
Hire DateNoYesDefaults to today
CPR Cert DateNoNo
CPR Exp DateNoNo
First Aid Cert DateNoNo
First Aid Exp DateNoNo
Background Check DateNoNo
Background Check StatusNoNo

The six discarded fields are every certification and the background check. No credential record and no background-check record is ever created by an import. The record-type picker describes this import as bringing in staff members, certifications and background checks.

What gets invented when the file is silent: a placeholder sign-in reference, with a note in the underlying save saying it still needs to be matched up properly. No sign-in account and no PTRS account record is created, so an imported staff member cannot sign in. See How a person becomes a PTRS user.

Programs: 9 offered, 7 written, 2 discarded

FieldRequiredWritten?Note
NameYesYesAlso part of what a duplicate is matched on
DescriptionNoYes
Start DateYesYesAlso part of the duplicate match
End DateYesYes
CapacityNoYesDefaults to 30
Age MinNoYesDefaults to 5
Age MaxNoYesDefaults to 18
ScheduleNoNoThe template's own example reads "Mon-Fri 3:00-6:00 PM"
LocationNoNoThe site comes from the import job itself, not from this column

What gets invented when the file is silent, and there is no column for any of it: every imported program is written as a workshop, running the school year, delivered in person, for a mixed age group, and starting in draft status. A migrated after-school programme arrives labelled a draft workshop regardless of what it actually is.

Attendance: 7 offered, 5 written, 2 discarded

FieldRequiredWritten?Note
Member First NameYesYesUsed to find the child. Not itself stored
Member Last NameYesYesSame
DateYesYes
Check In TimeNoYesA missing time becomes midnight, in universal time
Check Out TimeNoYes
Program NameNoNoThe record is never linked to a program
StatusNoNoThe template offers present, absent or excused. Every row becomes a check-in regardless

The child is matched by first and last name alone, without regard to case, taking whichever match comes first in the organisation. Two children sharing a name receive each other's attendance.

What gets invented when the file is silent: every row becomes a check-in, recorded as entered manually, with the recorder set to the first active staff account found at the site, in no particular order. If the site has no active staff at all, every row fails.

Meal counts: 7 offered, 6 written, 1 discarded

FieldRequiredWritten?Note
DateYesYes
Meal TypeYesYesBreakfast, morning snack, lunch, afternoon snack, or supper
Total ServedYesYes
Free CountNoYesDefaults to zero
Reduced CountNoYesDefaults to zero
Paid CountNoYesDefaults to total served minus free minus reduced, which can come out negative
LocationNoNoThe site comes from the import job itself

What gets invented when the file is silent: no menu items are recorded, and the recorder is set to the first active staff account at the site.

These are federal CACFP records. The import performs no eligibility check and no meal-pattern check of any kind. It writes the counts exactly as given.

Incidents: 11 offered, 5 written, 6 discarded

FieldRequiredWritten?Note
DateYesYes
TimeNoYesAn unreadable time silently becomes midnight
CategoryYesYesAn unrecognised value fails the row
DescriptionYesYes
Action TakenNoYes
Member First NameNoNoThe incident is never linked to the child it happened to
Member Last NameNoNo
Staff First NameNoNo
Staff Last NameNoNo
Parent NotifiedNoNo
Follow Up RequiredNoNo

What gets invented when the file is silent, and there is no column for it at all: every row is recorded at the lowest severity on the scale. The reporting staff member is set to the first active staff account found at the site, never the person actually named in your own file.

Duplicate detection, by record type

Only three of the six saves check for a duplicate at all.

Record typeMatched onBehaviour on a match
MemberFirst and last name, and date of birth, within the organisationSkip, or merge
StaffEmail, within the organisationSkip, or merge
ProgramName, start date, organisation and siteSkip, or merge
AttendanceNot applicableNone. Every row is created
Meal countsNot applicableNone. Every row is created
IncidentsNot applicableNone. Every row is created

The three that never check for a duplicate ignore the choice on the Duplicates screen entirely. The screen's own merge description says this correctly: attendance, meals and incidents are always created new, because they are treated as unique events. In practice, this means running the same attendance, meal or incident file twice duplicates every row.

For the three that do check, the choice that actually runs is the one fixed at the moment you uploaded the file, not the one chosen later on the Duplicates screen itself. See the module landing page.

What a merge overwrites, and what a revert restores

A revert deletes every record the import created, outright, not hidden, just gone. For merged records, it restores from a copy taken before the merge happened, and that copy covers fewer fields than the merge itself changed.

Record typeFields the merge overwritesFields the revert restoresLost on revert
MemberGrade, school, address, city, state, postal code, gender, 7 fieldsGrade, school, gender, 3 fieldsAddress, city, state, zip code
StaffFirst name, last name, phone, role, 4 fieldsThe same 4 fieldsNone
ProgramDescription, capacity, minimum age, maximum age, end date, 5 fieldsCapacity, 1 fieldDescription, minimum age, maximum age, end date

The revert confirmation describes deleting every newly created record and restoring every merged one to its original state. For staff, that is accurate. For members and programs, it is not.

Limits and formats

LimitValue
Maximum file size50 megabytes
Maximum rows50,000
Accepted formatsTwo common spreadsheet formats
Offered by the file pickerThose same two, plus an older format PTRS does not actually accept
Preview rows20

The older format is offered by the picker and refused by the save behind it, with a message naming the two formats that do work.

Dates and times are read in a fixed, US-style order throughout, so a file using the day-first order common outside the US will silently produce wrong dates wherever the day is 12 or lower, and fail the row outright otherwise.

The job's own status values

An import job moves through nine distinct states as it runs. The screen's own copy of that list is missing two of the nine, and nothing ever actually checks for those two, so the gap has no visible effect.

A count of updated records is shown on both the summary screen and the revert confirmation, and nothing anywhere in PTRS ever assigns a value to it, so that particular figure always reads zero.

Checked against PTRS on 7 September 2026.