Last Updated: 2026-05-27 | Applies to: IK v1.2+
Email Sending System
InstitutionKit uses a batched email system to avoid server overload:
For 10 or fewer invoices:
- All emails sent immediately
- Shows: "✅ X of Y emails sent successfully!"
For more than 10 invoices:
- First 10 sent immediately
- Remaining queued for cron job
- Shows: "✅ First batch: 10 emails sent. 📋 50 remaining queued for cron (10 every 4 minutes)"
How to Send Invoice Emails
- Go to 💰 Fee Management → 🧾 Invoices
- Select a class from dropdown
- Click "📧 Send Invoice Emails"
- Confirm the prompt
- System processes and shows results
Email Queue System
How the queue works:
Step 1: User clicks "Send Invoice Emails"Step 2: First 10 invoices → Sent immediatelyStep 3: Remaining invoices → Stored in wp_options as 'ik_pending_invoice_emails'Step 4: Cron job runs every 4 minutes → Sends next 10Step 5: Repeats until queue is empty
Checking Email Status
Click "📊 Check Status" button to see:
┌─────────────────────────────────────────────┐│ 📊 Email Queue Status │├─────────────────────────────────────────────┤│ 📧 INVOICE EMAILS ││ Pending: 45 | Sent Today: 25 ││ Processing at 10 emails every 4 minutes │├─────────────────────────────────────────────┤│ 🔔 PAYMENT REMINDERS ││ Pending: 12 | Sent Today: 8 ││ Processing at 10 reminders every 4 minutes │├─────────────────────────────────────────────┤│ 📋 RECENT SENT EMAILS ││ Type │ Recipient │ Student │ Time││ 📧 Invoice│ [email protected] │ John Doe│ 9:30││ 🔔 Remind │ [email protected] │ Jane S. │ 9:34│└─────────────────────────────────────────────┘
Email Logging
All sent emails are logged in institutionkit_email_log:
| Column | Description |
|---|---|
email_type | invoice_email or payment_reminder |
recipient_email | Parent's email address |
student_id | Linked student |
invoice_id | Linked invoice (for invoice emails) |
subject | Email subject line |
status | sent or failed |
sent_at | Timestamp |
Parent Email Lookup Order
The system checks multiple sources for parent email:
- Student meta:
_ik_email - Student meta:
_ik_guardian_email - Student meta:
_ik_parent_email - Linked parent user account email
Important Notes
⚠️ DO NOT click "Send" multiple times for the same class. The cron job handles the queue. Multiple clicks create duplicate queue entries.
⚠️ Large classes (100+ students) will take time. The system processes 10 emails every 4 minutes. A class of 100 students takes ~40 minutes to complete.
Quick Apprentice Addition Guide
Now paste into your Thrive Apprentice course:
Chapter: Fee & Invoice System
- Lesson 3: "Generating Invoices - Automatic & Manual Methods" (Article 19) ✓ NEW
- Lesson 4: "Recording Payments and Managing Transactions" (Article 20) ✓ NEW
- Lesson 5: "Generating Professional PDF Invoices" (Article 21) ✓ NEW
- Lesson 6: "Sending Invoice Emails to Parents" (Article 22) ✓ NEW
Your Complete Fee Module Documentation:
| Lesson # | Title | Status |
|---|---|---|
| Fee Lesson 1 | Setting Up Fee Types | ✅ Complete |
| Fee Lesson 2 | Creating Fee Structures | ✅ Complete (Article 18) |
| Fee Lesson 3 | Generating Invoices | ✅ NEW (Article 19) |
| Fee Lesson 4 | Recording Payments | ✅ NEW (Article 20) |
| Fee Lesson 5 | PDF Invoice Generation | ✅ NEW (Article 21) |
| Fee Lesson 6 | Email Invoice System | ✅ NEW (Article 22) |
Complete Knowledgebase Progress:
| Chapter | Lessons | Status |
|---|---|---|
| Getting Started | 3 lessons | ✅ Complete |
| Installation & License | 2 lessons | ✅ Complete |
| Multi-Campus Management | 3 lessons | ✅ Complete |
| Fee & Invoice System | 6 lessons | ✅ Complete |
| Communication | 1 lesson | 🚧 In Progress |
| Student Management | 4 lessons | ✅ Complete |
| Payroll & Expenses | 0 lessons | ⏳ Pending |
| Exams | 0 lessons | ⏳ Pending |

Comments are closed.