CSV Template Reference
Complete reference for all CSV (Comma-Separated Values) templates used in Zion, including column definitions, data formats, validation rules, and examples.CSV Overview
What is CSV?- Plain text file format for tabular data
- Values separated by commas
- First row contains column headers
- Subsequent rows contain data
- Opens in Excel, Google Sheets, Numbers, database tools
- Bulk student imports (20+ students)
- Data exports for analysis
- Integration with other systems
Student Import CSV Template
Template Download
Access:- Navigate to Management → Students
- Click “Import Students” button
- Click “Download Template”
- File downloads:
zion-student-import-template.csv
Column Definitions
Required Columns: first_name- Type: Text
- Description: Student’s legal first name
- Format: Plain text, no special characters unless part of legal name
- Max Length: 50 characters
- Example: “John”, “Mary”, “Emmanuel”
- Type: Text
- Description: Student’s legal last name
- Format: Plain text, hyphenated names allowed
- Max Length: 50 characters
- Example: “Smith”, “Johnson”, “O’Brien”, “Smith-Jones”
- Type: Date
- Description: Student’s date of birth
- Format: YYYY-MM-DD (ISO 8601 standard)
- Example: 2013-03-15 (March 15, 2013)
- Validation: Must be 4-18 years ago (school-age children)
- Type: Integer
- Description: Student’s current grade level
- Format: Number 1-12 only (not text like “Grade 5”)
- Example: 1, 5, 12
- Validation: Must be between 1 and 12
- Type: Text
- Description: Name of learning centre student is assigned to
- Format: Exact match to existing centre name (case-sensitive)
- Example: “Faith Centre”, “Grace Centre”, “Hope Centre”
- Validation: Must match an existing centre exactly (including capitalization and spaces)
- Type: Text
- Description: Your school’s internal student ID number
- Format: Any alphanumeric format
- Max Length: 20 characters
- Example: “2024-001”, “STU-12345”, “A12345”
- Validation: Must be unique (no two students with same ID)
- Type: Text
- Description: Full name of parent or guardian
- Format: Plain text
- Max Length: 100 characters
- Example: “Jane Smith”, “Robert and Mary Johnson”
- Type: Email
- Description: Parent or guardian email address
- Format: Valid email format (user@domain.com)
- Example: “jane@example.com”, “robert.johnson@gmail.com”
- Validation: Must be valid email format
- Type: Text (not number to preserve formatting)
- Description: Parent or guardian phone number
- Format: Any format, international preferred with country code
- Example: “+256701234567” (Uganda), “+1-555-123-4567” (USA)
- Notes: Can include dashes, spaces, parentheses
- Type: Text
- Description: Any relevant notes about student
- Format: Plain text, no commas (commas break CSV format)
- Max Length: 500 characters
- Example: “Allergic to peanuts”, “Needs extra time for tests”
Template Structure
CSV Header Row:Validation Rules
Pre-Upload Validation (Prevent Errors):
Zion Upload Validation (Automatic Checks):
- File format is valid CSV
- All required columns present
- Date of birth is valid date in YYYY-MM-DD format
- Grade level is integer 1-12
- Learning centre exists in system
- Student ID unique (if provided)
- Email format valid (if provided)
- No duplicate students (same name+DOB as existing student)
Common CSV Errors and Solutions
Error: “Invalid date format”
Example Error Message:- Date in wrong format (MM/DD/YYYY instead of YYYY-MM-DD)
- Excel auto-formatted dates
- Date as text (“March 15, 2013”)
- Change all dates to YYYY-MM-DD format
- In Excel, format date column as “Text” BEFORE entering dates
- Enter dates as YYYY-MM-DD manually
- After saving CSV, open in Notepad to verify format
Error: “Learning centre not found”
Example Error Message:- Centre name doesn’t match exactly (case mismatch)
- Extra spaces before/after name
- Typo in centre name
- Centre doesn’t exist in Zion
- Copy exact centre name from Zion (Management → Learning Centres)
- Paste into CSV (ensures exact match)
- Check for leading/trailing spaces
- Verify centre exists in Zion before importing
Error: “Grade level must be between 1 and 12”
Example Error Message:- Grade as text (“Grade 5”, “Fifth Grade”)
- Grade out of range (0, 13, etc.)
- Change to number only: 5 (not “Grade 5”)
- Ensure 1-12 range
Error: “Duplicate student found”
Example Error Message:- Student already exists in Zion
- Same student entered twice in CSV
- Different student with same name and DOB (rare)
- Remove duplicate row from CSV if already in Zion
- If truly different student, add middle name or initial to differentiate
- If updating existing student, remove from CSV (or use update feature)
Error: “Invalid email format”
Example Error Message:- Missing @ symbol
- Missing domain
- Spaces in email
- Add @ and domain: sarah@email.com
- Verify email correct
- Remove spaces
CSV File Preparation Best Practices
Using Excel
Before Entering Data:
Common Excel Pitfalls:
- Auto-formatting dates (always verify in Notepad after saving)
- Commas in notes field (use semicolons instead)
- Leading zeros removed from student IDs (format column as Text)
Using Google Sheets
Process:
Google Sheets Advantage:
Better date handling (less likely to auto-format incorrectly).
Large CSV Files
Performance Guidelines
Recommended Limits:- Ideal: 50-100 students per CSV
- Maximum: 500 students per CSV
- Time: 10-20 seconds to validate/upload 50 students
- File 1: Students A-M (250 students)
- File 2: Students N-Z (250 students)
- Import sequentially
Batch Import Strategy
Scenario: 300 students to import Recommended Approach:Split by Centre
- faith-centre-students.csv (100 students)
- grace-centre-students.csv (100 students)
- hope-centre-students.csv (100 students)
Data Export CSV Format
Goal Check Data Export
When You Export Goal Check Data: Zion generates CSV with these columns: Student Information:- student_id, student_name, student_grade, learning_centre
- date, day_of_week, academic_term
- pace_number, pace_subject, pace_title, pace_total_pages
- goal_start_page, goal_end_page, goal_total_pages, goal_set_at, goal_set_by
- actual_start_page, actual_end_page, actual_total_pages, actual_marked_at, actual_marked_by
- variance, variance_percentage, status
- notes, created_at, updated_at
CSV FAQs
Q: Can I add extra columns to the template? A: Yes, extra columns are ignored. Only recognized columns are processed. Q: What if I don’t have parent emails for all students? A: Leave those cells blank. Optional fields can be empty. Q: Can I use semicolons instead of commas? A: No, CSV specifically uses commas. Semicolons in data are okay, but file must use commas as separator. Q: How do I handle students with same name? A: Add middle initial or student ID to differentiate. Example: “John A Smith” vs “John B Smith”. Q: Can I import student photos via CSV? A: Not yet. Photos must be uploaded individually after import (planned feature). Q: What character encoding should CSV use? A: UTF-8 (default for Excel/Google Sheets). Handles international characters. Q: Can I update existing students via CSV? A: Advanced feature. Match by student_id, update fields. Use with caution. Test with small batch first. Q: Maximum row count for CSV? A: 500 students per file recommended. Technical limit is 10,000 but performance degrades.CSV Tools and Utilities
Recommended Software
Excel (Windows/Mac):- Most common, widely available
- Watch for date auto-formatting
- Save as “CSV (Comma delimited)”
- Better date handling than Excel
- Cloud-based (no local file)
- Download as “Comma Separated Values (.csv)”
- Open-source alternative to Excel
- Good CSV handling
- Export as “Text CSV (.csv)”
- Apple’s spreadsheet app
- Export as “CSV”
- Watch for date formatting
Text Editors for Verification
Notepad (Windows):- View raw CSV after saving from Excel
- Verify dates are YYYY-MM-DD
- Open CSV in plain text mode
- Check format before upload
- Advanced text editor
- Syntax highlighting for CSV
- Good for large files
Related Guides
CSV Bulk Import
Complete guide to importing students via CSV
Data Export
Export Goal Check data as CSV for analysis
Student Management
Managing students after import
Terminology
Definitions of terms used in this reference