(301) 947-7380
99.987% uptime·0 security breaches·35+ years in education·Built and supported in the U.S.

What we shipped, what we learned, what schools are doing.

Every update from the PCR Educator team.

Posted June 03, 2026

A PCR Educator DAT Query can now compute an aggregate across a wider group than the row it sits on, while the query stays grouped at its own level. A new Partition By option on any Aggregate field puts a row's own number and the total it belongs to side by side. Running totals, subtotals, and share-of-whole calculations fit in a single DAT Query.

What's new

Partition By on any Aggregate field. Set a field's role to Aggregate, choose the function (Sum, Count, Average, and the rest), then pick a Partition By column from a typeahead. The aggregate computes across that wider partition while each row stays grouped at the DAT Query's own level.

Optional on every Aggregate field. Partition By is there when you want a wider calculation. An Aggregate field with no partition set is a standard aggregate.

One DAT Query for the comparison. A row can show its own value and the value of the group it belongs to, together, in a single DAT Query.

Why it matters

A row can carry both its own number and the number it belongs to. Show each course's enrollment next to its department's total enrollment. Show a donor's giving next to the campaign total. Show a student's tardies this term next to their full-year count. The reader sees the part and the whole together, and the comparison is immediate.

A few ways to talk about it

  • Running totals, subtotals, and share-of-whole math live in a single DAT Query.
  • Partition By sets each row next to the total of the group it belongs to.
  • An Aggregate field with no partition set stays a standard aggregate.

Available now to all PCR Educator schools. Your account team can walk you through Partition By in a DAT Query whenever you're ready.

Posted June 02, 2026

Check In / Check Out is a PCR Educator CMS widget that lets a student, a staff member, or an authorized pick-up identify themselves at a screen and check in or out for the day. Schools commonly deploy it as a self-serve attendance kiosk on a laptop, a tablet, or a wall-mounted touch panel. The widget is configured entirely from the standard page editor, with no developer involvement, and it can optionally write period and daily attendance.

Setup happens in the CMS page editor, so configuring the widget requires an account with permission to edit CMS pages.

Schools deploy the widget for:

  • Morning carpool and after-school care check-in stations
  • Athletics, field trip, and extended-day program rosters
  • Late-arrival and early-dismissal desks at the front office
  • Optional automatic period attendance for late or early-departure students

Setup at a glance

From the page editor:

  • Open the CMS page where the kiosk will live, or create a new page.
  • Click Add Widget, then User, then Check In / Check Out.
  • Open the widget Properties dialog with the gear icon and configure Sign In Type, Operations Type, Program Type, the button text, and any of the optional customizations described below.
  • Save the widget. The kiosk is live immediately.
  • On the device itself, sign in once with a staff or operator account before leaving the kiosk unattended. The widget only renders for a signed-in session. Once the device is signed in, any number of students sign themselves in and out against it.

To write Late, Absent, and Leaving Early stamps automatically, which is recommended for schools that want period attendance from the kiosk:

  • Add a second widget to the same page: Parent/Student Attendance Entry.
  • In its Properties, set Late Type, Absent Type, Leaving Early Type, and, optionally, Daily Attendance Type to the attendance discipline types your school uses.
  • Save. The kiosk now writes period attendance automatically when students check in or out.

For full configuration of the partner widget, see CMS Widget - Parent/Student Attendance Entry.

Sign-in modes

Each kiosk supports one or more of the following sign-in methods. Enable as many as appropriate with the Sign In Type property. When two or more are enabled, a pill row appears at the top of the kiosk so the user can choose. With one enabled, the row is hidden.

Mode When to use it
Username Standard PCR Educator username and password, the same credentials students use to log in to the portal. Works on shared family devices.
Name + PIN The student types their first name, last name, and 5-digit PIN. Best for younger students with no portal login.
PIN PIN only, and the fastest option. Requires PINs to be unique across the school database. Recommended for high-throughput stations.
Student ID Numeric student ID, typed on the on-screen keypad or scanned from a printed barcode. The slot count and maximum length come from the school's configured ID width.
Staff ID Numeric staff ID, typed on the on-screen keypad or scanned from a printed barcode. It works like Student ID, but it searches the staff roster, and its slot count comes from the school's staff ID width. Enable it for a faculty or staff sign-in kiosk.
Alternate ID A second numeric ID stored on the student record, such as a badge number or an RFID short-code. It lets families reuse a badge that does not match the official student ID. The value is looked up against the alternate ID field on the student record, and ambiguous values are treated as not found, so a student never accidentally signs in as someone else.

One kiosk can offer student and staff sign-in together. The widget records each check-in as student or staff from the mode the person used: the Staff ID mode records a staff member, and every other mode records a student. Staff check-ins are recorded against the staff roster. They do not send notification emails, and the period attendance integration applies to student check-ins only. Staff sign in through the Staff ID mode, because the Username, Name + PIN, PIN, and Alternate ID modes resolve against student and household records.

Pick one default with the Default Active Mode property. That pill is highlighted on first load. The kiosk also remembers which pill the user last touched and restores it after any submission, so a barcode scanner station that opens to Student ID stays on Student ID after each scan.

Optional: period attendance integration

Placing a Parent/Student Attendance Entry widget on the same page changes the kiosk from a record of who is on campus into a full attendance writer. On every successful student check-in or check-out, the kiosk will:

  • Write Absent stamps for any scheduled periods that ended before the student checked in, which fills the gap.
  • Write a Late stamp for the period in session at check-in time.
  • Write a Leaving Early stamp for the period in session at check-out time.
  • Optionally stamp every period after the check-out as Absent, when the school enables it.
  • Optionally write a single daily attendance row when a school-level type is configured.

All writes respect a same-user audit gate, so teacher-entered attendance is never overwritten, and prior kiosk stamps can be cleanly cleared when the student returns the same day. For the full setup of the partner widget, see CMS Widget - Parent/Student Attendance Entry.

Late and early departure thresholds

Many schools have rules such as "a student more than 20 minutes late is marked Absent" or "a student leaving in the first 30 minutes counts as Leaving Early, and beyond that it is a normal departure." The kiosk supports both with two integer properties.

Property What it does
Late Absent Threshold Minutes When set to a positive integer, on check-in: if the student arrives more than this many minutes after the current period started, the current period is stamped Absent instead of Late. Set to 0, the default, to disable.
Leave Early Threshold Minutes When set to a positive integer, on check-out: the current period is stamped Leaving Early only if the student is checking out within this many minutes of the period starting. Past that point, no Leaving Early stamp is written. Set to 0, the default, to disable.

Both thresholds measure minutes elapsed since the current period's nominal start time, using the school's schedule data. If the student has no scheduled period at that moment, such as during lunch, before school, or after dismissal, the thresholds do nothing and the kiosk falls back to its default behavior.

Customization options

Beyond the sign-in modes and thresholds, the widget includes a broad set of properties for tailoring messages, behavior, and presentation. The most commonly used:

Property Purpose
Operations Type FullCycle (Check In and Check Out), In only, Out only, or In and Out without cycle pairing.
Default Active Mode Which sign-in pill is highlighted on first load. Useful for single-purpose stations.
Automatic Check In Out Auto-toggles between In and Out based on the student's most recent state, which is useful for one-button carpool stations. It applies only when Operations Type is FullCycle.
Auto Reset Seconds How long the success card stays on screen before the form returns for the next student. The default is 6 seconds. Set it to 0 to leave the success card up until the next student signs in.
Check In / Check Out Success and Error Messages All visible text is school-customizable: the welcome message, the goodbye message, the not-found prompt, the already-checked-in warning, and more.
Show Student Photo When enabled, the success card displays the student's school photo so staff can visually confirm the right student checked in.
Auto Clear Future Absences On Return When a student who was checked out, and stamped Absent for later periods, returns the same day, this clears those Absent stamps automatically so teachers can mark fresh attendance.
Stamp Future As Absent On check-out, stamp every period after the check-out time as Absent. This is opt-in per school.
Program Type Restricts the kiosk to a single program, such as Morning Care, After School, or Athletics, so a multi-program campus can run distinct kiosks for each. The widget requires a Program Type unless the page also has a Parent/Student Attendance Entry widget.

What students see

On every kiosk the experience is the same: large touch targets, no scrolling, and no logins to remember unless the school chooses Username mode.

  • A row of sign-in pills at the top, hidden if only one mode is enabled.
  • The matching input panel below, which is a numeric keypad for ID or PIN, a username and password form for Username mode, or a name and PIN form for Name + PIN.
  • Large Check In and Check Out buttons.
  • After submitting, a calming success card with the school greeting, the student's name shown prominently, and their photo and profile (Name, ID, Grade, Status). The form returns automatically after the configured timeout.
  • On error, the form stays in place, the typed value is preserved so the student can fix a typo without retyping, and the error message displays in red.

Best practices

  • For high-traffic stations such as carpool, enable a single sign-in mode, either PIN or Student ID, so the pill row hides entirely. Fewer taps mean faster lines.
  • Pair Alternate ID with a USB barcode scanner mounted at the kiosk so students can scan an existing school badge with no typing, as long as the barcode value is numeric and fits within the configured slot count.
  • When using the Late Absent Threshold, set it to match the school's published Late versus Absent policy, for example "20 minutes late is Absent." Communicate the rule to families in your handbook.
  • Pair an Auto Reset Seconds value of 3 with a kiosk on a public touch screen to keep the next student's experience clean. Use a higher value, 8 to 10, where staff want time to read each success card.
  • Test with at least one student account from each grade level or school division before going live. Different schedules can expose configuration gaps.

Need a hand?

Your PCR Educator account manager can walk you through a setup tailored to your school's carpool, after-school, or athletics workflow, including custom sign-in messages and visual styling. Submit a ticket from your Customer Portal, or email support@pcreducator.com.

Posted June 01, 2026

A PCR Educator DAT Query now supports an Auto mode for the Pivot role. Pick a field, set its role to Pivot (Auto), choose the aggregate function and the field to count or sum, and the query discovers the most-frequent values on its own. Each becomes its own column, with an "Other" bucket catching everything else.

What's new

Pivot (Auto) as a field role. A new value in the Role dropdown sits next to Group, Aggregate, and Pivot. Pivot (Auto) is eligible for any field that holds categorical values, no upfront value list required.

Top values discovered at query time. The query finds the most-frequent values in the chosen field each time it runs, up to twenty columns, and adds an "Other" bucket for the long tail.

One aggregate per pivoted column. Count, Sum, Average, Minimum, or Maximum. Whatever function you pick applies to every discovered column and to "Other."

Built for fields where the value list is unknown or shifts. Course names, action types, donor categories, inquiry sources. Anywhere a manual Pivot would mean typing out values that change year to year.

Saves and reruns like any other DAT Query. The auto-pivot refreshes with the query, so the columns reflect the current data each time the report runs.

Why it matters

Manual Pivot expects the user to list the values that should become columns. That works when the list is short and stable. It does not work when the catalog changes from year to year, or when no one wants to track down every value a field can hold. Pivot (Auto) removes that work. A course-load matrix or an action-type breakdown stays current as new courses are added and new action types appear, with no edits to the query.

A few ways to talk about it

  • Pick the field, the function, and the target. The columns come from the data.
  • Top twenty values plus an "Other" bucket, refreshed every time the query runs.
  • A natural fit for high-cardinality fields where the value list is unknown or shifts year to year.

Available now to all PCR Educator schools. Your account team can walk you through Pivot (Auto) in a DAT Query whenever you're ready.

Posted May 28, 2026

A PCR Educator DAT Query now puts a copy icon on every field row. One click creates a second instance of the same field, and that copy carries its own role and settings. The same field can do two jobs in one DAT Query.

What's new

Copy icon on every row. Each field row in a DAT Query has a copy icon. Selecting it adds a second row for the same field, ready to configure on its own.

A role for each copy. The duplicate is a separate row with its own Role, so the same field can be grouped on in one row and aggregated on in another.

Two aggregates of one field. A number can appear as both a Sum and an Average in the same DAT Query, each in its own row.

Why it matters

A DAT Query often calls for the same field in more than one role. A date can group the rows and count them. A balance can show as a total and as an average in the same view. Duplicating a row makes both uses visible on screen: two rows, one field, each with its own job.

A few ways to talk about it

  • A copy icon on every field row puts the same field to work in two roles.
  • Group on a field and aggregate on it in the same DAT Query.
  • Show a value as both a Sum and an Average, side by side.

Available now to all PCR Educator schools. Your account team can walk you through the duplicate-row button whenever you're ready.

Posted May 27, 2026

A calculated field in a PCR Educator DAT Query can now reference another field by its alias name in square brackets, for example [Absences in Class] * 100.0 / [Total Absences]. The expression reads in plain English, and the DAT Query stays correct when fields move.

