Data Migration (Teacher CPT → Staff Table)
When upgrading from v1.1 to v1.2+, the system automatically:
- Copies
ik_teachercustom post types toinstitutionkit_stafftable - Generates employee codes (format:
TCH00001) - Maps teacher designations to staff roles
- Migrates attendance records
- Updates meeting slot references
- Updates teacher comment associations
To check migration status:
php
$migrated = get_option('ik_teacher_migration_complete'); // true/false
$log = get_option('ik_teacher_migration_log'); // DetailsTable Health Check
Run this to verify all tables exist:
php
$db = new IK_Database();
$missing = $db->check_tables();
if (!empty($missing)) {
// Tables need to be created
$db->create_tables();
}
Campus ID Column Migration
The system automatically adds campus_id columns to legacy tables:
institutionkit_attendanceinstitutionkit_invoicesinstitutionkit_gradebook- And 12+ more tables
Default Data Inserted
On fresh installation, these defaults are created:
- 11 Grade Scales (A+ to F with GPA points)
- 10 Meeting Topics (Academic Performance, Behavior, etc.)
- 15 Expense Heads (Rent, Utilities, Salaries, etc.)
- 1 Default Campus ("Main Campus" with code "MAIN")
Backup Recommendations
Critical tables to backup regularly:
wp_institutionkit_students
wp_institutionkit_staff
wp_institutionkit_invoices
wp_institutionkit_transactions
wp_institutionkit_payroll
wp_institutionkit_expenses
wp_institutionkit_gradebook (or ik_grades_v2)
Troubleshooting Common Issues
Issue: "Payroll not generating for staff"
Check:
- Staff
employment_status = 'active' - Staff
join_dateis before payroll month - Staff not terminated (
termination_dateis NULL or after payroll month) - Attendance records exist in
institutionkit_staff_attendance
Issue: "Expense approval stuck"
Check:
institutionkit_expense_approvalstable for pending records- Ensure approvers are assigned (campus manager, finance manager)
- Verify expense amount matches approval level requirements
Issue: "Financial reports showing zero"
Check:
- Date range filters are correct
- Expense status is 'approved' or 'reimbursed' (not 'pending_approval')
- Collections are recorded in
institutionkit_campus_collections
Issue: "Duplicate payroll entries"
Prevention: Unique constraint on (staff_id, campus_id, payroll_month)
Fix: Delete duplicate and regenerate

Comments are closed.