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):1
Check Date Format
All dates must be YYYY-MM-DD. No other format accepted.
2
Verify Centre Names
Must match existing centres exactly. Case-sensitive. No extra spaces.
3
Confirm Grade Levels
Numbers 1-12 only. Not text like “Grade 5” or “Fifth Grade”.
4
Remove Empty Rows
Delete any blank rows at bottom of spreadsheet.
5
Check for Duplicates
No two students with same first+last name and DOB.
6
Verify Emails
If provided, must be valid email format with @ and domain.
- 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:1
Open Template in Excel
Right-click template → Open with Microsoft Excel
2
Format Date Column as Text
Select date_of_birth column → Format → Text (prevents auto-formatting)
3
Enter Data
Fill one row per student
4
Save as CSV
File → Save As → CSV (Comma delimited) (*.csv)
5
Verify in Notepad
Open saved CSV in Notepad to check dates are YYYY-MM-DD
- 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:1
Open Template in Google Sheets
File → Import → Upload template
2
Enter Data
Fill one row per student (dates stay as YYYY-MM-DD more reliably)
3
Download as CSV
File → Download → Comma Separated Values (.csv)
4
Verify in Text Editor
Open downloaded CSV to verify format
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:1
Split by Centre
- faith-centre-students.csv (100 students)
- grace-centre-students.csv (100 students)
- hope-centre-students.csv (100 students)
2
Import One at a Time
Import and verify each centre before next
3
Fix Errors Between Batches
If errors in first batch, fix before proceeding
4
Verify Each Import
Check student count matches expected after each import
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