What's new

Reference by name. A calculated field can name the field it needs by its alias, written in square brackets. The alias is the field name you already see in the query.

Stable when fields move. An alias reference points to a field by name, so reordering or duplicating fields keeps every calculation correct. PCR Educator resolves the alias to the field when the DAT Query runs.

Readable expressions. An expression like [Gifts This Year] minus [Gifts Last Year] explains itself. The next person who opens the DAT Query can read the math directly.

Why it matters

Naming the field keeps the meaning of a calculation visible on the page. An expression built from aliases reads the way a school talks about its data. Concentration ratios, year-over-year deltas, and weighted averages can be written with names that say what they mean, and the DAT Query keeps working when someone rearranges the fields later.

A few ways to talk about it

  • Calculated fields in a DAT Query reference other fields by name, so the math reads in plain English.
  • Reorder or duplicate fields freely. Alias references stay pointed at the right field.
  • Concentration ratios, year-over-year deltas, and weighted averages, written the way you would say them.

Available now to all PCR Educator schools. Your account team can walk you through alias references in a DAT Query whenever you're ready.

Posted May 26, 2026

This filter identifies students who have reached a specified number of absences in the current semester. It uses the new Division Calendar table so the filter automatically scopes to the current marking period and semester, with no date editing required at the start of each term.

When to use

Schools often want to notify parents and admins when a student crosses an absence threshold: for example, 5 absences, 7 absences, 9 absences, and so on. Build one filter per threshold. Each filter feeds a separate Notification Trigger that sends exactly one email per threshold per student per semester. See FAQ: Configuring Absence Threshold Notification Trigger for the trigger configuration.

Filter structure

The completed filter follows this tree:

  • Student Info
    • Period Attendance And Discipline
      • Count of Period Attend Disc Id > 4
      • Division Calendar ((attendance only))
        • School Id = 1

The Division Calendar ((attendance only)) child is the join that makes the filter scope to the current semester. For the Division Calendar feature itself, see Update: Division Calendar, Now in Data Analytics.

Steps

  • Navigate to Scheduling > Students.
  • Click the filter funnel icon next to the Select Saved Filter... dropdown above the student grid.
  • In the Add Filter Item dropdown, pick New Filter and click Add.
  • The query tree appears with Student Info as the root. Click the + icon next to Student Info.
  • In the second dropdown at the top of the Connect modal (to the right of With), pick Period Attendance And Discipline.
  • Click Select on the Student Info > Period Attendance And Discipline path.

Note: Always pick the destination table from the second dropdown at the top of the Connect modal. The Find Table autocomplete and Search button below open a Connect To dialog that does not list path-registered variants like Division Calendar ((attendance only)).

  • The Period Attendance And Discipline conditions modal opens. In the Conditions row:
    • Change the first dropdown from Field to Calculated/Aggregate.
    • Set the aggregate function to Count.
    • Pick the field Period Attend Disc Id.
    • Change the operator to >.
    • Type the threshold value (for example, 4 for a "5 or more absences" filter, since greater-than-4 catches 5, 6, 7, ...).
    • Click Add.
  • Click Save on the Period Attendance And Discipline modal.
  • Back on the query tree, click the + icon next to Period Attendance And Discipline.
  • In the Connect modal, click the second dropdown (to the right of With) and pick Division Calendar ((attendance only)).
  • In the Division Calendar ((attendance only)) conditions modal, add a condition: Field School Id, operator =, value the school_id for the division you want to scope to (commonly 1). Click Add, then Save.
  • Back in the Filter modal, click Save at the bottom.
  • On the Save Filter page, type a clear name in Filter Name (for example, "Absences 5 or More, Current Semester") and click Save New.

The filter is now available as a Merge Filter on any Notification Trigger that targets students, and is also selectable from the Students page Select Saved Filter dropdown.

Cloning for additional thresholds

To create the filter for 7, 9, and higher thresholds, repeat the steps and change only the threshold value in the Count condition. Because Division Calendar always returns the current semester for each division, these filters do not require updates when the semester or academic year rolls over.

Example: For a "7 or more absences" filter, the Count condition is Count of Period Attend Disc Id > 6. For "9 or more," use > 8.

Notes

The aggregate condition lives on the parent table (Period Attendance And Discipline), not on Division Calendar. The Division Calendar join scopes which attendance records are counted to the current semester. The aggregate condition counts them.

The variant name in the second dropdown (here Division Calendar ((attendance only))) reflects the specific join path registered for that source table in dmt_table_joins. Other source tables may show different Division Calendar variants.

Posted May 26, 2026

This Notification Trigger sends one email to parents and admins when a student reaches a specified absence threshold in the current semester. It uses the new period-aware quota controls so the email goes out exactly once per threshold per student per semester, not every day.

When to use

Schools often want to notify parents and admins when a student crosses an absence threshold: for example, 5 absences, 7 absences, 9 absences. Build one trigger per threshold, each pointing at the matching saved filter from FAQ: Configuring Absence Threshold Filter.

Steps

  • Navigate to Home > Notifications > Notification Triggers.
  • Click New to start a new trigger.
  • Fill the standard top-of-form fields:
    • Category: the schedulable attendance trigger type (the entry that exposes the Send Rate controls in Custom Settings).
    • Name: a clear name such as "Absence Alert 5 in Semester".
    • Is Active: checked.
    • Recipient / Data Relationship: Parent-Child (parents receive the alert; admins are added via the role list at the bottom of the form).
  • Set the filters:
    • Eligible Recipients Filter (User): the saved user filter for parents and admin recipients.
    • Merge Filter: the absence threshold filter from FAQ: Configuring Absence Threshold Filter, for example "Absences 5 or More, Current Semester".
  • Pick the absence alert Email Template.

Send Rate Settings

