(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 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 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 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 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
 
Posted September 09, 2025
Did you know? PCR Educator supports Graduation Requirements — making it easier for schools to track and communicate exactly what students need to graduate.
Posted September 01, 2025
Our offices will be closed on Monday, September 1st in observance of Labor Day. We will resume normal hours on Tuesday, September 2nd.
 
Posted August 26, 2025
We’re excited to introduce PCR Educator’s AI Email Generator—a powerful new way to make communication faster, smarter, and more personal.
Posted July 22, 2025
An AI Prompt is a set of written instructions that guides the AI in generating targeted content across all modules. It defines the desired tone, structure, focus areas, and any specific details to include. For example, an admissions team might create a prompt that directs the AI to write personalized emails to applicants based on their expressed interests—such as highlighting relevant academic programs, student organizations, or events attended.

Note: To create an AI Prompt, follow the steps outlined in Configuring AI Prompt.
Note: To use the AI Prompt feature to send emails, follow the steps in Using AI Prompt.
Posted July 22, 2025
To configure an AI Prompt, you must have the Full role for the module you are working in. For details, see the Roles Dictionary.

Steps to configure an AI Prompt:

- Navigate to the Administrative Portal Home Page > AI Prompts.
- Click New.
- Enter a Prompt Name.
- In the text editor, enter the prompt instructions.

Note: See AI Prompt: Example for sample prompts.
Posted July 22, 2025
To view sample AI Prompts, navigate to the Administrative Portal Home Page > AI Prompts screen. Look for entries that begin with the [PCR Educator Imported] prefix.

Note: To create your own prompt, follow the steps in Configuring AI Prompt.
Posted July 22, 2025
An AI Prompt Query is a DAT Query that provides the data source for an AI Prompt. The AI uses the results of this query to generate personalized email content.

These queries can include a wide range of information—such as data from admissions, billing, development, or household records—and can combine fields across multiple modules. By building robust, well-rounded queries, you enhance the versatility of your AI Prompts, enabling more dynamic and targeted communication.

Note: See AI Prompt Query: Example for sample queries.
Posted July 22, 2025
To view a sample AI Prompt Query, navigate to the DAT module and look for entries in the PCR Educator (Imported) category that begin with the [AI] prefix.

Note: To create your own AI Prompt Query, follow the steps in DAT Query.
Posted July 22, 2025
To use an AI Prompt:

- Navigate to the Email screen.  For an overview of email functionality, see the Campus Basic Webinar.
- From the AI Prompt dropdown, select the desired prompt.
- From the AI Prompt Query dropdown, select the appropriate query.
- Click Preview to generate personalized emails. Note: Before clicking Preview, create a basic email template that includes any general information you want to appear in each message.
         a. The system will display a preview of the personalized content based on your prompt and query.
         b. If you are satisfied, click Save.
         c. To regenerate the emails, click Preview again.  Note: You can also make edits to individual emails using the edit icon.
- Once saved, you can send the emails immediately or schedule them for future delivery.

Note: The AI Prompt can be adjusted at any time to improve results. Click Preview again to regenerate.
Note: See AI Prompt: Example for sample prompts.
Note: See AI Prompt Query: Example for sample queries.
Posted July 15, 2025
We’re thrilled to announce the launch of PCR Educator’s AI Email Generator—a breakthrough tool designed to transform how your school connects with families, students, and donors.
 
Posted July 01, 2025
Microsoft/Azure Single Sign-on (SSO) is a powerful feature that enables seamless authentication between PCR Educator and your Microsoft environment. 
Posted June 25, 2025
The Closing the School Year Wizard is available! Keep in mind that you can send notifications to next year’s families, and give them access to the Parent Portal (including next year's schedules), prior to closing this school year. As always, please plan ahead and reserve multiple business days with us in case you need support in closing the school year.

Note: The close of the school year wizard will not be available if your school exceeds the purchased database storage amount. Please contact support@pcreducator.com for help addressing this.

Posted June 20, 2025
The red asterisk indicates that the student has a health alert. It provides a quick way for staff to recognize when important health information is associated with a student. To view the details of the alert, you can simply click on the student’s name.
 
Posted June 20, 2025
When you prepay for a fixed asset, but do not place it into service immediately, follow this process to ensure accurate accounting and fixed asset tracking:

     1. Use a Prepaid Account
         On the AP Invoice, use a prepaid expense account instead of a Fixed Asset account. This ensures no fixed asset is created prematurely.

     2. Create the Fixed Asset
          When the asset is actually placed into service, manually create the fixed asset record with the correct date. Follow the steps in Creating Fixed Asset to create the Fixed Asset.

     3. Record a Journal Entry
          Record a journal entry to move the amount from the prepaid account to the appropriate fixed asset account.
Posted June 17, 2025
To designate which products are eligible for a Discount, you can apply products to the Discount. Example: If you want to apply the Early Bird Discount to Summer Camp products, you can select the applicable Summer Camp products and assign them to the Early Bird Discount.

     1. Navigate to the Finance > Products screen and select the products to apply to the Discount.
     2. Go to Multi-action > Apply Products to Discount.
     3. Select the Discount product and click the “Apply Selected Products to Discount” button.

Note: You can view all eligible products applied to a discount product by navigating to Product > Details > Eligible Products.
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