AdminForms SA › EduForms

🎓 EduForms

Professional Templates
for SA Schools

61 ready-to-use document templates built specifically for South African schools. SASA-compliant, CAPS-aligned and designed for principals, teachers and SGB members.

SASA Compliant CAPS Aligned SGB Ready Editable .docx Instant Download
61Templates
8Categories
R35From
R350Full Bundle
Single Template
Pay Per Template
Choose only what you need. Download instantly.
R35 per template
Category Bundle
Pick a Category
All templates in one category. Great for departments.
R120 per category
Filter by Category

Showing 61 templates

Added!
🛒 Your Cart
Review your templates below
📚

Your cart is empty.
Browse templates and click Buy to add them here.

{ key:'all', label:'All Templates', count:61 }, { key:'learner', label:'Learner Admin', count:12 }, { key:'staff', label:'Staff & HR', count:11 }, { key:'finance', label:'Finance', count:6 }, { key:'sgb', label:'Meetings & SGB', count:8 }, { key:'safety', label:'Safety & Incidents',count:5 }, { key:'reports', label:'Reports', count:7 }, { key:'registers',label:'Registers', count:8 }, { key:'admin', label:'Admin & Other', count:4 }, ]; const templates = [ // Learner Admin {id:1, cat:'learner', name:'Parent Notification Letter', desc:'Professional parent communication template for any school matter.', price:35, pop:true, includes:['Parent & learner details','Subject & reason fields','Principal signature block','School letterhead area']}, {id:2, cat:'learner', name:'Learner Attendance Register', desc:'Daily attendance sheet for class registers. Track present, absent and late.', price:35, pop:true, includes:['30 learner rows','Date and period columns','Attendance summary totals','Teacher signature']}, {id:3, cat:'learner', name:'Learner Suspension Notice', desc:'Formal suspension letter with full procedure notes and parent acknowledgement.',price:45, pop:true, includes:['Reason and duration fields','Parent signature section','Principal declaration','Return-to-school conditions']}, {id:4, cat:'learner', name:'Learner Transfer Letter', desc:'Official transfer request between schools. Includes academic record section.', price:35, pop:false, includes:['Sending and receiving school fields','Academic history section','Parent consent block','Signature area']}, {id:5, cat:'learner', name:'Excursion Consent Form', desc:'Day trip consent form with emergency contact and medical info.', price:35, pop:true, includes:['Trip details and destination','Medical information section','Emergency contact fields','Parent consent signature']}, {id:6, cat:'learner', name:'New Learner Enrolment Form', desc:'Comprehensive intake form for new learner registration.', price:45, pop:true, includes:['Personal and family details','Previous school information','Medical & dietary needs','Document checklist']}, {id:7, cat:'learner', name:'Learner Progress Report', desc:'Structured academic progress report template. Subject-by-subject layout.', price:45, pop:false, includes:['Subject mark table','Teacher comments per subject','Conduct and effort ratings','Principal remarks section']}, {id:8, cat:'learner', name:'Grade Promotion Letter', desc:'End of year promotion notification letter for parents.', price:35, pop:false, includes:['Promoted/retained options','Next grade details','Parent acknowledgement','School branding area']}, {id:9, cat:'learner', name:'School Fee Payment Agreement', desc:'Instalment payment arrangement for school fee debtors.', price:35, pop:false, includes:['Payment schedule table','Amount and dates','Parent commitment declaration','School representative signature']}, {id:10, cat:'learner', name:'Sports Participation Consent', desc:'Permission and indemnity form for school sports activities.', price:35, pop:false, includes:['Sport and team details','Medical information','Indemnity clause','Parent signature block']}, {id:11, cat:'learner', name:'Cultural Event Permission Slip', desc:'Parental consent form for cultural and arts events.', price:35, pop:false, includes:['Event details','Transport and cost info','Medical consent','Parent signature']}, {id:12, cat:'learner', name:'Grade R Registration Form', desc:'Comprehensive Grade R enrolment application form.', price:45, pop:false, includes:['Child and parent details','Birth certificate checklist','Immunisation record area','Income declaration']}, // Staff & HR {id:13, cat:'staff', name:'Staff Leave Application', desc:'Full leave form covering all SA leave types including sick, annual and study.', price:35, pop:true, includes:['All leave type checkboxes','Leave balance section','Manager approval block','HR processing area']}, {id:14, cat:'staff', name:'Staff Performance Review', desc:'Annual teacher and staff appraisal template with ratings and comments.', price:50, pop:true, includes:['KPA rating table','Strengths and development areas','Employee acknowledgement','HOD and principal sign-off']}, {id:15, cat:'staff', name:'Staff Meeting Agenda', desc:'Professional staff meeting agenda with pre-written items.', price:35, pop:false, includes:['Pre-written agenda items','Action items table','Apologies section','Date and venue fields']}, {id:16, cat:'staff', name:'Staff Meeting Minutes', desc:'Official meeting minutes with attendance register and resolutions.', price:35, pop:false, includes:['Attendance register','Agenda items tracking','Resolutions table','Next meeting date']}, {id:17, cat:'staff', name:'Teacher Lesson Plan Template', desc:'CAPS-aligned weekly lesson plan with all required fields.', price:45, pop:true, includes:['Grade and subject fields','CAPS content alignment','Resources and activities','Assessment strategy']}, {id:18, cat:'staff', name:'Substitute Teacher Register', desc:'Daily log for substitute teachers covering class periods.', price:35, pop:false, includes:['Period-by-period layout','Class and subject columns','Substitute details','Principal sign-off']}, {id:19, cat:'staff', name:'Staff Timetable Template', desc:'Weekly staff timetable with period and class layout.', price:35, pop:false, includes:['7-period timetable grid','Subject colour coding','Break periods','Staff details']}, {id:20, cat:'staff', name:'Staff Onboarding Checklist', desc:'New staff member induction checklist for HODs and principals.', price:35, pop:false, includes:['Document checklist','System access items','Tour and introductions','Sign-off blocks']}, {id:21, cat:'staff', name:'Staff Attendance Register', desc:'Daily staff sign-in and sign-out register.', price:35, pop:false, includes:['Date and shift columns','Time in and out','Signature column','Monthly summary']}, {id:22, cat:'staff', name:'Employee Exit Interview Form', desc:'Structured exit interview for resigning staff members.', price:35, pop:false, includes:['Reason for leaving checkboxes','Rating scales','Open feedback sections','HR signature']}, {id:23, cat:'staff', name:'Memorandum of Understanding', desc:'School partnership MOU template for inter-school agreements.', price:55, pop:false, includes:['Parties section','Objectives and obligations','Duration and termination','Signature blocks']}, // Finance {id:24, cat:'finance', name:'School Fee Exemption Application', desc:'SASA-compliant fee exemption form with income declaration.', price:45, pop:true, includes:['Income declaration table','Supporting documents checklist','SGB review section','Approval/rejection blocks']}, {id:25, cat:'finance', name:'Petty Cash Register', desc:'School petty cash tracking log with opening and closing balance.', price:35, pop:false, includes:['20 transaction rows','Receipt number column','Balance running total','Custodian sign-off']}, {id:26, cat:'finance', name:'School Budget Template', desc:'Annual school budget planner with income and expenditure columns.', price:55, pop:false, includes:['Income and expenditure sections','Budget vs actual columns','Variance calculation','SGB approval block']}, {id:27, cat:'finance', name:'LTSM Order Request Form', desc:'Learning and teaching support materials requisition form.', price:35, pop:false, includes:['Subject and grade fields','Quantity and cost columns','HOD recommendation','Principal approval']}, {id:28, cat:'finance', name:'Stationery Requisition Form', desc:'Office and classroom stationery request form.', price:35, pop:false, includes:['Item description table','Quantity and unit cost','Requester details','Admin approval']}, {id:29, cat:'finance', name:'School Trip Budget Template', desc:'Educational trip budget planner with cost breakdown.', price:45, pop:false, includes:['Transport and accommodation','Meals and activities','Contingency budget','Parent cost per learner']}, // Meetings & SGB {id:30, cat:'sgb', name:'SGB Meeting Notice & Agenda', desc:'SASA-compliant SGB meeting notice with 12 pre-written agenda items.', price:35, pop:true, includes:['Notice to all SGB members','12-item agenda','Proxy arrangements','Date and venue block']}, {id:31, cat:'sgb', name:'SGB Meeting Minutes', desc:'Official SGB minutes with full attendance register and resolutions.', price:35, pop:false, includes:['Attendance register with roles','Per-agenda discussion notes','Resolutions table','Confirmation signature']}, {id:32, cat:'sgb', name:'SGB Resolution Form', desc:'Formal SGB resolution document with voting record.', price:45, pop:false, includes:['Resolution number and date','In favour/against voting table','Proposer and seconder','Chairperson declaration']}, {id:33, cat:'sgb', name:'SGB Election Notice', desc:'SGB election announcement and nomination form.', price:35, pop:false, includes:['Election date and venue','Nomination form','Candidate requirements','Returning officer details']}, {id:34, cat:'sgb', name:'Parent-Teacher Meeting Invite', desc:'Professional parent-teacher consultation invitation.', price:35, pop:false, includes:['Teacher and class details','Appointment time slots','Confirmation slip','School contact details']}, {id:35, cat:'sgb', name:'Annual School Management Plan', desc:'7-section comprehensive school management plan. Most popular template.', price:150,pop:true, includes:['7 management plan sections','Annual targets table','Resource planning','Staff responsibility matrix']}, {id:36, cat:'sgb', name:'School Self-Evaluation Form', desc:'SASA school quality review and self-evaluation template.', price:55, pop:false, includes:['SASA quality areas','Rating scales','Evidence notes column','HOD and principal sign-off']}, {id:37, cat:'sgb', name:'School Management Year Plan', desc:'Comprehensive annual management and activities calendar.', price:150,pop:false, includes:['Term-by-term activities','Events and exam schedule','Budget allocation','Stakeholder responsibilities']}, // Safety & Incidents {id:38, cat:'safety', name:'School Incident Report', desc:'Document school incidents clearly and legally with full OHS compliance.', price:45, pop:false, includes:['Incident type checkboxes','Severity rating','Witnesses section','Follow-up actions table']}, {id:39, cat:'safety', name:'School Risk Assessment', desc:'School safety risk assessment with likelihood and impact matrix.', price:50, pop:false, includes:['Risk identification table','Likelihood x severity matrix','Control measures','Review date']}, {id:40, cat:'safety', name:'Fire Drill Register', desc:'Fire drill attendance and timing log with evacuation details.', price:35, pop:false, includes:['Date and time fields','Assembly point details','Roll call confirmation','Warden sign-off']}, {id:41, cat:'safety', name:'First Aid Incident Report', desc:'Medical incident and first aid treatment documentation form.', price:45, pop:false, includes:['Injury description','Treatment provided','Parent notification record','Medical referral section']}, {id:42, cat:'safety', name:'School Maintenance Request', desc:'Facilities maintenance and repair request form.', price:35, pop:false, includes:['Location and description','Priority rating','Assigned to field','Completion sign-off']}, // Reports {id:43, cat:'reports', name:'Departmental Report Template', desc:'Subject department report template for HOD submissions.', price:45, pop:false, includes:['Department overview','Assessment results summary','Challenges and interventions','HOD signature']}, {id:44, cat:'reports', name:'School Newsletter Template', desc:'Branded school newsletter layout with multiple sections.', price:45, pop:false, includes:['School branding header','Multiple article sections','Event calendar','Contact details']}, {id:45, cat:'reports', name:'Classroom Seating Plan', desc:'Visual classroom seating arrangement template.', price:35, pop:false, includes:['Grid-based seating layout','Learner name fields','Teacher desk position','Class and date fields']}, {id:46, cat:'reports', name:'Test & Exam Schedule', desc:'Term examination timetable template for learners and parents.', price:35, pop:false, includes:['Subject and date columns','Venue and time fields','Grade filter','Invigilation notes']}, {id:47, cat:'reports', name:'Subject Mark Sheet', desc:'Class mark recording spreadsheet per subject.', price:35, pop:false, includes:['30 learner rows','Assessment task columns','Class average calculation','Teacher signature']}, {id:48, cat:'reports', name:'School Self-Evaluation Form', desc:'Structured school quality evaluation template.', price:55, pop:false, includes:['Quality areas rating','Evidence notes','Development priorities','Principal sign-off']}, {id:49, cat:'reports', name:'School Calendar Template', desc:'Annual academic calendar with all term dates and events.', price:45, pop:false, includes:['4-term layout','Public holidays','Exam dates','Events and activities']}, // Registers {id:50, cat:'registers', name:'Visitor Access Register', desc:'School visitor sign-in register with ID and purpose fields.', price:35, pop:true, includes:['20 visitor rows','ID number column','Host/teacher field','Time in and out']}, {id:51, cat:'registers', name:'Library Book Register', desc:'Library book issue and return log.', price:35, pop:false, includes:['Book title and author','Issue and return dates','Learner details','Overdue tracking']}, {id:52, cat:'registers', name:'Textbook Issue Register', desc:'Textbook distribution tracking per subject per learner.', price:35, pop:false, includes:['Book and subject fields','Condition on issue','Learner signature','Return confirmation']}, {id:53, cat:'registers', name:'Homework Register', desc:'Class homework assignment tracking register.', price:35, pop:false, includes:['Subject and date fields','Task description','Submission tracking','Parent communication column']}, {id:54, cat:'registers', name:'Extra-Curricular Register', desc:'After-school activity attendance register.', price:35, pop:false, includes:['Activity name and time','20 learner rows','Session dates','Teacher/coach signature']}, {id:55, cat:'registers', name:'Lost Property Register', desc:'School lost property log with claim tracking.', price:35, pop:false, includes:['Item description','Date found and location','Claimed by column','Disposal record']}, {id:56, cat:'registers', name:'Sports Team Selection Form', desc:'Team selection and player register for school sports.', price:35, pop:false, includes:['Sport and team details','Player list with positions','Medical clearance column','Coach signature']}, {id:57, cat:'registers', name:'Exam Invigilation Register', desc:'Exam hall supervisor attendance and seating log.', price:35, pop:false, includes:['Exam details','Invigilator names','Seat numbers','Start and end sign-off']}, // Admin & Other {id:58, cat:'admin', name:'Bursary Application Form', desc:'Financial assistance application for learners.', price:45, pop:false, includes:['Personal and family details','Academic records','Income declaration','Supporting documents checklist']}, {id:59, cat:'admin', name:'Asset Register', desc:'School asset tracking register with condition ratings.', price:45, pop:false, includes:['Asset description and number','Location and date acquired','Cost and current value','Good/Fair/Poor condition']}, {id:60, cat:'admin', name:'Remedial Support Register', desc:'Learner remedial and support intervention tracking register.', price:35, pop:false, includes:['Learner details','Support type checkboxes','Progress tracking','Teacher and parent sign-off']}, {id:61, cat:'admin', name:'School Fee Exemption Application', desc:'SGB-approved fee exemption application with supporting documents.', price:45, pop:false, includes:['Income bracket table','Number of dependants','Supporting docs checklist','SGB committee decision']}, ]; // Category colour map const catColors = { learner: { bg:'#EDF2F8', color:'#0D2137' }, staff: { bg:'#E8F5E9', color:'#1B5E20' }, finance: { bg:'#FFF8E1', color:'#7A5500' }, sgb: { bg:'#F3E5F5', color:'#4A148C' }, safety: { bg:'#FFEBEE', color:'#B71C1C' }, reports: { bg:'#E3F2FD', color:'#0D47A1' }, registers: { bg:'#E0F2F1', color:'#004D40' }, admin: { bg:'#FBE9E7', color:'#BF360C' }, }; // ── STATE ───────────────────────────────────────────────────────────────── let activeFilter = 'all'; let cart = []; let currentSort = 'default'; // ── BUILD FILTER BAR ────────────────────────────────────────────────────── const filterBar = document.getElementById('filterBar'); filterBar.innerHTML = categories.map(c => ` `).join(''); function setFilter(key, btn) { activeFilter = key; document.querySelectorAll('.filt-btn').forEach(b => b.classList.remove('active')); btn.classList.add('active'); renderGrid(); } // ── SORT ────────────────────────────────────────────────────────────────── function sortTemplates(val) { currentSort = val; renderGrid(); } // ── RENDER GRID ─────────────────────────────────────────────────────────── function renderGrid() { let list = activeFilter === 'all' ? [...templates] : templates.filter(t => t.cat === activeFilter); if (currentSort === 'price-asc') list.sort((a,b) => a.price - b.price); if (currentSort === 'price-desc') list.sort((a,b) => b.price - a.price); if (currentSort === 'popular') list.sort((a,b) => (b.pop?1:0)-(a.pop?1:0)); document.getElementById('resultsCount').textContent = list.length; document.getElementById('templatesGrid').innerHTML = list.map(t => cardHTML(t)).join(''); } // ── CARD HTML ───────────────────────────────────────────────────────────── function cardHTML(t) { const cc = catColors[t.cat] || { bg:'#EDF2F8', color:'#0D2137' }; const catLabel = categories.find(c => c.key === t.cat)?.label || t.cat; return `
${t.pop ? `
★ Popular
` : ''}
${catLabel}
EduForms — AdminForms SA
AdminForms SA — Preview Only
${t.name}
${t.desc}
`; } // ── PayFast config ──────────────────────────────────────────────────────── const PF_MERCHANT_ID = '18975073'; const PF_MERCHANT_KEY = 'd816z8llxlon7'; const RETURN_URL = 'https://adminforms.co.za/edu-thank-you.html'; const CANCEL_URL = 'https://adminforms.co.za/eduforms.html'; const NOTIFY_URL = 'https://adminforms.co.za/notify.php'; function goPayFast(itemName, amount) { const form = document.createElement('form'); form.method = 'POST'; form.action = 'https://www.payfast.co.za/eng/process'; const fields = { merchant_id: PF_MERCHANT_ID, merchant_key: PF_MERCHANT_KEY, return_url: RETURN_URL, cancel_url: CANCEL_URL, notify_url: NOTIFY_URL, item_name: itemName, amount: amount.toFixed(2), }; for (const [k, v] of Object.entries(fields)) { const i = document.createElement('input'); i.type = 'hidden'; i.name = k; i.value = v; form.appendChild(i); } document.body.appendChild(form); form.submit(); } // ── PREVIEW MODAL ───────────────────────────────────────────────────────── function openPreview(id) { const t = templates.find(x => x.id === id); if (!t) return; const catLabel = categories.find(c => c.key === t.cat)?.label || t.cat; document.getElementById('mCat').textContent = '🎓 EduForms › ' + catLabel; document.getElementById('mTitle').textContent = t.name; document.getElementById('mPrice').textContent = 'R' + t.price; document.getElementById('mDocTitle').textContent = t.name; document.getElementById('mIncludes').innerHTML = (t.includes||[]).map(i => `
✓ ${i}
`).join(''); // Clone button to clear stale listeners — fixes preview once-only bug const oldBtn = document.getElementById('mBuyBtn'); const newBtn = oldBtn.cloneNode(true); oldBtn.parentNode.replaceChild(newBtn, oldBtn); newBtn.onclick = () => { closeModalBtn(); goPayFast(t.name, t.price); }; document.getElementById('modalOverlay').classList.add('open'); document.body.style.overflow = 'hidden'; } function closeModal(e) { if (e.target === document.getElementById('modalOverlay')) closeModalBtn(); } function closeModalBtn() { document.getElementById('modalOverlay').classList.remove('open'); document.body.style.overflow = ''; } // ── BUY NOW ─────────────────────────────────────────────────────────────── function buyNow(id) { const t = templates.find(x => x.id === id); if (!t) return; goPayFast(t.name, t.price); } function buyBundle() { goPayFast('Full EduForms Bundle', 350); } // ── TOAST ───────────────────────────────────────────────────────────────── function showToast(msg) { const t = document.getElementById('toast'); document.getElementById('toastMsg').textContent = msg; t.classList.add('show'); setTimeout(() => t.classList.remove('show'), 3000); } // ── INIT ────────────────────────────────────────────────────────────────── renderGrid();