These controls (introduced in Update: Notification Triggers, Now on Your School's Calendar) cap the trigger so each student receives exactly one email per threshold per semester:

  • Send Rate: Daily. The job evaluates each day, and the caps below prevent daily sending.
  • Minimum days between fires: 30. This is a per-student frequency floor that prevents repeat sends if a student's count momentarily flickers.
  • Maximum fires per: Semester. Pick Academic Year instead if you would rather cap once per year across both semesters.
  • Maximum number of fires: 1.
  • School division for period: required when Maximum fires per is Semester or Marking Period. Pick the appropriate division. The dropdown is hidden for Academic Year and Don't limit.

Note: If you pick Semester or Marking Period without selecting a School division for period, the save is blocked with the message "Pick a school division - required when 'Maximum fires per' is Semester or Marking Period."

Visible for Roles

At the bottom of the form, check the admin role(s) that should also see the notification in their inbox.

Save and repeat

Click Save. To create the trigger for 7, 9, and higher thresholds, clone the trigger and change only:

  • The trigger Name (for example, "Absence Alert 7 in Semester").
  • The Merge Filter selection (point at the matching saved filter for that threshold).

Send Rate, Minimum days between fires, Maximum fires per, Maximum number of fires, and School division for period stay identical across thresholds.

How the period scoping works

The trigger's Maximum fires per: Semester cap counts fires within the boundaries of the selected School division for period's marking-period and semester calendar. When the semester turns over, the per-student counter resets and the trigger is eligible to fire again on the new semester.

This works in tandem with the Merge Filter from FAQ: Configuring Absence Threshold Filter, which uses Division Calendar to scope the absence count itself to the current semester.

Together: the filter answers "does this student have 5 or more absences in the current semester," and the trigger answers "should we send the email now, or have we already sent it this semester."

Notes

The trigger evaluates daily because Send Rate is set to Daily, but the Maximum fires per: Semester cap and the Minimum days between fires floor ensure that any given student receives at most one email per threshold per semester.

If a customer wants a less aggressive cadence (for example, two reminders per semester instead of one), increase Maximum number of fires accordingly and adjust Minimum days between fires so the reminders are spaced appropriately.

Posted May 22, 2026

Setting up a field in a PCR Educator DAT Query is one choice. The Fields step gives each field a single Role: Group, Aggregate, or Pivot. Choose the role, and the controls that role needs appear with it.

What's new

One Role per field. Each field in a DAT Query has a single Role with three values: Group, Aggregate, and Pivot. The role drives how the field behaves in the query.

Controls that match the role. Choosing a role brings up the controls it needs. The Aggregate role brings the function and Partition By options. The Group role keeps the row simple.

Pivot offered where it fits. The Pivot role appears for fields that are eligible to be pivoted.

Why it matters

One decision sets up a field. The field grid stays focused on what each row actually uses, so a DAT Query is quick to build and quick to read, especially for someone building their first one.

A few ways to talk about it

  • Field setup in a DAT Query is one Role choice per field: Group, Aggregate, or Pivot.
  • Each role brings its own controls, so the grid shows what the field actually uses.
  • Quick to learn on a first DAT Query, quick to scan on every one after.

Available now to all PCR Educator schools. Your account team can walk you through the Role column whenever you're ready.

Posted May 21, 2026

PCR Educator's Data Analytics Tool now lets you decide what an empty cell should say. A new If Empty column on the Fields tab takes any placeholder you type, in any format the field supports, and renders it wherever the data is blank. Reports that used to leave readers guessing now finish their own sentences, in your school's own language.

Why it matters

When a query pulls data from more than one source, for example "show me all students, and their check-in status for today," some students will not have a matching record. Out of the box those cells appear empty, and the reader is forced to interpret. Is the data missing? Is the student absent? Did the report break? Each guess sends staff down a different path, and most of those paths are wasted time.

If Empty removes the ambiguity. You decide what an empty cell should say, so your report reads exactly the way you want it to, the first time, every time.

How it works

  1. Add any field to your query.
  2. On the Fields tab, find the new IF EMPTY column (it sits between Aggregate and Pivot Aggregate).
  3. Type the value you want to display when the field is blank.
  4. Save the query and run it. Every empty cell in that column now shows your chosen value.

The control adapts to the field type automatically, so the placeholder you type always matches what the field would normally hold:

  • Text fields get a text box, and the placeholder also replaces empty strings, not just NULLs.
  • Number fields get a text box for a numeric placeholder.
  • Yes/No fields get a checkbox.
  • Date fields get a date picker.
  • Date and time fields get a date and time picker.
  • Time fields get a time picker.

Examples in practice

Check-In Status. Set the placeholder to "Not checked in." Viewers see "Not checked in" wherever a student has no check-in record, instead of a blank cell.

Solicitor Assigned. Set the placeholder to "Unassigned." Development reports surface prospects with no owner, so the gift officer who runs the list knows exactly where to start the week.

Emergency Contact Phone. Set the placeholder to "Missing, please update." Staff see a clear call to action instead of an empty field, and the gap closes itself.

Tuition Balance. Set the placeholder to 0.00. Totals add up correctly, exports stay numeric, and the business office stops chasing phantom rows.

Photo Consent. Set the placeholder to "Not on file." Plain English replaces an unchecked box, so the reader does not have to guess whether unchecked means "no" or "not yet asked."

Key benefits

Cleaner reports. No more mystery blank cells, no more reports that read as if they are half finished.

Better communication. Replace technical emptiness with plain English meaning, in your school's vocabulary.

Smarter exports. Excel and PDF exports carry the replacement value, so downstream consumers, board members, parents, and auditors all see the same thing the on-screen reader sees.

Safer joins. When you combine tables with optional relationships, for example students with or without donations, every row reads coherently. Optional joins stop creating cognitive load.

No formula required. Type a value, save, run. No SQL, no expressions, no training, no help-desk ticket.

Where to find it

DAT, then open or build a query, then the Fields tab. The new IF EMPTY column sits between Aggregate and Pivot Aggregate. The feature is available on every field, in every query.

Compatibility

Existing queries are unaffected. The column is optional and defaults to blank, so reports built before this release continue to behave exactly as they always have. Adopt If Empty on the queries that need it, on your own timeline.

A few ways to talk about it

  • Blank cells now say what you mean: type a placeholder, save, run.
  • One control adapts to every field type: text, number, checkbox, date, time.
  • Cleaner joins, cleaner exports, no formulas required, no SQL.

Available now to all PCR Educator schools. Your account team can walk you through the new column, and the examples above, whenever you're ready.

Posted May 21, 2026

PCR Educator Data Analytics has a new table called Division Calendar. It exposes each division's current Marking Period, Semester, Academic Year, Admissions Year, Development Year, and Fiscal Year as a single always-current row per school. Saved filters, queries, and notification triggers can reference the current period directly, and the values stay accurate as the calendar rolls over.

What's new

One row per division. Division Calendar returns the current calendar values for every division a school runs, keyed on School Id, with columns for Marking Period, Semester, Academic Year, Admissions Year, Development Year, and Fiscal Year.

Division-aware values. Schools that run different calendars per division (Lower, Middle, Upper, or multi-campus) get the right current value for each division automatically.

Drop-in join for any table. Join Division Calendar to any existing table on School Id to scope a full DAT report or notification trigger to "this division's current marking period," "this division's current academic year," and so on.

Cross-departmental coverage. Academics, Admissions, Business Office, and Development all reference the same shared current-period table, so dashboards stay aligned across roles.

Why it matters

Build a filter once and it keeps working term after term, year after year. A query like "students with 5 or more absences in the current marking period" reads the current value from Division Calendar and stays correct as the calendar advances. Reports and notification triggers stay aligned to the actual calendar each division follows, automatically.

Example queries

  • All students with 5 or more absences in the current Marking Period for their division
  • Inquiries created in the current Admissions Year, by division
  • Giving totals year-to-date for the current Development Year
  • AR aging snapshot inside the current Fiscal Year
  • Gradebook averages for sections in the current Semester

A few ways to talk about it

  • Filters that stay current automatically: build once, reuse across every term and every year.
  • One shared source of truth for the current period across Academics, Admissions, Business Office, and Development.
  • Division-aware by design: Lower, Middle, and Upper school dashboards each read the right calendar value automatically.

Available now to all PCR Educator schools. Your account team can walk you through Division Calendar whenever you're ready.

Posted May 20, 2026

A Household Notification Trigger is a notification trigger that operates on a Household record rather than on an individual student. It parallels the existing Student trigger type and is available automatically in the trigger Category dropdown.

PCR Educator has added the Household trigger type so that schools can send a single message per family for events that are inherently household-level, such as tuition billing, re-enrollment, annual giving, and emergency communication. This is a major step forward for schools that have wanted family-level automation without the duplication that comes from looping over each student.

The Household trigger appears in the Category dropdown for any school running notifications on a supported build.

How the Household trigger works

The Household trigger reads from the Household record as its primary scope. The condition query is written against Household fields, and the resulting message is addressed to the household rather than to a single student.

The Household trigger supports the full set of suppression controls. See Notification Trigger Suppression for the SendOncePer, MaxFiresPerScope, and PeriodScopeSchoolId fields and how each is evaluated.

Roles required

The Notification Triggers page is restricted to users with the Security Full role. The same role is required for creating and editing Household triggers.

Configuring Household Trigger

  • Open the Notification Triggers page in Campus.
  • Click Add Trigger.
  • In the Category dropdown, select Household.
  • Define the condition query against the Household record.
  • Set the message template, recipients, and schedule.
  • Optionally set the suppression fields described in Notification Trigger Suppression.
  • Save the trigger.

Example: A trigger that fires when a household has any unpaid invoice over thirty days past due, configured with SendOncePer set to one fire per billing cycle.

Use cases by department

Business office and finance

  • A tuition past-due reminder that fires once per household per billing cycle rather than once per student.
  • A reminder to refresh autopay banking information, capped at one fire per household per year.

Admissions and enrollment management

  • A re-enrollment open notification that lands once per returning family on the published open date.
  • A withdrawal-risk outreach trigger for households flagged by year-over-year engagement scoring.

Advancement and development

  • A capital campaign pledge reminder gated by SendOncePer so donors are not approached twice in the same quarter.
  • A legacy family milestone notification when cumulative household giving crosses a recognition threshold.
  • A parents association membership renewal reminder tied to the household record.
Posted May 20, 2026

Notification Trigger Suppression is a set of controls on every Notification Trigger that limits how often the trigger may fire, both per target record and across the school as a whole. Suppression keeps automated communication useful by preventing the same family, student, or staff member from receiving the same message more often than the school intends, and by capping the total number of fires for high-risk triggers within a defined period.

Suppression applies to every trigger Category, including Student and Household. When a quota cap is reached, the trigger is suppressed quietly. The underlying condition query is not modified, and no error is raised.

Roles required

The Notification Triggers page is restricted to users with the Security Full role. The same role governs all trigger Categories and all suppression fields.

Suppression fields

Every Notification Trigger exposes the following fields.

  • SendOncePer defines the minimum interval that must pass between two fires of the same trigger for the same target record. The interval is anchored to the school's calendar period.
  • MaxFiresPerScope caps the total number of fires for the trigger within the defined period, counted across all target records at the school.
  • PeriodScopeSchoolId identifies the school whose calendar period anchors both the SendOncePer interval and the MaxFiresPerScope window. The period boundary follows the school's fiscal or academic calendar as configured.

Note: SendOncePer is evaluated per target record. MaxFiresPerScope is evaluated across the school. The two fields are independent and may be used together.

How suppression is evaluated

When a Notification Trigger is scheduled to fire, the system performs the following checks in order.

  • The trigger condition query is evaluated against the target Category, producing a candidate set of records.
  • For each candidate record, the SendOncePer interval is checked against the trigger's fire history. Candidates that fired within the interval are dropped.
  • The MaxFiresPerScope cap is checked against the trigger's fire history for the current period. If the cap has been reached, the remaining candidates are dropped.
  • The trigger fires for the surviving candidates, and the fire history is updated.

Example: A trigger with SendOncePer set to one fire per billing cycle and MaxFiresPerScope set to five hundred fires per cycle will fire at most once per target record and at most five hundred times in total across the school within a single billing cycle.

Configuring suppression

  • Open the Notification Triggers page in Campus.
  • Open the trigger to edit.
  • Set SendOncePer to the desired per-record interval.
  • Set MaxFiresPerScope to the desired total cap, or leave blank for no cap.
  • Set PeriodScopeSchoolId to the school whose calendar anchors the period.
  • Save the trigger.

Note: Leaving SendOncePer blank allows the trigger to fire on every evaluation cycle that matches the condition. Leaving MaxFiresPerScope blank removes the total cap. Both behaviors may be appropriate for low-volume triggers, but should be reviewed before saving.

Use cases

  • A tuition past-due reminder configured with SendOncePer set to one fire per billing cycle, so the same household receives the reminder at most once per cycle.
  • A capital campaign pledge reminder configured with SendOncePer set to one fire per quarter, so donors are not approached more than once per quarter.
  • A severe weather closure notice configured with MaxFiresPerScope set to a sensible cap per academic term, so a string of incidents does not generate excessive messages across the school.
  • A re-enrollment reminder configured with SendOncePer set to one fire per enrollment season, so each family receives a single reminder per season.

Note: Suppression applies to the trigger itself. If two separate triggers are configured to send similar messages, each trigger maintains its own suppression history.

Posted May 19, 2026
The DAT Query is the core part of our Data Analytics Tool that allows you to create custom data sets.  You can then use these data sets for:

- DAT Dashboard Element

- DAT - Printing Results

- DAT Multi-Action

DAT Query items can be categorized and shared with other users based on user roles.

Here is a comprehensive index of the articles for DAT:
DAT Query
--DAT Group
--DAT Dashboard Element
--DAT Chart
--DAT Grid
--DAT Query and DAT Filter Common Mistakes
--DAT Multi-Action
--DAT Calculated/Aggregate Field Condition
--Accessing DAT Query
--Creating New DAT Query
----DAT Query - Step 1
------DAT Query - Step 1 - Choosing Initial Table
------DAT Query - Step 1 - Adding Conditions
--------DAT Field Condition
----------DAT Operator
----------DAT Functional Operator
--------DAT Parameterized Condition
------DAT Query - Step 1 - Selecting Display Fields
--------DAT Display Field
--------DAT Key Id Field
------DAT Query - Step 1 - Connecting Tables
----DAT Fields - Step 2
------DAT Fields - Step 2 - Uniqueness
------DAT Fields - Step 2 - Customizing Display Fields Appearance
------DAT Fields - Step 2 - Sorting
------DAT Fields - Step 2 - Aggregating
------DAT Fields - Step 2 - Pivoting
------DAT Fields - Step 2 - Adding Calculated Field
------DAT Fields - Step 2 - Totaling
----DAT Column Order - Step 3
----DAT Results - Step 4
------DAT - Printing Results
--------DAT - Creating Templates
--------DAT - Using Templates
----DAT Chart - Step 5
----DAT Save - Step 6
-DAT Diagrams
-DAT Webinar - Attendance
--DAT - Attendance Data Structure
--DAT - Lunch Choices Data Structure
--DAT - Check In / Check Out Data Structure
-DAT Webinar - Development Level I
--DAT - Development Data Structure
-DAT Webinar - Finance
--DAT - Finance AR Data Structure
--DAT - Finance AP Data Structure
--DAT - Finance AR Customer Statement Data Structure
-DAT Webinar - (Re) Enrollment
--DAT - (Re) Enrollment Data Structure
-DAT Webinar - Scheduling
--DAT - Scheduling Data Structure
-DAT - Admissions Evaluations Data Structure
-DAT - Admissions Inquiries Data Structure
-DAT - Admissions Inquiry Actions Data Structure
-DAT - Admissions Inquiry Action Types Data Structure
-DAT - Basic Student Data Structure
--DAT - Common Student Tables: Actions
--DAT - Common Student Tables: Households
--DAT - Common Student Tables: Statuses
-CMS Widget - Report Runner
-CMS Widget - Simple Report Runner

Posted May 19, 2026
DAT Fields - Step 2
The DAT Fields - Step 2 (DAT > Queries > Fields) is an optional step for creating a DAT Query. The DAT Fields - Step 2 step covers the following features:

- DAT Fields - Step 2 - Customizing Display Fields Appearance

- DAT Fields - Step 2 - Sorting

- DAT Fields - Step 2 - Aggregating

- DAT Fields - Step 2 - Pivoting

- DAT Fields - Step 2 - Uniqueness

- DAT Fields - Step 2 - Adding Calculated Field

- DAT Fields - Step 2 - Totaling

Path refers to the table for the field.  Sometimes you might have the field appear multiple times and this path helps you distinguish which field is which.

Field is the name of the field being referenced.

Each field is a row in the field grid.

Role determines how the field behaves in the query. Each field row has a single Role with three values: Group, Aggregate, and Pivot. Selecting a Role shows only the controls that role needs. The Pivot role is offered only for fields that are eligible to be pivoted. See DAT Fields - Step 2 - Aggregating and DAT Fields - Step 2 - Pivoting.

To use the same field in more than one way, select the copy icon on its row. The copy icon adds a second row for the same field, and the duplicate carries its own Role and settings. For example, one field can be grouped on in one row and aggregated on in another row of the same query.
Posted May 19, 2026
Aggregation is a part of the DAT Fields - Step 2 process. It applies an aggregate function to a field.

To aggregate a field, set its Role to Aggregate, then choose the aggregate function. An aggregate function can be applied to any numeric DAT Display Field.

Example:  You have selected fields for customer and invoice total.  You can use the sum aggregate to get the invoice totals for customers.  Suppose you now change that to have customer, invoice date, and invoice total.  Now, when you use the sum aggregate on the invoice total, you will get the daily invoice total for customers.  Each additional field you have in your result will further determine how the Aggregate is calculated.

    - Count will give a count of all the values.

    - Distinct Count will give a count of unique values.

    - Average will give the arithmetic mean - defined as Sum / Count

    - Max will find the maximum value.

    - Min will find the minimum value.

    - Sum will add up all the values.

Partition By

An Aggregate field can optionally use a Partition By column. Partition By computes the aggregate across a wider group than the row it sits on, without changing how the query is grouped. Select the Partition By column from the typeahead.

With no Partition By selected, the Aggregate field behaves as a standard aggregate. With a Partition By column set, the aggregate is calculated across the wider partition while each row stays grouped at the level of the query. This produces running totals, subtotals, and share-of-whole values within a single query.

Examples

    - Show each course's enrollment next to the department's total enrollment, in the same row.

    - Show a donor's gift total next to the campaign's total raised.

    - Show a student's tardies for the marking period next to the full-year tardy count.
Posted May 19, 2026
Pivoting is a part of DAT Fields - Step 2 process and it allows converting rows to columns for the purpose of counting, summing, averaging, or finding min/max values for your data.

To pivot a field, set its Role to Pivot, choose the aggregate function and the target field to count or sum, and provide the condition that lists the values you want as columns. Each value in that list becomes its own column on the result.  Only DAT Display Fields that have a Multi-Select condition from the DAT Query - Step 1 - Adding Conditions step are eligible to be pivoted.  The multi-selected values become new columns on the result and will show the values in the rows according to the aggregate function.  Example:  The 1099 query for merging 1099 MISC in finance has a condition on Box Number for values 1 through 14.  The pivot aggregate function is a Sum on the Box Paid Amount.  The resulting output lists each box number as a column, and the value for each column is the sum of the paid amounts for that box number for each vendor.

Example: An attendance query can pivot the attendance type into separate columns. Absent, Absent Excused, Late, and Late Excused each become a count column, so each student row shows the four counts side by side.
Posted May 19, 2026
Calculated fields are dynamic formula-based fields added to a DAT Query in DAT FIelds - Step 2. 

To add a new calculated field:
     - Identify the numerical or character fields and their corresponding variable names listed in the first column of the grid.  Note:  You cannot mix character and numeric fields in a calculated field.  Note:  Even if the character field has numeric data, it is only eligible for character fields.  Example: The student Alternate Id field is a character field.  Even if you have numbers in this field, it is still only eligible for a character calculated field.
    - Specify the formula below the grid. Reference each field either by its variable name from the first column of the grid, or by its alias in square brackets, for example [Total Absences]. PCR Educator substitutes the reference for the field when the query runs. Example: A / 100 Example: A * B  Example: B +', ‘ + A
    - Click “Add Calculated Field”

Note: Calculated fields can be constructed from other calculated fields.

Note:  For numeric fields, the type of number shown is determined by the type of numbers involved in the formula.  If only integer numbers are used, the result will be an integer number.  If a decimal number is used at any point, then the result will be a decimal number.  Example: Suppose A represents an integer column.  A / 100 will result in an integer value.  If the value for A is less than 100, the result will be 0.  Example:  Suppose A represents an integer column.  A / 100.0 will result in a value with decimals because the divisor is a decimal.

Note: The following characters may be used to create numeric calculated fields:


( ) Parenthesis controlling the order of mathematical operations. Note: Opening and closing parenthesis must match.
+ Addition
- Subtraction
* Multiplication
/ Division
A-ZZ Variable names corresponding to an existing field.

Note: A calculated field may not be added if the resulting number is too large, too small, or results in an invalid mathematical result.  Example: Division by 0.

Note: The following characters may be used to create character calculated fields:

( ) Optional.  Parenthesis control the order of operations.  Note: Opening and closing parenthesis must match.  Note: Parenthesis are permitted but unnecessary for character calculated fields.
+ Concatenate characters or fields
' Use single quotes (apostrophes) to designate characters included in the calculated field.  Example:'First: ' + A + ' Last: ' + B  Note: Apostrophes must always appear in pairs.  Note: Currently, it is not possible to include an apostrophe as a character in the calculated field. Note: To add a space between fields, input two apostrophes with a space between them. Example: A + ' ' + B + ' ' + C . . .  
A-ZZ Variable names corresponding to an existing field.

Note: The following characters are not supported in calculated fields and will prevent the field from being added:
     - -- (double hyphen)
     - ; (semicolon)

Note: A field can be referenced by its alias name in square brackets, for example [Absences in Class] * 100.0 / [Total Absences]. An alias reference stays correct when fields are reordered or duplicated, because it does not depend on the field's position in the grid. Variable names and alias references may be used in the same formula.
Posted May 18, 2026

PCR Educator's check-in / check-out kiosk has grown from a simple sign-in log into a connected workflow that touches attendance, billing, admissions, and advancement. With the May 2026 release tying the kiosk into period attendance, this is a good moment to look at every workflow it now supports. Most schools use one or two. The module supports nine.

What it does

Front-desk sign-in and sign-out. Receptionist records a student or staff arrival or departure with a reason code, a comment, and a full audit trail on both legs of the trip.

Period attendance write-back. New in May 2026. Mid-day sign-out marks the in-session period Leaving Early. On return, the in-session period flips to Late and missed periods reconcile cleanly. Teacher entries are never overwritten.

Aftercare and extended-day billing. A fee schedule maps each program and time window to a billable product. The business office reviews matched records and runs Create Invoice to post line items to family ledgers in a batch.

Self-service family kiosk. Parents, students, emergency contacts, and authorized pickups can sign in or out using credentials, a student ID scan, or a five-digit pincode. Pincode scope is configurable as unique per household or unique across the database.

Bulk dismissal and field trips. Multi-action surfaces in the student list let a coordinator check an entire cohort in or out with one click.

Health office and counselor visits. Programs and reasons are lookup driven, so the same kiosk handles Health Office, Counseling, Late Pickup, and Early Release with their own audit trails on the student profile.

Reporting in Administrator and Finance. The same list view is mounted in both roles, so each team sees the records it owns through familiar filters and saved queries.

Mail and email merge. Templated letters and emails run directly off a selection of check-in records, with merge fields tied to the entity.

Admissions and donor event check-in. A dedicated event flow matches an inquirer's or donor's household to admissions and advancement events scheduled within plus or minus one hour of the current time, then credits attendance to the right event.

Why it matters

The lobby kiosk and the rest of the platform now share one record. Front-desk staff, faculty, the business office, admissions, and advancement see the same student under the same household, with the same audit trail. Emergency rosters reflect who is on campus right now. Aftercare invoices match the time the family actually picked up. Period attendance reflects the kiosk in real time. The work that used to live in different systems, or in different spreadsheets, now lives in one.

A few ways to talk about it

  • One kiosk, nine workflows, one student record. From morning arrival to admissions tours to aftercare invoicing.
  • The May 2026 release ties sign-out and return directly to period attendance. Teacher entries always win.
  • Most schools are using one or two of these. The other seven are already in your platform.

Available now to all PCR Educator schools. Your account team can walk you through any of the nine workflows whenever you are ready.

Posted May 14, 2026
A Notification Trigger is a mechanism for sending automated emails when certain conditions are met. Notification triggers are used for billing reminders, birthday notifications, announcements, and other automated communications. A full list of notification trigger types is found below.

Note: Notification trigger emails go out between midnight and 7 AM local time. The exceptions are the Notification Trigger - Purchase Order Update and Notification Trigger - User Website Forums triggers, which send immediately.

Notification Trigger Types:

      - Notification Trigger - Action Reminder (Admissions)
      - Notification Trigger - Birthday (Household/Contact/Customer)
      - Notification Trigger - Customer Balance Low
      - Notification Trigger - Customer Billing Reminder
      - Notification Trigger - Donor Pledge Payment Reminder
      - Notification Trigger - Household
      - Notification Trigger - Inquiry Missing Actions
      - Notification Trigger - Purchase Order Update
      - Notification Trigger - Student
      - Notification Trigger - Student Drop Box Teacher Feedback
      - Notification Trigger - Student Gradebook Average
      - Notification Trigger - Student Gradebook Score
      - Notification Trigger - Student Missing Assessment
      - Notification Trigger - User Website Announcements
      - Notification Trigger - User Website Forums

Send Rate: Determines how often the email is sent (Daily or Weekly).

Minimum days between fires: Determines the minimum number of days that must pass between two fires of the same trigger for the same target record. Replaces the legacy Days to Prevent Followup field.

Note: Additional period-quota suppression fields (Maximum fires per, Maximum number of fires, School division for period) cap how often a trigger fires within a marking period, semester, or academic year. See Notification Trigger Suppression for the full set of suppression controls.
Posted May 14, 2026
Creating a Notification Trigger requires the Security Full role.

- Navigate to Home > Notifications > Notification Triggers.
- Click New.
- In the Category dropdown, select the scope: Student for triggers that operate on individual students, or Household for triggers that operate on the household record. See Notification Trigger - Household for the household scope.
- Populate Notification Settings. For more information, see Notification Trigger.
- Optionally configure suppression fields to limit how often the trigger fires. See Notification Trigger Suppression.
- In the Visible for Roles setting, specify the security roles that users must have to view the email that is sent. Note: This setting allows users to access emails from the administrative end.
- Click Save.
Posted May 14, 2026

PCR Educator filters now support count, sum, and average conditions, the same aggregate logic that has long lived inside DAT queries. Schools can build saved filters that find students based on how many records they have or how much something totals, then drop those filters into notification triggers, contracts, or anywhere else a saved filter is used.

What you can build

Aggregate filters answer the questions schools ask every day:

  • Students with more than 8 absences this semester
  • Students with more than 4 discipline points in the current marking period
  • Students with at least 3 tardies in any marking period
  • Students who have any record in a given table

Build the filter once. Reuse it everywhere a saved filter is selected.

Key capabilities

Six aggregate functions. Sum, Count, Count Distinct, Average, Min, and Max are available across supported fields.

Time-window scoping. Combine aggregate conditions with marking period, semester, academic year, admissions year, fiscal year, or development year, so counts stay inside the window that actually matters.

Round-trip editing. Save an aggregate filter, reopen it, and the condition reads cleanly (for example, "Count of records > 4").

Plain-English filter descriptions. Saved aggregate filters describe themselves in the filter list and pickers, so the next person who picks one up understands what it does at a glance.

Why it matters

A request like "find students with more than 4 discipline points in the current marking period" used to require a custom DAT report or a one-off query. Now it is a single saved filter that any teacher, advisor, or admin can reuse, drop into a notification trigger, or attach to a contract. Logic that lived only in the reporting layer is now usable across the system, in the same place schools already manage their saved filters.

A few ways to talk about it

  • Filters now ask aggregate questions: count, sum, average, min, max, count distinct.
  • Save once, reuse everywhere: notification triggers, contracts, and any picker that takes a saved filter.
  • Time-aware counts: scope to marking period, semester, academic year, admissions year, fiscal year, or development year, so the math matches the calendar.

Available now to all PCR Educator schools. Your account team can walk through example filters whenever you're ready.

Posted May 13, 2026

PCR Educator notification triggers can now fire on a school-calendar rhythm: once per marking period, once per semester, or up to N times per academic year. The new period-aware quotas sit alongside the existing rolling-day floor, so schools control exactly how often a parent or staff member hears from the system.

What's new

"Maximum fires per" period quotas. A new dropdown on every trigger caps notifications by Marking Period, Semester, or Academic Year. Combine it with "Maximum number of fires" to express patterns like "up to 3 escalation emails per semester."

"Minimum days between fires" (renamed for clarity). The legacy frequency floor now reads exactly as it works. Period quotas and day floors apply independently, so a single trigger can be both "at most 3 per semester" and "at least 14 days apart."

"School division for period." Students sit in many divisions at once, so the admin explicitly picks which division's calendar defines the period boundaries. The dropdown appears only when the scope needs it, requires a selection, and includes three layers of safeguards so a misconfigured trigger never silently skips suppression.

Framework-level coverage. Attendance, gradebook, discipline, balance-low, action reminders, and any future trigger type inherit the new options automatically, with no per-type configuration work.

Why it matters

Suppression now aligns to the actual school calendar. Configure "semester, max 3 fires" once and a 4 / 7 / 9 absence escalation ladder resets cleanly when the semester turns over. Parents see the right number of messages at the right cadence, and admins stop approximating "a semester" with a day count that drifts from the calendar. Existing triggers keep running exactly as they do today, because the new options are additive and opt-in per trigger.

A few ways to talk about it

  • Notification triggers now speak your school's calendar: once per marking period, once per semester, or up to N times per academic year.
  • Configure escalation ladders in one place. 4 absences, 7 absences, 9 absences. Three emails per semester, not three hundred.
  • Two independent rules, one trigger: minimum days between sends, plus maximum sends per period. Both apply, both protect parents from email overload.

Available now to all PCR Educator schools. Your account team can walk you through the new dropdowns whenever you're ready.

Posted May 11, 2026

Your check-in / check-out kiosk now updates period attendance in real time. When a student signs out mid-day, the class in session is marked Leaving Early (or your school's configured code), and the rest of the day can auto-mark as Absent. When that student returns, the record reconciles itself: the in-session class flips to Late, and any missed periods in between are filled in cleanly.

What's new

Real-time mid-day check-out. Current period reflects the student's status the moment they sign out.

Automatic reconciliation on return. The system recognizes a student coming back and adjusts the record without anyone touching the grid.

Teacher entries always win. The kiosk only updates rows it created. Manual teacher entries stay untouched, so the classroom remains the source of truth.

Configurable per school. Leaving Early, Absent, and Late codes come from your existing widget settings. Your wording, your policies.

Every sign-in mode supported. Username and password, student ID, and PIN-only kiosks all run the same integrated flow.

Full audit trail. Every automatic change is logged for administrator review.

Why it matters

Emergency rosters reflect who is actually on campus right now. Teachers see accurate period attendance the moment a student walks back in. Front-desk staff and faculty stay aligned without extra steps, and your school keeps full control over the codes applied in every scenario.

Available now to all PCR Educator schools using the check-in / check-out kiosk. Your account team can walk you through the configuration options whenever you're ready.

Posted May 04, 2026
Posted May 01, 2026

The Actions (Delete) multi-action allows mass deletion of selected students' actions. To access this multi-action, navigate to Administrator > Students. You need the Admin Full, Admin Read, Registrar Full, or Registrar Read role to access this page. You need the Actions Full role to use this multi-action. Select the desired students, and choose the multi-action Actions (Delete).

On the following page, choose the academic Year and the Action. Click the "Delete Actions & Files" button to delete the matching actions along with any files attached to them. To remove only the files attached to those actions and keep the actions themselves, click the "Delete Files Only" button instead.

Posted April 29, 2026
The Deposit CMS Widget allows users to either pay their balance in full, pay a deposit, or pay a custom amount. The deposit collected through this widget is applied toward the total balance due. Note: For fees that should be charged separately and added on top of the total (such as registration fees), use the Deposit Product and Type setting covered in CMS Widget - Sign up Summary.

Enable Deposit Only controls whether the deposit-only payment option is available.

Min Payment Amount allows the user to enter a custom payment amount, as long as it meets the configured minimum. This allows flexibility for partial payments beyond just the standard deposit option.

Pay In Full Text customizes the label for the pay-in-full option.

Deposit Only Text customizes the label for the deposit-only option.

Use the Pay Deposit Only Product to specify a deposit amount. Note: This setting defines a deposit that is independent of the products in the user’s cart. If the deposit amount should vary based on the selected products, you can configure the deposit directly on each product instead.

When the Pay In Full Checked setting is enabled, the Pay in Full option is selected by default.
Posted April 26, 2026

We have refined two parts of the PCR Educator interface to give you a cleaner workspace and quicker access to the controls you use most.

Main selectors now live in the menu. Year, term, division, ledger, and other context controls are consolidated in the main menu.

Widget configuration is now on each widget. Click the settings (gear) icon on any widget to open its configuration. Every option you had before is one click away.

The result is more room to work, more consistent navigation across modules, and a stronger foundation as we continue to expand the platform.

Our support team is happy to walk you through the new layout anytime.

Posted April 25, 2026

Stripe Vendor Payment is a Finance feature in PCR Educator that lets your school send electronic payments to vendors through Stripe Financial Connections, replacing paper checks with direct ACH transfers. Vendors connect their own bank accounts through the vendor portal, so your finance team does not collect or store vendor banking information.

This article walks through the school-side setup. Setup takes about 15 to 20 minutes of work on your end, plus 1 to 2 business days for Stripe to verify the application.

Required role: To configure Stripe Vendor Payment, the user must have access to Finance > Maintenance in PCR Educator.

Before you start

Please have the following ready:

  • An authorized financial signer who can complete Stripe's identity and business verification.
  • Your school's banking details for the payout account.
  • The General Ledger account you want tied to electronic payouts.

Creating the Stripe Financial Connections account

  • Go to https://stripe.com and click Sign up. If your school already has a Stripe account, log in instead.
  • When prompted to select a product, enable Stripe Financial Connections.
  • Complete the business verification fields. When Stripe asks how your platform is configured, use the values below exactly. These match the integration PCR Educator has built against Stripe Connect. Changing them will cause the connection to fail.

Funds flow: Buyers will purchase from you. Sellers will be paid out individually.

Industry: Business management software

Account creation: Onboarding hosted by Stripe

Account management: You will redirect sellers to the Express Dashboard to manage their Stripe account.

Liability for refunds and chargebacks: You are responsible for refunds and chargebacks to buyers.

  • Confirm the Connect Platform Agreement when prompted.
  • Submit the application. Stripe typically verifies within 1 to 2 business days.

Sending the Stripe Customer ID to PCR Educator

Once Stripe approves your account:

  • From your Stripe dashboard, copy your Stripe Customer ID. This is the identifier PCR Educator uses to link your school's Stripe account to your PCR Educator portal.
  • Send the Stripe Customer ID to PCR Educator support through your established secure channel. Do not email it in plain text.
  • PCR Educator will configure Stripe as a payment method on your portal and confirm when it is live.

Note: At this time, the Stripe Customer ID is configured by PCR Educator support on your behalf. A self-service field is on the roadmap.

Connecting the payout account

Once PCR Educator confirms Stripe is configured on your portal:

  • Log in to PCR Educator.
  • Navigate to Finance > Maintenance > External Payment Accounts.
  • Click New and select your connected Stripe account.
  • Link the payout account to the General Ledger account you want associated with electronic payouts.
  • Save.

Your payout account is now active and available for payment runs.

Inviting vendor to the vendor portal

Vendors connect their own bank accounts through the PCR Educator vendor portal. Your team does not collect, store, or manage vendor banking information.

To send invitations:

  • Go to Finance > Vendors.
  • Select the vendors you want to onboard.
  • Use the Send Vendor Portal Invitation action.

Each vendor receives an email with portal credentials and a link to connect their bank account.

Running electronic payment

When your finance team generates a payment batch and selects a Stripe-enabled payout account, the system automatically issues electronic transfers to every vendor with an active connected bank account. Vendors who have not yet connected a bank account continue to receive paper checks. Both methods run inside the same payment batch.

Common question

Do we still need to print checks? Only for vendors who have not connected a bank account through the portal. The system handles both methods in one payment run.

Where do vendors see their payment status? The vendor portal displays pending and completed payouts.

What if a vendor's bank details change? Vendors update their own information through the portal. No action is required from your finance team.

Are there transaction fees? Stripe charges standard ACH fees per transfer. Review Stripe's current pricing on their website.

Can we reverse an electronic payment? Once submitted, ACH transfers follow Stripe's standard reversal rules. Contact PCR Educator support immediately if a payment was issued in error.

For help with any step, open a ticket through the PCR Educator customer portal. Include your school name and the step where you are stuck.

Posted April 20, 2026
Posted March 31, 2026
A Notification Template is a versatile communication tool used to design and automate mass messaging across multiple platforms, including Email, SMS (Text), and Voice. It allows users to create standardized layouts with dynamic data fields, ensuring consistent communication.

Note: To send notifications to students, parents, and staff, the Send Mail field must be enabled in their respective households. To send notifications to Development Contacts, the Development Send Mail field must be enabled.

To create a new Notification Template, follow the steps in Creating Notification Template.

The One email per student/household combination option sends an email to the student for each household they are associated with, provided both the student and household email fields are selected. The One email per student option sends a single email to the student, even if the student is associated with multiple households.

Template Group is used to categorize templates for easier retrieval. To create a Notification Template Group, follow the steps in Creating Notification Template Group.

To Emails/Phones define which fields are used when sending notifications. At least one email or phone recipient field must be selected before sending.

Sender fields define the "From" identity. Users can insert dynamic tags like [[SenderEmail]] to ensure the reply-to address matches the specific staff member sending the message.

Copy (CC/BCC) allows for internal tracking of sent messages. Options include:
     - First: Only sends a copy for the first recipient in a batch.
     - All: Sends a copy for every single message sent (use with caution).
     - No Copy: Disables internal copies.

The Action dropdown associates a notification to a specific action to categorize or use for reporting purposes.

Action Year associates the notification with a specific academic or admission cycle (e.g., the 2025-2026 school year), ensuring the activity is recorded in the correct historical context.

AI Prompt and AI Prompt Query allow users to leverage integrated AI to generate or refine message content.

Add Fields provides a dropdown list of available database columns. Selecting a field and clicking Subject, Sender, or Body will insert the dynamic placeholder into that specific area.

Save Template allows a user to name and store a template for future use. Note: Only the template creator can update the template. A different user may save the template with a new name, which will create a new template. Note: A Notification Job Type is required to categorize the notification.

Email Body contains the email content. The body must contain at least 10 characters before sending.

Phone Message Body contains the SMS or voice message content. The body must contain at least 3 characters for text messages and at least 50 characters for voice messages. Note: For text messages, the interface includes a calculator that estimates the number of segments being sent, as anything over 160 characters typically counts as multiple messages.

The Preview button opens a modal popup showing exactly how the message will look with merged data. In the preview mode, you can click the Edit icon to make edits to individual notifications.

The Test button sends a sample of the notification to the Sender's email address or phone number. This includes all formatting, CSS, and embedded images to ensure the layout remains intact across different clients (like Outlook or Gmail).

The Schedule button allows users to select a future date and time for delivery. The system requires the scheduled time to be at least one minute in the future.

The Send button initiates an immediate merge and delivery. Note: If you realize a mistake was made after clicking send, the Cancel button allows you to stop the remaining queue from being processed.

The Who can see email history setting determines which permissions from the Roles Dictionary are allowed to view the logs of sent messages.

Who can see template checkboxes restrict who has permission to access a template. By default, "All Roles" are selected.

Template Groups checkboxes are used to associate a template to template groups(s). Note: A template can be associated with one group, multiple groups, or no group at all.
Posted March 31, 2026
A Notification Template Group is used to organize Notification Templates. By grouping templates, administrators can streamline the message selection process, ensuring that users only see the templates relevant to their specific department or task.

To create a Notification Template Group, follow the steps in Creating Notification Template Group.
Posted March 30, 2026
Products are items or services being purchased from vendors or sold to customers.  To configure products, navigate to Finance - Maintenance - Products.  You need Contract Full, Contract Read, Finance Full, or Finance Read to access this page.   Note: Products are ledger specific, but the names need to be unique across all ledgers.  If the same product appears in multiple ledgers, name them accordingly.  Example: The General Ledger has a product called “Credit Card Convenience Fee”.  The Summer ledger has a product called “Credit Card Convenience Fee - Summer”.

Name is the name for the product.

Category is the category for the product.

Active indicates if the product will appear as an option on invoices.

This product is sold to customers allows the product to be specified on AR invoices.

This product is purchased from vendors allows the product to be specified on AP invoice.
Description is a short description of the product.

Price is the default purchase or sales price for the product.

Is NSLP is used to designate that the product is for the National School Lunch Program. Note: This field is used by the “Lunch Counts by Date” and “Lunch Totals by Product Category” Finance dashboard widgets.

Revenue/Expense Account is the default account to specify on the invoice when the product is selected.  Note: You can choose accounts besides revenue or expense.  Typically the accounts would be revenue or expense.

Product Type determines how the product is used.
  • Default is used for most products.
  • Deposit is originally used for (Re) Enrollment Contract deposits.  Note: There is no functional difference between Default and Deposit.  Both allow specifying a Deposit amount in the left menu.  The Deposit option is retained for backwards compatibility only.  Use Default instead. Note: When a Deposit Account is specified on the product, the system will use the Deposit Account when recording the transaction. If no Deposit Account is specified, the system will default to the Revenue Account associated with the product.
  • Discount is for Summer Camp and POS purchases.
  • Donation is for specifying online donations.
  • Fee (Fixed Amount) is used for fee products where a fixed amount is applied.  Example: ECheck convenience fees are usually a fixed amount.  Note: Permissible values for fees may be subject to state or local regulations.
  • Fee (Percentage) is used for fee products where a percentage is applied.  Example: Credit Card convenience fees are usually a percentage. Note: Permissible rates for fees may be subject to state or local regulations. Example: late fees are usually a percentage.
Posted March 30, 2026
A Discount is a monetary reduction to fees or items when a user meets specific criteria set by the school. Discounts are commonly applied to registrations, summer camps, the online store, and lunch programs.

Example: A school may offer an early bird discount to students who register for classes or activities before a specified date.

Discounts are classified as Products in the system. Therefore, they are created in a similar method as any other Product. Note: When creating a discount product, select the Product Type to “Discount.” Note: Discount products can be grouped into a Product Category such as “Summer School Discounts.” Note: If a Revenue Account is specified on the Discount product, the system will use that account when recording the discount. If the Revenue Account is left blank, the system will instead use the Revenue Account associated with the product being discounted.

Amount specifies the discount amount. This should be entered as a negative value if you select either a fixed or percent discount type in the “Discount by” field.

Discount by:

     - Discount Applied to Each Eligible Product subtracts the listed amount from each eligible product. For example, if a student registers for three eligible classes with a $50 discount, the total discount will be $150.
     - Total Discount Amount subtracts the listed amount once, provided the number of eligible product criteria is met. For example, if the amount is $50 and the student signs up for three eligible classes, the discount will be $50 total.
     - Percent Applied to Each Eligible Product subtracts the listed percentage from each eligible product. For example, a 10% discount applied to three classes will discount each class by 10%.
     - Total Percent subtracts the listed percentage once if eligibility criteria are met. For example, a 10% total percent discount applied to three classes will discount the total amount by 10%.
     - Product Overwrite Amount replaces the product amount with the listed value. For example, if the Product Overwrite Amount is $50, the student pays $50 for each eligible class.

Is Stackable Discount indicates whether the discount can be combined with other discounts. If both discounts are stackable, both will apply. If one discount is not stackable, only the discount with the higher priority will apply.

Once Per Day limits the discount to being applied once per day.

Discount Order determines the sequence in which multiple discounts are applied. For example, if a 10% discount has a lower order than a $20 discount, the system first applies the 10% discount, then subtracts $20 from the remaining balance.

Pay In Full indicates that the discount can only be applied if the user pays the full amount at the time of purchase.

Expiration Date is the last date the discount can be applied. This is often used for discounts with deadlines, such as early bird discounts.

Must have at least # eligible product(s) selected defines the minimum number of eligible products required for the discount to apply. This is typically used when discounts depend on the number of classes a student enrolls in.

Restricted defines whether the discount can be applied once per student or once per family.

Requires Waiver Code indicates that a waiver code must be provided for the discount to be applied.

Note: For non-stackable discounts, the “Percent Applied to Each Eligible Product” and “Total Percent” will calculate to the same amount. For stackable discounts, “Total Percent” applies to the discounted amount after previous discounts, while “Percent Applied to Each Eligible Product” applies to the original amount.

Example: If a class costs $100 and two 10% stackable discounts apply:

     - With “Percent Applied to Each Eligible Product,” both discounts will subtract $10 each.
     - With “Total Percent,” the first discount subtracts $10, and the second discount subtracts $9 (10% of the remaining $90).

Note: To Apply products to a Discount, follow the steps in Applying Product to Discount.

Note: To make a Discount eligible for a specific group of students, follow the steps in Applying Discount to Student Attribute.
 

Posted March 26, 2026
One of the following roles is required to access this query: Admin Full, Admin Read, Admissions Full, Admissions Read, Registrar Full, or Registrar Read.

This DAT Query returns a distinct count of students with a status modifier of “Enrolled,” grouped by division and grade level, for academic years 2019–2020 through 2029–2030.
Posted March 24, 2026
Our latest release completely re-imagines how email templates are organized, secured, and shared
Posted March 24, 2026
The Email screen has been updated to improve how templates are selected, organized, and managed.

    - A new Template Group dropdown is now available when composing emails, allowing you to quickly filter templates by group.
    - A separate field has been added for saving email templates.
    - Under the email body, you will now find options to assign Roles and Template Groups to your templates.
    - Template Groups can be configured in Home > Notifications > Notification Template Groups.
Posted March 19, 2026
Action configuration has moved from individual modules to a centralized location at Home > Action Setup. All action management is now handled from this single page.
Posted March 19, 2026
Grade level fields in the DAT Filter have been reorganized for consistency. They have moved from the Student Info table to the Grade Levels (Current) and Grade Levels (Next) tables.
Posted March 18, 2026

Posted March 13, 2026
A DAT Filter is a Data Analytics Tool (DAT) feature that allows you to create comprehensive search conditions to restrict the data you are working with. These filters can be used in:
  • A DAT Query
  • A list of entities (such as the list of students, courses, or households)
  • CMS portal as a mechanism to restrict the visibility of certain elements
  • Automated Notifications as a mechanism to determine  the list of recipients
  • (Re)Enrollment Contracts and Forms to determine the list of eligible households and students
A DAT Filter is similar to a DAT Query since it is constructed in a similar fashion where the initial table is predetermined and then you add conditions and table joins. The main difference is that in case of a DAT Query the output is data in a list or chart format, while a DAT filter, is a comprehensive mechanism for limiting data.

Saved DAT Filters are managed in Campus > Home > Filter Setup, where users can view, organize, and manage all saved filters available to them.

Filters can be organized using Filter Groups, which allow administrators to categorize filters for easier navigation and management.

Filters have ownership and visibility rules that determine who can view and manage them. The Include All option allows users to view filters that are not owned by them, including filters created by other users. Users with Security Full permissions can also Change Owner of a filter when administrative adjustments are needed.

Note: DAT Filter is a recursive concept as each new DAT Filter may consist of several DAT Filters.

Note: You have the option for Saving DAT Filters for reuse.

Note: DAT Filters prefixed with “[PCR Educator Imported]” are created by PCR Educator. Feel free to use them as a reference or save them as a new DAT Filter with a new name. We will often update existing and create new queries with the “[PCR Educator Imported]” naming convention - all these filters are removed and replaced during an update. To request a standard DAT filter that you feel may benefit other schools as well, please email support@pcreducator.com.  Note: These filters are for reference only.  Do not use these filters as a setting.  Instead, save a copy of the filter and use the copy instead.

Follow the steps for Initializing DAT Filter to use DAT Filters.

Here is a comprehensive index of the articles for DAT:

DAT Filter
  • Initializing DAT Filter
  • Initializing DAT Filter from DAT Query
  • Initializing DAT Filter from List
  • Adding DAT Filter Condition
  • Creating New DAT Filter
  • Filter Group
  • Creating Filter Group
  • Using Filter Groups on Lists
DAT Query
  • DAT Query - Step 1 - Adding Conditions
  • DAT Query - Step 1 - Connecting Tables
Managing DAT Filter
  • Managing DAT Filter Conditions
  • Saving DAT Filter
  • Managing DAT Filter
  • Deleting DAT Filter
  • Reviewing Existing DAT Filter
  • DAT Query and DAT Filter Common Mistakes
Posted March 13, 2026
To initialize a new filter:
  1. Click on the table name that would be used for the new filter.
  2. Under “Conditions” pick “New Filter” from the available choices.
  3. Click on the blue filter (funnel) icon.
The next step is Adding DAT Filter Condition.
Posted March 13, 2026
Creating New DAT Filter uses the same concepts as Creating New DAT Query, so to create a new DAT Filter follow these steps:
  1. DAT Query - Step 1 - Adding Conditions
  2. DAT Query - Step 1 - Connecting Tables
Repeat steps 1 and 2 as many times as needed. Once you finish creating the new DAT Filter, click Add button on the top.

Note: Once all desired conditions have been added, see Saving DAT Filter for next steps.
Posted March 13, 2026
You can save a DAT Filter for your personal reuse, or to make it available to other users.  There are two ways you might reach the Save Filter screen.
  1. Click Save on a DAT Filter popup window.  Note: You can replace an existing filter by choosing it from the dropdown on the Save screen.
  2. Managing DAT Filter
For a saved filter, the following information is required:

Filter Name is the name of the filter as it will appear in the drop-downs. Filter names must be unique in the system. Note: Filters that you are not the author of, but have role access to use, will have an asterisk * at the end of the filter name in drop-downs.

Filter Group(s) allow you to categorize the filter so it can be found more when selecting filters on lists. Assigning a filter to one or more groups helps organize related filters for faster selection. This field is optional.

All Divisions
determine if the filter will appear in other school divisions as an option in drop-downs.  If the filter has conditions specific to the current division, leave this unchecked.  Note: All Divisions must be checked for a saved filter to be available as an option when creating calculated attributes.

Roles determine which other users can see and use the filter.  Such users are able to add additional conditions or save their own copy of the DAT Filter. Note: Consider carefully before making a filter available to other user roles.  Fields are already restricted in terms of which roles can access them; however, if you create a filter based on those fields and specify roles - anyone with those roles is able to run your filter.

Note: The owner is generally the user who created the filter. The owner can only be changed by a user with Security Full permissions. Ownership can be changed either when managing the filter or from the Campus > Home > Filter Setup page. See DAT Filter for more details.
Posted March 13, 2026
Filter Groups allow users to organize DAT Filters so that they can be located more easily when selecting filters on lists. When filters are assigned to groups, lists may display additional options that help narrow the available filters.

On lists that support Filter Groups, two dropdowns may appear:

  • Filter Group
  • Filter

When a Filter Group is selected, the Filter dropdown will only display filters associated with that group. This allows users to narrow the list of available filters and find the desired filter more quickly.

If filters are not associated with any groups, the Filter Group dropdown may not appear. In this case, only the Filter dropdown will be displayed and it will show all available filter
Posted March 13, 2026
Filter Groups are a configuration used to organize filters into categories for easier navigation and management. Administrators can group related filters together so users can quickly locate and apply them.

Filter Groups can be created and managed on the Campus > Home > Filter Setup > Filter Groups page.

The Group Name of the Filter Group is used to identify and categorize related filters.

The Owner determines who has private visibility to the group when Is Public is not enabled. Note: This will typically be the user who created the Filter Group

The Is Public setting that controls group visibility. When Is Public is enabled, the group is visible to other users so they can use filters associated with that group. When Is Public is not enabled, the group is only visible to the user who created it. 
Posted March 13, 2026
  1. Navigate to Campus > Home > Filter Setup > Filter Groups
  2. Click New
  3. Enter a Group Name for the Filter Group
  4. Enter Group Owner
  5. Enable Is Public if the Filter Group should be visible to other users
  6. Click Save
Posted March 10, 2026
Posted March 09, 2026
To review existing archived reports, you need Registrar Read, Registrar Full, or ArchivalReports Read. To archive or re-archive reports from the student list, you need Archiving Full.

If some parents cannot see an archived report in the Parent Portal, review the following items:
  • Navigate to Admin > Maintenance > Official Reports, or open the student record and review Progress PDF, Report Cards PDF, or Transcripts PDF.
  • Confirm that the report has an Available Date.
  • Confirm that the Available Date has already passed.
  • Confirm that the Available Date is correct for your school's time zone in Application Setup (CMS/Website).
  • Review the Household saved on the archived report. Archived reports are generated for qualifying primary households. If a student has multiple send mail households, each qualifying household receives its own copy.
  • If the student had an academic hold or financial hold, confirm whether the report was intentionally archived with a later Available Date.
  • If grades, comments, or an incomplete changed after the report was first archived, re-archive the report using Overwrite.
  • Confirm that the parent is checking the Student area of the Parent Portal, where archived report cards and transcripts are displayed for download.
Note: If no Available Date is specified, the report will not be available for download on the CMS Parent Portal.

Note: The Available Date uses the time zone configured in Application Setup (CMS/Website).

Note: If you need to release a report later, you can archive it first and update the Available Date when it should become visible.

Note: If you corrected a report after it was archived, use Overwrite when re-archiving so the updated PDF replaces the existing one.

For more information, review Official Report and Archiving Official Report.
Posted March 03, 2026
Posted March 01, 2026
We will be at the #NBOA Annual Meeting in Orlando (March 1–4, 2026). If you are attending, we would love the chance to meet you in person!
Posted February 25, 2026
We are excited to introduce powerful new enhancements to Filters in PCR Educator—designed to make organization and collaboration easier than ever.
Posted February 17, 2026
The CMS Widget - Invoice Payments  is used to collect online payments by credit card, eCheck, or Stored Payment Type. On successful submission, the widget processes the payment through the configured Payment Processor, creates an AR Receipt, allocates the receipt to invoices, optionally creates and posts a convenience fee invoice, sends a thank-you email, and redirects to a thank-you page.

Allow Remember Payment enables the “remember payment” option for supported payment widgets (CMS Widget - Credit Card, CMS Widget - eCheck, and CMS Widget - Stored Payment). When enabled and the user selects “remember,” the Stored Payment Info is saved after a successful payment. Note: Stored Payment Info saving is suppressed when Test Mode is enabled.

Amount Label sets the label for the amount field. If blank, defaults to Amount.

Change Invoice Term Location enables a “Change Payment Plan” option for invoices that meet the eligibility criteria.

Invoice Filter applies an optional DAT Filter to invoice selection when retrieving unpaid invoices and calculating balances.

Invoices Based On determines whether balances and invoices are retrieved for the current household or the selected student.

Ledger selects the ledger used for invoice and statement queries. Note: If not set, the ledger defaults to Ledger Id 1. Payment Configurations are validated to ensure they belong to the selected ledger.

Payment Configuration Credit Card selects the Auto-Pay Configuration (Finance) used for credit card payments.

Payment Configuration Echeck selects the Auto-Pay Configuration (Finance) used for eCheck payments.

Payment Term Change Attribute identifies the attribute list used to determine which invoices are eligible to show the “Change Payment Plan” option when Change Invoice Term Location is set.

Posted Invoices Only restricts invoice and balance calculations to posted invoices.

Processing Fee Label sets the label for the processing fee section. If blank, it defaults to Processing Fee.

Receipt Invoice Number specifies the descriptor passed to the payment gateway. If not set, it defaults to Online Payment.

Thank You Page Location specifies the page users are redirected to after a successful payment.

Show Amount Due Read Only determines whether the statement amount is displayed as read-only text instead of an editable amount field. When enabled, the amount field is hidden and the calculated amount due is shown as a label.

Show Amount
controls how “as-of” logic is applied when calculating amounts due and default per-invoice payment amounts.
Options:
Due As Of Day Of Month
Show All Invoices

Show Amount Due As Of Day specifies the day of month used when Show Amount is set to Due As Of Day Of Month. Note: The widget computes an “as-of date” using the current date and the provided day-of-month; if the computed date is earlier than today, it advances to the next month. If no day is provided, the widget displays all open invoices.

Show Invoice Distribution determines the payment entry mode.
• When enabled, the unpaid invoice grid is shown and users can enter per-invoice payment amounts.
• When disabled, a single amount entry field is shown.

Test Mode determines whether the Payment Processor call runs in test mode. Note: When enabled, saving a remembered payment profile is not performed.

Thank You Email specifies the email template used after a successful payment. Note: The thank-you email is created in the Finance > AR > Receipts > Email screen.

Total Amount Label sets the label for the total amount section. If blank, it defaults to Total Amount.

Behavior on Submit
When the user clicks Submit, the widget:
• Determines the receipt amount from either the invoice distribution grid (sum of per-invoice entries) or the single amount (editable amount or read-only label).
• Ensures a payment method is selected (Credit Card, eCheck, or Stored Payment) and validates the selected method.
• Calculates the convenience fee using the selected payment method and computes the final charge amount.
• Creates a deposit (based on the selected Auto-Pay Configuration (Finance)), inserts an AR Receipt, and records A/R credit entries.
• Allocates the receipt to invoices:
  – If invoice distribution is enabled, allocations follow the per-invoice amounts entered by the user.
  – If paying a single amount, allocations are automated in three passes: overdue amounts first, then next-due amounts, then remaining balances (until the payment amount is fully allocated).
• If convenience fee settings are configured and the fee is greater than zero, it creates a convenience fee invoice and optionally auto-posts it.
• If “remember payment” is enabled and selected, it saves the Stored Payment Info after success (not performed in test mode).
• Sends the Thank You Email to the logged-in user and redirects to the Thank You Page Location.
Posted February 16, 2026
I received this message from a colleague this week, and it genuinely made my day.
Posted February 06, 2026
We will be at the #NBOA Annual Meeting in Orlando (March 1–4, 2026). If you are attending, we would love the chance to meet you in person!
Posted February 02, 2026
The Alert CMS Widget is an eye-catching display of text used to communicate important information to targeted users.

The Alert widget displays messages based on Content Types, which determines who has access to it.
Posted February 02, 2026
The Content Type Text CMS Widget is a text editor tool that allows users to create and display formatted text within a Content Type.

The Content Type Text widget is commonly used in class-based content types, such as displaying class syllabi, instructions, announcements, or informational content.
 
Posted February 02, 2026
The Image Gallery CMS Widget is a tool used to display photos within the website.

The Image Gallery widget uses Content Types to control which images are displayed and who can view them, allowing schools to restrict photo visibility to specific audiences.
Posted February 02, 2026
The Forum CMS Widget is a communication tool that allows users to participate in structured discussions within a shared content area.

The Forum widget is commonly used in class-based environments, where students can discuss homework assignments, projects, or course topics with their peers and teachers.

The Forum widget is class-based and relies on Content Types created for Course Sections. Each class has a corresponding Content Type, which determines who has access to it.
Posted February 02, 2026
The News CMS Widget displays content in a news feed format, allowing schools to present the most recent content on the front page of their website.

The News widget pulls content from one or more Content Types or Content Type Category and automatically orders items based on recency.
Posted February 02, 2026
The Content Roster CMS Widget allows staff, parents, and students to view and email members of the same class.

The Roster widget is class-based and relies on Content Types created for Course Sections. Each class has a corresponding Content Type, which determines who appears in the roster and who has access to it.
Posted February 02, 2026
The Calendar CMS Widget displays content from Content Type Categories that are marked as ‘Show on Calendar’.

The Calendar widget does not display individual Content Types directly. Instead, it pulls content based on Content Type Category, allowing schools to control which types of content appear on calendars through category configuration.

Example: A school may configure an ‘Academic Calendar’ category and mark it as ‘Show on Calendar’. Any Content Type associated with this category will then appear in the Calendar widget. See Creating Calendar Event for more details.
Posted February 02, 2026
The Class Minisite Wizard CMS Widget enables teachers to create Content Types for each of their Course Sections.

When a teacher uses the Class Minisite Wizard, the system automatically generates a separate Content Type for each selected Course Section. These Content Types are used to store and display class-specific content such as announcements, documents, links, and other instructional materials.

Note: Teachers can only create Content Types for Course Sections to which they are assigned.
Posted February 02, 2026
Follow the steps for Importing New Records.

Field Required Type Sample Values Notes
Calendar_Event_Title Yes Text "High School Play"  
Calendar_Event_Description No Text "Join us for our annual production of our high school play"  
Is_Cancelled Yes Boolean "1" 1 = Yes, 0 = No
Date_Time_Start Yes Date-Time "2026/01/10 11:30 AM"  
Date_Time_End Yes Date-Time "2026/01/10 12:30 PM"  
Calendar_Event_Location No Text "Main Theatre"  
Calendar_Event_Custom_Url No Text "[Insert Google Meet Link here]"  
Calendar_Event_Organizer_Name No Text "Mr. Smith"  
Content_Type1 No Lookup "Algebra I"  
Content_Type1_Id Yes, if Content_Type is not specified Identifier "1234" Must match an existing Content Type Id in the system.

Note: This is for importing calendar events through the CMS. This can be found in the Admin > Security > Import section.

Note: Content_Type and Content_Type_Id are repeated 9 more times (for a total of 10 potential Content Types)
 
Posted February 02, 2026
To create a Content Type Category from the CMS Portal:
  1. Log in to the CMS Portal as an Administrator
  2. Click Admin in the top left-hand corner
  3. Select the Content tab
  4. Click the Categories subtab
  5. Click New on the right-hand side
  6. Enter a value in the Title field
  7. Select whether content types within this category should be visible on the calendar
  8. Save the record
Note: Only users with Administrator access can create Content Type Categories using this method.

Note: Calendar visibility applies to all content types assigned to the category.
 
Posted February 02, 2026
Content Type Category is a CMS configuration that allows multiple content types to be grouped together, simplifying the user interface.

The relationship between Content Types and Content Type Categories is many-to-many, meaning a content type can belong to multiple categories, and a category can contain multiple content types.

For instructions on setting up categories, see Creating Content Type Category.

Website Administrators can configure each control or widget that supports content types to display either:
  • A specific Content Type, or
  • One or more Content Type Categories
Content Type Categories can also be used to support multiple calendars.

When a Content Type Category is marked as Show on Calendar, that category becomes a separate calendar view.
Posted February 02, 2026
To create a Content Type from the CMS Widget: Class Minisite Wizard:
  1. Navigate to the appropriate CMS page (Class Management Page)
  2. Select the course sections for which you want to create content types
  3. Click Create
Note: Each selected course section generates a corresponding content type.

Note: Content types created through the CMS Widget: Class Minisite Wizard are automatically linked to the associated Course Sections.
Posted February 02, 2026
To create a Content Type from the CMS Portal:

  • Log in to the CMS Portal as an Administrator
  • Click Admin in the top left-hand corner
  • Select the Content tab
  • Click New on the right-hand side
  • Complete the following fields:
    1. Title - Enter the name of the content type.
    2. Is Public - Select this checkbox if information within the content type should be visible to the general public.
    3. Is Active - Determines whether the content type is active. Schools can activate or deactivate content types using this option.

Next, configure access and categorization:

  • Click Roles on the left-hand menu
  • Specify which users can View and Edit content within the content type
  • Click Categories on the left-hand menu
  • Select all categories to which the content type belongs

Example: A content type named Senior School Basketball may belong to both the Athletics and Upper School categories.
Posted February 02, 2026
There are two ways to create a Content Type.
  • Creating Content Type: CMS Portal
  • Creating Content Type: Class Minisite Wizard

 
Posted February 02, 2026
Minisite is a website that displays content from a single content type.

Minisites are commonly used to present focused content for a specific group or purpose. For example, each class website, typically accessed from the Parent Portal, Student Portal, or Teacher Portal, is a minisite because it displays content for a selected class only. Similarly, a school may have a minisite for PTA, a minisite for the Knit Club, or a minisite for Racquetball.

Minisites can be created and managed using CMS tools, see CMS Widget: Class Minisite Wizard for additional details.

A video demonstrating minisite functionality is also available: Minisites - PCR Educator Student Information System.
Posted February 02, 2026
Content Type Membership is a configuration that defines which users have Edit or View access to a specific content type.
  • Edit - Allows users to add new content and update existing content.
  • View - Allows users to view content without making any changes.
Content Type Membership can be defined using one of the following methods:

  • Individual Users - Specific users are granted access to the selected content type.
  • Security Roles - Users assigned to specific security roles are granted access to the selected content type.
  • Attributes - Users with predefined attributes are granted access to the selected content type.
  • Class Membership - Students enrolled in a class, and parents with students enrolled in that class, are granted access to the corresponding class content type.
Note: Each class is mapped to its own content type. For example, if there are 10 course sections, there will be 10 corresponding content types, one for each course section.
Posted February 02, 2026
Content Type is a feature that allows schools to restrict access to selected content to specific groups of users, ensuring that users only see and manage content relevant to their role within the school community.

Content Types control access to content at two different levels, allowing schools to manage both who can view content and who can edit content. By using Content Types, schools can display targeted, user-specific information and personalize the experience for each member of their community.

See below for additional Content Type Articles:
  • Content Type (Current article)
    • Content Type: Membership
    • Content Type: Class Minisite
    • Creating Content Type
      • Creating Content Type: CMS Portal
      • Creating Content Type: Class Minisite Wizard
  • Content Type Category
    • Creating Content Type Category
  • CMS Widget
    • CMS Widget - Class Minisite Wizard
    • CMS Widget - Calendar
      • Importing New Records - Calendar Event
    • CMS Widget - Content Roster
    • CMS Widget - News
    • CMS Widget - Forum Profile Statistic
    • CMS Widget - Image Gallery
    • CMS Widget - Content Type Text
    • CMS Widget - Alert
 
Posted January 30, 2026
Goodbye checks. Hello effortless vendor payments.
Posted January 12, 2026
Prior to printing 1099 forms, please start by Verifying 1099s.

Note: Only those vendors who meet the qualifications established by IRS are included on 1099 forms. In particular, the sum of all payments to the vendor for the selected year should meet the minimum established by the IRS. The system only sums up those payments which are marked as 1099 items. For Misc Payments, navigate to Finance > AP > Misc. Payments > Misc. Payment Details > Details to mark 1099. For payments, navigate to the associated invoices to mark 1099 items Finance > AP >Invoices > Vendor Invoice Details > 1099 Items.

Use the following reports located in Data Analytics Tool (DAT) -> PCR Educator Imported category to print 1099 forms.  Please note, you will need FinanceAP Full or FinanceAP Read roles to access them.

[Finance] 1099 MISC - No Lines
[Finance] 1099 MISC - With Lines Note: This version should not be sent to the IRS.  Please use official IRS documents.
[Finance] 1099 NEC - No Lines

- Open the desired report.
- Navigate to the Results tab on the left.
- Click the “Print” button to download the 1099 form.
- Print the form.

These reports are year-specific; to update the tax year:

- Open the desired report.
- Click on the Query tab on the left.
- Click on “1099 Item Totals” table.
- Specify the correct Tax Year below Table Required Parameters.
- Click Save.

Note:  Reporting 1099s to the IRS also involves Printing 1096
Posted January 12, 2026
Prior to printing 1096 forms, please start by Verifying 1099s.

Note: Only vendors who meet the qualifications established by the IRS are included on 1099 forms. Please see the Printing 1099 article for details.  The 1096 form is a summary of the 1099 forms.

Use the following reports located in Data Analytics Tool (DAT) -> PCR Educator Imported category to print 1096 forms.  Please note, you will need FinanceAP Full or FinanceAP Read roles to access these reports.

[Finance] 1096 MISC - No Lines
[Finance] 1096 NEC - No Lines

Note: The reports have the same layout, the only difference is whether the report conditions are for Non-Employee Compensation (NEC), or everything else that is not NEC.

- Open the desired report.
- Navigate to Results tab on the left.
- Click the “Print” button to download the 1096 form.
- Print the form.

These reports are year-specific.  To update the tax year:

- Open the desired report.
- Click on the Query tab on the left.
- Click on “1099 Item Totals” table.
- Specify the correct Tax Year below Table Required Parameters.
- Click Save.
Posted December 15, 2025
This query returns rooms with student totals and course information. You must have either the Scheduling Full or Scheduling Read role to access it.
Posted December 10, 2025
The LiveWrite API is a PCR Educator module that allows authorized API users to automate data imports into the PCR Educator.
Posted December 09, 2025
This query returns student schedules for the current year. You must have either the Scheduling Full, Scheduling Read, Registrar Full, or Registrar Read role to access it.
Posted December 09, 2025
A Datasource defines and manages dropdown lists of selectable values used throughout the system. These predefined options help standardize data entry.

Example: When entering a student's gender, you'll see a dropdown with values like Male and Female. These come from a datasource that can be customized to fit your institution’s needs.

Datasource fields appear across PCR Campus, including on student, inquiry, and household records. They are hyperlinked for easy identification. Datasource values are also important when Importing Data. Imported values must match the predefined datasource options to be accepted during the import process.

Note: Only users with the DBA Full role can manage datasources, and access is further limited by module-specific permissions.

Example: To manage datasource fields in the Admissions module, a user must have the DBA Full role along with either the Admissions Full or Admissions Read role.
Posted December 07, 2025
A webinar taking you through step-by-step instructions on how to configure graduation requirements!
Posted December 07, 2025
Learn how to prepare the teacher portal for an exciting and engaging start to the year.
 
Posted December 04, 2025
A Course Signup is the process of enrolling students into classes for the current or next school year. This process ensures that students are officially placed into the courses they will attend. The following articles outline different methods for enrolling students:

   1. Loading Students into Courses
   2. Importing New Records - Student Courses
   3. Adding / Dropping Course Student Billing
Posted November 20, 2025
One of the following roles is required to access this query: Registrar Full, Registrar Read, Scheduling Full, or Scheduling Read.

This DAT Query returns all prerequisites and their conditions within a desired school id.

School Id is a Parameterized condition.
Posted October 30, 2025
In order to update an archived report follow these steps:

1. Navigate to Administrator > Comments & Marks > Official Reports.
2. Locate the report you want to update:
     - Use filters/search as needed, then open the report to view Report Details.
3. In Report Details, upload the new PDF file to replace the existing one.
4. Click Save Uploaded File.

NOTE: We recommend backing up the existing PDF prior to any changes so you can restore it if needed.
Posted October 03, 2025
As noted in the Closing the School Year Review Post-Close Checklist, once you have closed the school year, advance admissions records in order to ensure accurate tracking of inquiries and potential enrollments.

Advancing Admissions Records allows you to:

     - Re-activate inquiries/applicants for the next admissions cycle.
     - Update inquiries/applicants who may still enroll in the current academic year.

Note: Completing this step also ensures your Apply Online module is ready for the new cycle, so families can inquire and apply.

After advancing your records, Consider reaching out with invitations and reminders to encourage families to apply or complete next steps. This helps maintain an active admissions pipeline heading into the new cycle.
Posted October 01, 2025
Grade validation is the process of reviewing grades to ensure that all teachers have entered and saved their marks before report cards are generated or archived. This step helps schools avoid incomplete or inaccurate records on student report cards. You can follow the steps below to validate grades.

Checking Unsaved Grades in Marks

  • Navigate to: Admin > Comments and Marks > Marks.
  • Search for unsaved grades for the desired marking period.

This provides a quick way to identify and address any missing entries before report cards are finalized.
Posted October 01, 2025

We’re excited that the Graduation Requirements webinar is almost here!

Here are the details:

Date: Wednesday, October 1, 2025
Time: 1:00 PM CT / 2:00 PM ET / 11:00 AM PT

👉 Join the Webinar Live: Click here to watch on YouTube

In this webinar, you’ll learn how to:

     - Create and manage graduation plans for different programs
     - Define and configure graduation requirements
     - Check and monitor student progress toward fulfilling requirements
     - Review how graduation requirements are reflected on transcripts 

We look forward to seeing you there!

Posted September 18, 2025

Join us for a Graduation Requirements webinar!

In this webinar, you will learn how to:

  • Create and manage graduation plans for different programs
  • Define and configure graduation requirements
  • Check and monitor student progress toward fulfilling requirements
  • Review how graduation requirements are reflected on transcripts

Date: Wednesday, October 1, 2025
Time: 1:00 PM CT / 2:00 PM ET / 11:00 AM PT

👉 To RSVP: Simply email support@pcreducator.com and we’ll register you for the webinar.

📢 Help us tailor the webinar to your school:

Send your graduation requirements to support@pcreducator.com by September 24th. We can customize examples to ensure the session speaks directly to your school’s needs.

We’re excited to have you join us! 

Posted September 18, 2025
A DAT Regenerative Table is a type of DAT table that does not continuously update in real time. Instead, its contents are regenerated on demand through a refresh process. This regeneration step rebuilds the table using the most current data and configuration settings available at the time of refresh.

Regenerative tables are especially useful when the underlying calculations or data checks are complex, or when a static snapshot of the data is more practical than live updates. Example: The Graduation Requirements table is regenerative.

When you access a DAT regenerative table, you will see options to Apply Parameters and Refresh Datasource. The Apply Parameters action loads the appropriate fields for that table, while the Refresh Datasource action regenerates the table’s data to reflect the latest updates.

Note: The Datasource can only be refreshed every few hours, as the regeneration process is complex and resource-intensive.
Posted September 12, 2025
This query returns student graduation requirements, including course names. You must have either the Registrar Full or Registrar Read role to access it.

Note: If you have more than one graduation plan, you can select the desired plan in the Graduation Requirements table.
Posted September 12, 2025
This query returns student graduation requirements. You must have either the Registrar Full or Registrar Read role to access it.

Note: If you have more than one graduation plan, you can select the desired plan in the Graduation Requirements table.
 

Posted September 12, 2025
  1. Navigate to Administrator > Maintenance > Graduation Plans.
  2. Enter the name of the Graduation Plan and click “Add New.”
  3. Navigate to Administrator > Maintenance > Graduation Requirements.
  4. Select the Graduation Plan, specify the requirements, enter the Required Number of Credits for that requirement, and click Add.
Note: To create requirements, review Creating Course Requirement. 
Posted September 12, 2025
A graduation requirement is an academic or administrative condition that students must meet in order to successfully complete their program of study.

Schools can define different types of graduation requirements. For example, there may be one set of requirements for standard programs and another for honors students.

Note: To set up graduation requirements in the system, see Creating Graduation Requirement and use the Prerequisite Criterion.

Note: To review student graduation requirements, you review these DAT Queries: 
Standard Query: Admin - Graduation Requirements Summary
Standard Query: Admin - Graduation Requirements Details

Note: Graduation Requirements are also supported on certain transcripts. For assistance with transcript configuration, contact support@pcreducator.com.
 
Posted September 12, 2025
A registration override allows administrators to approve a student to make a Course Selection or sign up for a Course even if the student does not meet the Course Requirements. 

Registration overrides can be applied in two main scenarios:

   1. Course Selections
   2. Course Signups

Example: An admin may approve a student to select an advanced course for the following year or allow them to enroll in a Course for the current year, even if they do not meet the Course Requirement.

The Scheduling Full role is required to enter registration overrides.

To add a registration override:
  1. Navigate to Scheduling > Students > Details > Registration Overrides.
  2. Select the classes to override.
  3. Click Add.

  4.  
Posted September 12, 2025
To assign Course Requirements to courses in bulk:
  1. Navigate to Administrator > Courses > Courses
  2. Select the Courses and go to multi-action > Add Prerequisite
  3. Select the Course Requirement and click Add.
  4.  
Posted September 12, 2025
To assign Course Requirements to individual courses:
  1. Navigate to Administrator > Courses > Courses.
  2. Go to Course Details > Prerequisites.
  3. Select the Course Requirement and click Add.
  4.  
Posted September 12, 2025
  1. Navigate to Administrator > Courses > Prerequisites,
  2. Click New,
  3. Enter the Course Requirement information and click Save. 
Name identifies the requirement. It is reasonable to use the class level in the name so it is easy to recognize later. For example, if the requirement applies to Math 200, you might name it Math 200 Prerequisite.

Criterion determines the type of requirement. If you select Prerequisite, the student must complete certain courses, credits, or grades before enrolling in the target course. If you select Co-requisite, the student must take another course at the same time or within the same year, such as a science class with its lab. If you select Course Repeat Restriction, you can control when and under what conditions a student may retake a course. Note: For Graduation Requirements, you can use the Prerequisite criterion. Example: If a student must pass four English courses, you can set the course type to English and define the passing grade. Then, on the Graduation Requirements screen, add this requirement and specify the required number of credits. 

Student – Must Have means the student fulfills the criterion if they meet all specified conditions (such as grade or credits). Must Not Have means the student fulfills the criterion by not meeting those conditions.

Course Type and Course Level define which courses qualify for the requirement. Course Level allows you to pick one level, a range of levels, or specific levels.

Any Grade / Most Recent is used when a requirement is based on a grade. You can specify the grade type, range, minimum or maximum, or exact grade that must be achieved.

# of Credits is used when a requirement is based on credits earned. You can set a minimum, maximum, or range of credits that must be satisfied.

When the Criterion is set to Co-requisite, you can also define when the related course must meet in relation to the target course:
  • Course (Meet Before) – the related course must meet in a previous marking period.
  • Course (Meet Before Or Same As) – the related course may meet in a previous or the same marking period.
  • Course (Meet Same With) – the related course must meet in the same marking period.
  • Course (Meet After Or Same As) – the related course may meet in a later or the same marking period.
  • Course (Meet After) – the related course must meet in a later marking period.
  • Course (Meet Any With) – the related course may meet in any marking period (before, same, or after).

Link on Section ensures that co-requisite classes are scheduled in the same section. For example, if Math 100 and Math 200 are co-requisites, the student would only be able to enroll in Math 100 section 01 if also enrolled in Math 200 section 01.

Link on Teacher ensures that co-requisite classes are scheduled with the same teacher. For example, Math 100 and Math 200 co-requisites would only be allowed if both classes are taught by the same teacher.

When multiple criteria are created for the same requirement, you must define the criteria logic. If there is only one criterion, enter “1.” If either of two conditions can be met, use an OR operator between the criterion numbers. If all conditions must be met, use an AND operator.

There are two methods to assign course requirements to a Course.
  1. Assign Course Requirement to Course - Bulk. 
  2. Assign Course Requirement to Course - Individual.
 
Posted September 12, 2025
A Course Equivalency identifies Course Type Levels that are homologous to one another in
terms of their consideration in the requisite process. For instance, if all ENG 100 level classes are valued the same as all LIT 100 level classes in terms of their value in fulfilling prerequisite requirements, you can make them equivalent to one another so that any ENG 100 class can be substituted for any LIT 100 class.

To set course equivalencies, navigate to Administrator > Courses > Course Equivalencies and use the dropdowns to set Course Type Levels to one another. To import course equivalencies, follow the steps in Importing New Records - Course Equivalencies
Posted September 12, 2025
Registrar Full role is required to create a Course Type Level.
  1. Navigate to the Administrator > Courses > Course Type Levels screen. 
  2. Enter the Course Type and Level in the designated fields and click Add New. Note: Course Type is an alphanumeric field whereas Course Level is a numeric field.
Note: To import course type levels, follow the steps in Importing New Records - Course Type Levels.
 
Posted September 12, 2025
Course Types and Levels set the groundwork for grouping courses so that course requirements can be applied to a category of courses that are comparable to one another. For example, if there are five beginner level English classes offered by the school and if only one of them is required for a student to take the intermediate English level course in the next year, the five beginner classes can be marked with the same Course Type and Level. Therefore, the school must first evaluate all courses that are offered and group them into Course Types and Levels accordingly.

Course Type: An alphanumeric identifier such as ENG, MTH, or PHY.

Course Level: A numeric value that represents the difficulty or progression stage, such as 101 or 203.

Together, they form a unique combination like ENG 101 or MTH 203. These combinations are then used when schools establish rules for prerequisites, co-requisites, or repeat restrictions.

Note: To create a Course Type Level, follow the steps in Creating Course Type Level.

Note: For transferred courses, you can specify the course type and level in Historical Marks to ensure those credits count toward Course and Graduation Requirements.
 
Posted September 12, 2025
The purpose of the course requirement system is to establish requirements for class enrollment based on various criteria. The restrictions are established prior to the course selection process. During the course selection process, the system assists a student, parent or an advisor in selecting eligible student classes and their alternatives. These selections are then taken into account during the scheduling process. The Registrar Full role is needed to create Course Requirements. To configure course requirements, review these articles:

- Course Type Level
- Creating Course Type Level
- Creating Course Requirement
- Assign Course Requirement to Course - Individual
- Assign Course Requirement to Course - Bulk
- Registration Override
- Course Equivalency
- Graduation Requirement
- Creating Graduation Requirement
- Standard Query: Admin - Graduation Requirements Summary
- Standard Query: Admin - Graduation Requirements Details
 
PCR Educator
School Operations Platform

One platform for K-12 schools, higher education, performing arts institutions, and health science programs since 1989.

PCR Educator on Capterra: 4.7 out of 5 stars
Platform
    Solutions
      Resources
        Company
          © 1989-2026 PCR Educator, Inc.Silver Spring, MD · U.S.A. · (301) 947-7380