> For the complete documentation index, see [llms.txt](https://support.pears.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.pears.io/administration/utilities/import-webneers-data.md).

# Import WebNEERS Data

Upload a WebNEERS export to add participant demographics to PEARS program activities, and check which rows the importer accepts or skips.

The WebNEERS Importer reads the files in a WebNEERS export and adds each participant's demographics (age, gender, race and ethnicity) to the PEARS program activity they are encoded with. PEARS remembers every adult participant and youth group it imports and skips them on later uploads, so no one is imported twice.

Before you import, [encode](/administration/utilities/encode-webneers-data.md) each participant with their PEARS Program ID in WebNEERS, then [export the data](/administration/utilities/export-webneers-data.md).

**Permission required:** WebNEERS importer permission. The WebNEERS Importer is an Extension add-on that PEARS Support turns on for an organization; Organization Administrators can contact PEARS Support about access.

## Open the WebNEERS Importer

Click the **cog icon** in the top navigation bar and select **WebNEERS Importer**. The page lists your imports, with the date each one was started and completed, and a form to create a new one.

Organization Administrators see every import in the organization; other users see only the imports they created. Only an import's creator and Organization Administrators can open it, upload to it, or delete it.

![Screenshot: The Importers page showing the list of existing imports with their names, types, status, and the form to create a new import](https://2560412328-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff0820LrBGQ9ZA8SC4BR1%2Fuploads%2Fgit-blob-223579cf69a54adef08c23363472fb6f4f6965b6%2Fimporters-list.png?alt=media)

## Run an Import

{% stepper %}
{% step %}

### Create the import

* **Name** — Enter a descriptive name for this import (e.g., "Fall 2025 WebNEERS Import").
* **Type** — Select **WebNEERS**.

Click **Create New Import**. PEARS opens the import's detail page.
{% endstep %}

{% step %}

### Choose the files

Unzip the WebNEERS export (`ExportFolderXXXXXXX.zip`). On the import's detail page, click **Upload Files**, then choose these files from the export:

* **Adult Pears** — `adult_pears.csv`, one row per adult participant.
* **Youth Pears** — `youth_pears.csv`, one row per youth group.
* **Youthgroup Details** — `YouthGroupDetails.csv`, the race and grade counts for each youth group. *(Required when you upload `youth_pears.csv`.)*

{% hint style="warning" %}
**NOTE:** Upload at least `adult_pears.csv` or `youth_pears.csv`. Each file name must match exactly, including capitalization.
{% endhint %}
{% endstep %}

{% step %}

### Upload

Click **Upload**. PEARS:

1. Checks every row of `adult_pears.csv` and `youth_pears.csv` against the rules in [Which Rows Import](#which-rows-import).
2. Adds the demographics from each row that imports to its program activity's demographics.
3. Marks each program activity named in `adult_pears.csv` complete if every required section of it is now complete. Program activities named only in `youth_pears.csv` are not marked complete; mark them complete yourself.
4. Marks the import complete.

When the upload finishes, the page lists every problem that stopped a row from importing, and PEARS emails the list to you and to PEARS Support. The rest of the file still imports.

{% hint style="info" %}
**TIP:** For a program activity in a 2027 or later reporting period, PEARS combines each participant's WebNEERS race and ethnicity codes into its single race and ethnicity categories: a participant coded Hispanic and White is counted in the **2 or More** column for both categories and once in the two-or-more total, a participant with one code is counted in **One Race/Ethnicity Only**, and a participant with no race or ethnicity code is counted as Unknown. WebNEERS has no Middle Eastern or North African category.
{% endhint %}
{% endstep %}
{% endstepper %}

You can upload files to the same import again. If the import is already complete, the upload page warns you first. Rows imported earlier are skipped either way.

## Which Rows Import

PEARS checks each row of `adult_pears.csv` and `youth_pears.csv` in two stages. A row that fails a program activity check is reported; a row that fails a participant check is skipped without a message.

### Program Activity Checks

Every row must name a program activity the import can add to. PEARS skips the row and reports the problem when the row's program activity:

| Problem                                                  | Message in the report                                               |
| -------------------------------------------------------- | ------------------------------------------------------------------- |
| Has a blank `PEARS_Program_ID`, or the column is missing | PEARS\_Program\_ID is not defined.                                  |
| Has a `PEARS_Program_ID` that is not a whole number      | PEARS\_Program\_ID is not properly formatted. Provide integer only. |
| Does not exist                                           | Program with PEARS\_Program\_ID: 12345 could not be found.          |
| Belongs to another organization                          | Program is not found in the Organization.                           |
| Is already marked complete \*                            | Program has already been marked as complete.                        |
| Is in any reporting period that is not open today \*     | Program is not in the current reporting period.                     |

\* Not checked when the person who created the import is a [Data Manager](/accounts-and-permissions/accounts-and-permissions/directory/extension-roles.md#data-manager), so a Data Manager's import can add to completed program activities and to past reporting periods. The upload page reminds Data Managers of this.

Each problem in the report names the file and the row, counting the header as row 1. A program activity with no program areas is reported as "Program does not have any valid program areas.", but its row still imports.

### Participant Checks

A row that passes the program activity checks imports only when all of these are true. Otherwise PEARS skips it without a message.

**adult\_pears.csv**

* `Exit_Date` has a value. Participants who have not exited are skipped.
* `Status` is not `0` (active). If the file has no `Status` column, this check is skipped.
* The `Adult_ID` has not already been imported by a WebNEERS import in your organization, including an earlier row of the same file.

**youth\_pears.csv**

* `End_Date` has a value.
* `nGraduates` is a whole number greater than 0. A group with a blank or zero `nGraduates` is skipped.
* The `Youth_ID` has not already been imported by a WebNEERS import in your organization, including an earlier row of the same file.

PEARS records an `Adult_ID` or `Youth_ID` as imported only when its row imports. A row skipped by any check imports on a later upload once the problem is fixed, for example after the participant exits or the Program ID is corrected. Once imported, it is never imported again, even if its WebNEERS record changes; correct the program activity's demographics in PEARS instead.

{% hint style="warning" %}
**NOTE:** In a row that imports, `Age`, `Race_Code_Binary` and `Ethnicity_Code` (adults) or `Group_Total`, `nMales` and `nFemales` (youth groups) must be whole numbers, as must `Data_Code` and `nYouth` on the Race and GRD rows of `YouthGroupDetails.csv`. A blank or any other value stops the upload with an error partway through. Contact PEARS Support before you upload again: rows checked before the error may already be recorded as imported without their demographics, and a second upload would skip them.
{% endhint %}

### Existing Demographics

* **Adults** are added to the program activity's existing demographics.
* **Youth groups** replace the program activity's existing demographics, unless the same upload also imports at least one adult into that program activity. In that case they are added as well.

Because of this, when a later upload imports new youth groups into a program activity, their counts replace those of the youth groups imported earlier.

## View Import Results

After an upload, the import's detail page lists **Created Demographics**: each demographics record the import created, with links to its program activity and to the record, and the total attendees.

## Delete an Import

On the import's detail page, click **Delete**.

{% hint style="warning" %}
**NOTE:** An import can be deleted only until it creates records. Once it has created demographics, the confirmation page lists the linked records and the **Yes** button is unavailable.
{% endhint %}

## Columns the Importer Reads

A WebNEERS export has many more columns than these; PEARS ignores the rest.

### adult\_pears.csv

One row per adult participant.

* `Adult_ID` — The participant's WebNEERS ID. PEARS uses it to import each participant only once.
* `PEARS_Program_ID` — The PEARS ID of the program activity, encoded in WebNEERS.
* `Status` — `0` while the participant is active.
* `Exit_Date` — The date the participant exited.
* `Age` — Age in years.
* `Sex` — `M` or `F`, or, for a program activity in a 2023 or later reporting period, `NR` (prefer not to respond). Any other value is counted as unknown.
* `Race_Code_Binary` — The sum of the participant's race codes: 1 White, 2 Black or African American, 4 American Indian or Alaska Native, 8 Asian, 16 Native Hawaiian or Pacific Islander, 32 not provided. For example, 5 is American Indian or Alaska Native and White.
* `Ethnicity_Code` — 0 Not Hispanic, 1 Hispanic, 2 not provided.

### youth\_pears.csv

One row per youth group.

* `Youth_ID` — The group's WebNEERS ID. PEARS uses it to import each group only once and to find the group's rows in `YouthGroupDetails.csv`.
* `PEARS_Program_ID` — The PEARS ID of the program activity, encoded in WebNEERS.
* `End_Date` — The date the group ended.
* `nGraduates` — The number of youth who graduated.
* `Group_Total` — The number of youth in the group, added to the program activity's total attendees.
* `nMales`, `nFemales` — Counted as male or female youth aged 5–17. The rest of `Group_Total` is counted as unknown age and unknown gender.

### YouthGroupDetails.csv

Race and grade counts for each youth group.

* `Youth_ID` — Links the row to its group in `youth_pears.csv`.
* `Data_Type` — `Race` for a race and ethnicity count, `GRD` for a grade count. PEARS ignores rows of any other type.
* `Data_Code` — The race or grade code.
* `nYouth` — The number of youth with that code.
