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's and young people's contact profiles. This article explains how you can easily import your existing children's data into ChurchSuite that you've previously exported from another system. The ChurchSuite Support team are happy to help you with importing your data - contact us at email@example.com - but if you're ready to get started yourself, here's how...
Your existing 'people' data should ideally be divided into two files - one for adults and one for children, with each person having a separate row in the 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 the 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 the 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 the 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 before completing the import - perhaps to correct a wrongly-mapped field - but by using ChurchSuite's field-naming convention, the data will be auto-mapped to the correct ChurchSuite fields, making the process even simpler. The '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 the CSV file.
Do not use the same column header label more than once in the CSV file, otherwise, columns will be ignored during import - column header labels in row 1 only must be uniquely named.
3. Review the Children's module settings
Ensure any Optional Child Fields used in the CSV are first enabled in the module's settings - for example, you may find it helpful to enable all optional fields before import and then 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 and ready to receive the data - see the related support articles for further information about custom fields. For any custom fields set as required in the Children module's settings, valid values must be supplied for every child in the 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 the CSV file - like this example, where columns 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 the CSV file and ChurchSuite.
5. Review the default communication options and privacy settings
Unless explicitly set for each child in the CSV file, ChurchSuite will assign default communication options and privacy settings that are specified in the 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 assigned, 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 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 the CSV file to avoid unexpected variations on a theme! Here are 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 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 the CSV file, these should be imported as Tags in the first instance. Later, having completed the import, you can easily re-create your children's 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 the CSV file, including dates of birth and 'date' type custom fields, must be 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 the 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 the 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 - 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 the parent contact's marital status linking.
13. Multi-site considerations
When importing multi-site children data, make sure you set up Sites in ChurchSuite first and specify "sites" as a column in the data so that each child is assigned to their correct site/s during the import process (the site-naming convention in the CSV file must match the site naming convention used in ChurchSuite). Any children without a site specified will be imported as "All sites", but their site can be later changed if necessary.
Important: To avoid unexpected errors during import, make sure that the logged-in User performing the import has "User Site" permissions for all of the sites specified in the CSV file - a User can only import/create data in sites that they have permissions for. A validation error will occur for all rows with an unexpected or invalid site specified; including a site specification that the User is not authorised to access.
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 the data in CSV format and then import the new CSV file into ChurchSuite.
15. Need some inspiration?
You may find our Example children import CSV file helpful - click to download and open it in your preferred spreadsheet application.
Importing the CSV file
From the Children section of the Children module click Import children.
Next, make sure the CSV file is in 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 the CSV file; however you must ensure every incoming field that you supply in the 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 the CSV file. For any custom fields that are set as required in the Children module's settings, valid values must also be supplied for every child in the CSV file.
Please note that it is 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 the CSV file ideally located on your desktop - click Choose File to browse to the CSV and then click Import CSV File.
The first 5 records of the data are now 'previewed'. Note the CSV Header column - this can help ensure ChurchSuite correctly maps each field in the CSV file to the correct field in the Children module. If you've followed ChurchSuite's suggested field-naming convention, the 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 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.
The incoming data is validated during the upload. All valid rows are distinguished by a green tick to the left of each child's name. A yellow warning triangle next to a child's name indicates there is invalid data. Details of the invalid data are 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 the child's details. Errors (shown in red) must be resolved before the child's 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 Delete an import entirely at any time - perhaps if you spot a catastrophic error affecting all children that may be better fixed within the CSV file - click Delete and repeat the steps above to re-upload the corrected CSV file.
You can Process valid children's 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...
...and later Resume a partial import by returning to the Import children section and clicking on the Imports tab to Resume or Cancel the partial import.
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 the 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 "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's 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 firstname.lastname@example.org|
|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 email@example.com|
|parent_relationship||The parent/guardian relationship with the 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 a 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)|
|public_login||will be imported into the Allow My ChurchSuite login field||1 OR 0 (Yes OR No)|
|public_visible|| will be imported into the Name is visible field
||1 OR 0 (Yes OR No)|
|public_address||will be imported into the Address is visible field||1 OR 0 (Yes OR No)|
|public_telephone||will be imported into the Telephone is visible field||1 OR 0 (Yes OR No)|
|public_mobile||will be imported into the Mobile is visible field||1 OR 0 (Yes OR No)|
|public_email||will be imported into the Email is visible 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)
|sites||will be imported into the Sites field||Site name/s specified exactly as named in Administrator > Profile, with multiple sites specified comma-separated. An empty sites value is treated as "All sites"|