Importing your children data into ChurchSuite
In this article
At its most basic level the Children module serves as the repository for all your children and young people profiles. This article explains how you can easily import your existing children data into ChurchSuite that you've exported from another system. The ChurchSuite Support team are happy to help you with importing your data - contact us at firstname.lastname@example.org - but if you're ready to get started yourself, here's how...
Your existing 'people' data should ideally need to be divided into two files - one for adults and one for children, with each person in your data having their own separate row in your data file. Each file is then imported separately into the Address Book and Children modules respectively.
In this article we outline the process of importing children and young people data, but the same processes are used to import contacts into the Address Book - see our related support article for further information. A Children module import will add children to the module with any parent details specified in your data stored against the child. This is known as an unlinked child. However, after the two imports are complete you can easily link children to their parents in the Address Book - making the unlinked child a linked child.
Preparing your data
Here's a simple checklist of things to do before importing your data.
1. Make sure your data is in the right format and file type
To import data to ChurchSuite it needs to be in the form of a .CSV file, using a comma as the delimiter and in UTF-8 format. Spreadsheet applications such as MS Excel, Apple Numbers and Google Docs allow you to easily save data as a .CSV file in the correct format. Similarly, many contact management applications let you export data as a .CSV file.
UPPERCASE or lowercase or Mixed Sentence Case?
When preparing your CSV file, we encourage you to use mixed sentence case formatting, rather than UPPERCASE formatting, especially for first name and last name fields - in this way, when you are using ChurchSuite's communication 'merge fields' you can personalise communications as "Dear James" rather than "Dear JAMES".
2. The first row must contain column header labels
The ChurchSuite importer will use the column header labels to map the data in each column of the CSV file to the correct field in ChurchSuite. You will be able to override the default mapping prior to completing the import - perhaps to correct a wrongly-mapped field - but by using ChurchSuite's field-naming convention, your data will be auto-mapped to the correct ChurchSuite fields, making the process even simpler. Your 'people' data must start from row 2 in the CSV file, with one row only per child - a child profile will be created for each row in your CSV file.
Do not use the same column header label more than once in your CSV file, otherwise columns will be ignored during import - column header labels in row 1 only must be uniquely-named.
3. Review your Children module settings
Ensure any Optional Child Fields used in your CSV are first enabled in the module's settings - for example, you may find it helpful to enable all optional fields and disable any that are not needed after the import is completed.
4. Set up custom fields in ChurchSuite before import
Ensure that any custom fields and custom field values are correctly set up in ChurchSuite ready to receive your data - see the related support articles for further information about custom fields. For any custom fields that are set as required in your Children module's settings, valid values must be supplied for every child in your CSV file.
For "checkbox list" (multi-select) type custom fields - where a child may be assigned multiple options, each option should be presented comma-separated in your CSV file - like this example, where column C and D are both multi-select custom fields - both these custom fields and all the possible options for each must be set up first in ChurchSuite before import; and the option-naming convention must be consistent between your CSV file and ChurchSuite.
5. Review your default communication options
Unless explicitly set for each child in your CSV file, ChurchSuite will assign the default communication options that are specified in your Children module's settings to each child profile created through import.
6. For data being imported as Tags
You can optionally use a special column header label prefix of tag_ so that ChurchSuite will auto-map that column as a Tag. See our related support articles for further information about Tags. There's no limit to the number of columns in a CSV file that can be imported as Tags. The prefix is removed when the tag is created.
For example, tag_Member will create a 'Member' tag and assign it to each person whose column value is 1, yes, true, y, or * (case sensitive), and a blank value (or 0, no, false, or n) is ignored and the person is not tagged. In the following example the tag "Member" in column C will be assigned to each child in rows 2 to 6 - all of these values mean the respective child should be tagged. By comparison, the tag "Holiday Club" in column D will not be assigned to any of the children in rows 2 to 6 - these are all examples of values that would not result in a tag being assigning, including a blank value in cell D6.
Multiple tags can also be assigned from a column that contains comma-separated tag names, For example, a column header label of tag_Role and a value of 'Leader, First Aider' will assign that child to a Leader tag and to a First Aider tag. In this context the column header label name is not saved. Make sure you use a consistent tag-naming convention throughout your CSV file to avoid unexpected variations on a theme! Here's some examples in columns C and D - some children will be assigned multiple tags and some just a single tag.
7. For data being imported as Key Dates
You can optionally use a special column header label prefix of kd_ so that ChurchSuite will auto-map that column as a Key Date. See our related support articles for further information about Key Dates. There's no limit to the number of columns in a CSV file that can be imported as Key Dates. The kd_ prefix is removed when the Key Date is created. Each key date column can only contain one date value per child. A key date may optionally contain a key date 'Description' too - for example:
Column Header: kd_First Communion
Data: 23/07/2019 Bishop Alison presiding
Key Dates must be formatted in either the ISO format (yyyy-mm-dd) or your local date format (e.g. UK: dd/mm/yyyy or North America: mm/dd/yyyy).
Note that invalid key dates cannot be corrected during the import process. If key date errors are detected you can either select to remove those children and re-import them separately with fixed data; or you should cancel the import and re-import the file afresh once the invalid key dates are fixed.
8. For data being imported as Notes
You can optionally use a special column header label prefix of notes_ so that ChurchSuite will auto-map that column as a Note. See our related support articles for further information about Notes. There's no limit to the number of columns in a CSV file that can be imported as Notes. The notes_ prefix is removed when the Note is created. If multiple columns of notes are to be imported, use the format notes_<note-name> for each note column, e.g. 'notes_Family', notes_Special'. For each person with a note column entry in the CSV a separate note will be added, but the suffix name <note-name> is not saved.
9. Children groups
Where each child's existing groups are recorded in your CSV file, these should be imported as Tags in the first instance. Later, having completed the import, you can easily re-create your children groups and gatherings in the Children module and then bulk-assign children to their correct groups from those Tags.
10. Date format consistency
All dates in your CSV file, including dates of birth and 'date' type custom fields, must formatted in either the ISO format (yyyy-mm-dd) or your local format (e.g. UK: dd/mm/yyyy or North America: mm/dd/yyyy).
11. All rows in the CSV file will be imported into the Children module
Every person in your CSV file will be imported to the Children module, regardless of the person's date of birth. You should therefore remove any over 18s/adult contacts that do not require Children module functionality, and add them instead to your Address Book CSV file (see the related support article). Note that you can easily move children to the Address Book (and vice versa) after import if you later spot a mistake.
12. Linking parents and children
ChurchSuite never assumes an Address Book parent link during an import - all imported children will not be linked to potential Address Book contacts (parents) during the import process. However, after completion of both module imports you can use the Potential Parents report in the Children module's Reports section to quickly and easily link children to a parent in the Address Book. Linking a child to one Address Book parent will auto-link to the other parent by virtue of the parent contact's marital status linking.
13. Multi-site considerations
When importing multi-site children data, make sure you set up your Sites in ChurchSuite first, and be sure to specify "site" as a column in your data so that each child is assigned to their correct site during the import process (the site-naming convention in your CSV file must match the site naming convention used in ChurchSuite). Any children without a site specified will be imported to your first/primary site, but they can be later moved to a different site if necessary.
14. International support - accented characters
You may experience an issue with accented characters during import. This will be evident in the upload "preview" stage (see below) - you may see � characters in place of accented characters e.g.
This issue is generally restricted to CSV files created using Microsoft Excel. To work around the issue, Cancel the import and follow these 'workaround' steps. While you can still prepare your data in Microsoft Excel, you will need to use alternative software to produce the final CSV file(s) in the correct UTF-8 format. For Mac, we recommend using Apple's native "Numbers" spreadsheet application. For Windows, we suggest using "OpenOffice". Working within the alternative software, re-save your data in CSV format and then import the new CSV file into ChurchSuite.
15. Need some inspiration?
You may find our children CSV template file useful - Example children import CSV file - click to download and open in your preferred spreadsheet application.
Importing your CSV file
From the Children section of the Children module click Import children.
Next, make sure your CSV file is the right format - see the previous section in this article. The Import children page includes a helpful section titled Creating your CSV file where you can Download an example CSV file and view a list of supported Field names and the expected valid data format for each piece of data. A full list of the accepted fields with the relevant header information can be found at the end of this article.
You do not need to have a column for every field - ChurchSuite will only import those fields you supply in your CSV file; however you must ensure every incoming field that you supply in your CSV file is correctly "mapped" to a ChurchSuite field (otherwise it won't be imported) and is in a valid format - this is explained later.
The minimum data required for each person is their First name and Last name. Make sure that these two fields are the very first two columns in your CSV file. For any custom fields that are set as required in your Children module's settings, valid values must also be supplied for every child in your CSV file.
Please note that it's not possible to import profile images for children - instead, these must be uploaded separately against each child's profile after the data is imported. Linked parents can also easily upload and manage their children's profile images in the My Children section of My ChurchSuite.
Once you are ready to proceed - and with your CSV file ideally located on your desktop - click Choose file to browse to your CSV and then click Import CSV File.
The first 5 records of your data are now 'previewed'. Note the CSV Header column - this can be helpful in ensuring ChurchSuite correctly maps each field in your CSV file to the correct field in your ChurchSuite Children module. If you've followed ChurchSuite's suggested field-naming convention, your CSV Headers it will be auto-mapped to the correct field in ChurchSuite (shown in the Import As column).
You can manually change the Import As selection for any field by using the drop-down field selector. Items marked with a yellow warning symbol will not be imported and require your attention. You can either leave them as Do not import or select the appropriate Import As field from the drop-down list. In the following example "groups" is not a recognised import field name - groups should be imported as "Tags" (see earlier in this article).
Having carefully reviewed the preview select Import All Records button at the bottom of the page to complete the upload.
Your incoming data is validated during the upload. All valid rows are distinguished by a green tick to the left of each child's name (example below).
A yellow warning triangle next to a child's name indicates there is invalid data. Details of the invalid data is summarised in the Errors column. Note the Action menu to View or Edit any child, or to Remove a child from the import altogether.
You can easily switch between viewing all uploaded data, just Valid data or just Invalid data.
Selecting Edit from the Action menu opens a pop up of all the child's details, including details of any invalid data for that child. Errors (shown in red) must be resolved before the child details can be imported. Click Save at the bottom of the pop-up to save any changes made. If all errors for a child have been resolved the child will then show in the children's list with a green tick, indicating a valid record ready for import. Continue working down the list and resolve the errors for each child in turn.
Note that you can Cancel an import entirely at any time - perhaps if you spot a catastrophic error affecting all children that may be better-fixed within your CSV file - click Cancel and repeat the steps above to re-upload your corrected CSV file.
You can Process valid children records at any time - processed records will be imported and the Status of those records will change from Pending to Processing to Imported. You can easily filter the list to view children with a particular status - Pending status records have not yet been processed/imported.
You can also Pause an import at any time.
You can then Resume a partial import by returning to the Import children section and click into the Imports tab to Resume or Cancel the partial import.
Each time you click Process to import valid children, a pop-up 'success' message confirms a successful import of children - in the example below, 3 children were successfully imported.
Each time you click Process the imported children are assigned to an Import Tag in the Tags section of the Children module - the naming convention "Import [date and time]" is used, making it easy to identify newly-imported children (and to bulk-delete them if the import didn't go as expected!). You can safely delete these tags after import once you are satisfied that your imported data is correct.
Children module import file specifications
|CSV Header||Imported Into||Sample Data|
|full_name||broken into First Name and Last Name fields||Janey Bloggs or Bloggs, Janey|
|first_name||will be imported into the First Name field||Janey|
|middle_name||will be imported into the Middle Name field|
|last_name||will be imported into the Last Name field||Bloggs|
|formal_name||will be imported into the Formal Name field||Jane|
|maternal_name||will be suffixed to Last Name to become and "Paternal name Maternal name"||Paternal name: Hancock, Maternal name: Jones, becomes "Hancock Jones"|
|known_as||will be imported into First Name and First Name becomes Formal Name||Janey|
|sex||will be imported into the child Sex field||m OR f OR male OR female OR boy OR girl OR u (unknown)|
|date_of_birth||will be imported into the child Date of Birth field||31-01-1970 (i.e. dd-mm-YYYY)|
|telephone|| will be imported into the parent Telephone field
|| (parent/guardian telephone number)
|mobile||will be imported into the child Mobile/Cellular field||07700 900077|
|will be imported into the child Email email@example.com|
|parent_name||will be imported into the Parent Name field||Joseph Bloggs|
|parent_first_name||First name - Part of the Parent Name field||Joseph|
|parent_last_name||Last name - Part of the Parent Name field||Bloggs|
|parent_mobile||will be imported into the Parent Mobile field||(primary parent/guardian mobile number)|
|parent_email||will be imported into the Parent Email firstname.lastname@example.org|
|parent_relationship||Parent.Guardian relationship with child - will be imported into the Parent Relationship field||Parent OR Grandparent OR Aunt/Uncle OR Guardian OR Other|
|parent_additional_email||will be imported into the Additional Email field||(additional parent/guardian email(s))|
|parent_additional_mobile||will be imported into the Additional Mobile field||(additional parent/guardian mobile(s))|
|parent_receive_email||will be imported into the Parent receive general emails field||1 OR 0 (Yes OR No)|
|parent_receive_sms||will be imported into the Parent receive general SMS field||1 OR 0 (Yes OR No)|
|full_address||breaks on commas into Address, Address 2, City, County and Postcode fields||1 Queens Drive, Beeston, Nottingham, Notts, NG1 1AB|
|address||will be imported into the Address field|
|address2||will be imported into the Address 2 field|
|address3||will be imported into the Address 3 field|
|city||will be imported into the City field|
|county||will be imported into the County/State field||County or State/Province|
|postcode||will be imported into the Postcode field||Postcode or Zip code|
|country||will be imported into the Country field|
|house_name||House name, with house number & street imported into the Address field||The Cottage => The Cottage, 45 River Lane|
|house_number||House number, with house name & street imported into the Address field||45 => The Cottage, 45 River Lane|
|house_street||House street, with house name & number imported into the Address field||River Lane => The Cottage, 45 River Lane|
|doctor_details||will be imported into the Doctor field||Dr. S Rudrashetty, 1 Surgery Road, Nottingham|
|doctor_name||Doctor name - part of the Doctor field||Dr. S Rudrashetty|
|surgery_name||Surgery name - part of the Doctor field||Wellbeing Surgery|
|surgery_address||Surgery address - part of the Doctor field||1 Surgery Road, Nottingham|
|surgery_phone||Surgery phone number - part of the Doctor field||0115 496 0550|
|medical||will be imported into the Medical field||Has a serious nut allergy|
|medical_short||will be imported into the Medical (Short) field||Nut allergy|
|special_needs||will be imported into the Additional Needs field|
|info||will be imported into the Additional Info field||Additional Information|
|checkin_barcode||will be imported into the Barcode field||Any alphanumeric string|
|school||will be imported into the School field||Town Primary School|
|school_year_offset||will be imported into the School Year Offset field|| Range from -2 to +2, imported into the School Year Offset field
|notes||will be imported into the Notes field|
|tags||will be imported into the Tags field||Member, Tuesday Club|
|keydate||will be imported into the Key Date field||Key Date 'name' in CSV Header, Date in row. Optional description|
|receive_general_email||will be imported into the child Receive general emails field||1 OR 0 (Yes OR No)|
|receive_general_sms||will be imported into the child Receive general SMS field||1 OR 0 (Yes OR No)|
|receive_phone||will be imported into the child Receive phone field||1 OR 0 (Yes OR No)|
|receive_post||will be imported into the child Receive post field||1 OR 0 (Yes OR No)|
|receive_rota_email||will be imported into the child Receive rota reminder emails field||1 OR 0 (Yes OR No)|
|receive_rota_sms||will be imported into the child Receive rota reminder SMS field||1 OR 0 (Yes OR No)|
|consent_use_internal||will be imported into the Internal Use Consent? field|| 1 OR Yes OR True (Consent granted)
0 OR No OR False (Consent denied)
Null or Empty (Consent unknown)
|consent_use_external||will be imported into the External Use Consent? field|| 1 OR Yes OR True (Consent granted)
0 OR No OR False (Consent denied)
Null or Empty (Consent unknown)
|site||will be imported into the Site field||Site name - EXACTLY as in profile (if applicable)|
|custom1 - custom10||will be imported into the Custom 1-10 fields|