Plugin: ic-hr-erp-extension

Adds applicant tracking and employee portal to WP ERP Free version. Features include job application form, employee management, and secure portal.

IC HR ERP Extension – Complete Documentation

Plugin Version: 1.4.8 | Last Updated: 11/14/2025

📋 Overview

The IC HR ERP Extension plugin provides complete Human Resources management system integration with WP ERP Free. This plugin enables you to:

👥 Applicant Tracking

Complete workflow for job applications from submission to hiring

🔐 Employee Portal

Secure self-service portal for employees with role-based access

📧 Automated Emails

Bilingual email notifications (English & Spanish) for applicants and admins

🛡️ Security Protection

Cloudflare Turnstile integration and age verification

Key Benefits

  • Streamline Hiring: Automate the entire applicant tracking process
  • Employee Self-Service: Reduce HR administrative workload
  • Professional Branding: Customizable email templates with company branding
  • Data Security: Secure applicant data with proper access controls
  • Compliance Ready: Age verification and data protection features

⚙️ Requirements

WordPress Requirements

  • WordPress 6.2 or higher
  • PHP 7.4 or higher
  • File upload permissions enabled

Required Plugins

WP ERP Free

Mandatory: Free version of WP ERP is required for employee management

Download Plugin

Simple Cloudflare Turnstile

Mandatory: Required for spam protection on application forms

Download Plugin

Server Requirements

  • PHP file uploads enabled
  • PDF MIME type supported
  • Minimum 100MB disk space for resumes
  • Email sending capability (SMTP recommended)

🚀 Installation

Step 1: Install Required Plugins

  1. Install and activate WP ERP Free from WordPress.org
  2. Install and activate Simple Cloudflare Turnstile from WordPress.org
  3. Configure Cloudflare Turnstile with your Site Key and Secret Key

Step 2: Install IC HR ERP Extension

  1. Upload the plugin files to the /wp-content/plugins/ic-hr-erp-extension directory
  2. Activate the plugin through the ‘Plugins’ screen in WordPress
  3. The setup wizard will guide you through initial configuration

Step 3: Initial Setup Wizard

Upon activation, you’ll be redirected to the setup wizard:

  1. Configure Email Settings: Set admin notification email, from name/email
  2. Company Information: Enter your company name for branding
  3. Age & File Settings: Set minimum applicant age and maximum file size
  4. Complete Setup: Save settings to finish initial configuration

🎉 Automatic Page Creation

The plugin automatically creates an HR Portal page at

/hr-portal
with the
[employee_portal]
shortcode. This page is immediately ready for employee access.

⚙️ Configuration

Plugin Settings

Navigate to HR Management → Settings to configure:

Email Configuration

  • Admin Notification Email: Where new application alerts are sent
  • From Name: Name that appears as email sender
  • From Email: Email address for sending notifications
  • Reply-To Email: Optional reply-to address (uses from email if empty)

General Settings

  • Company Name: Used in email signatures and notices
  • Minimum Applicant Age: Age verification (default: 18)
  • Maximum File Size: Resume upload limit in MB (default: 5MB)

Security Settings

  • Cloudflare Turnstile: Automatic integration with installed plugin
  • Age Verification: Client-side validation for minimum age
  • File Type Validation: PDF-only uploads for resumes

Required Fields

Fields marked with * are required for plugin functionality:

  • Admin Notification Email
  • From Name
  • From Email
  • Company Name

HR Portal Page

The plugin automatically creates and manages the HR Portal page:

  • URL: https://yoursite.com/hr-portal
  • Content: [employee_portal] shortcode
  • Access: Employees only (requires login with employee role)
  • Management: Page is automatically updated if modified

🎯 Usage

Applicant Form Shortcode

Basic Usage:

[applicant_form]

Default Features:

  • Full applicant information collection
  • Phone number validation (10-digit format)
  • Date of birth with age verification (18+)
  • State selection dropdown (all US states + territories)
  • Position selection with predefined options
  • Resume upload (PDF only, size limited)
  • Cover letter textarea
  • Cloudflare Turnstile CAPTCHA protection
  • Bilingual success messages (English & Spanish)

Employee Portal Shortcode

Basic Usage:

[employee_portal]

Features:

  • Welcome Header: Displays employee name with logout option
  • Paystub Access: Section for viewing/downloading paystubs
  • Documents to Sign: Pending documents requiring signature
  • Employee Information: Current employee details and update options
  • Secure Access: Only accessible to users with “employee” role

Form Placement Examples

1. Dedicated Job Application Page

Create a new page with:

<div class="job-application-page">
<h1>Join Our Team</h1>
<p>We're always looking for talented individuals to join our company.</p>
[applicant_form]
</div>

Form includes:

  • Personal information section (name, email, phone, DOB, state)
  • Employment information (position, resume upload, cover letter)
  • Cloudflare Turnstile CAPTCHA verification
  • Real-time phone formatting (123-456-7890)
  • Age validation (must be 18+)

2. Career Opportunities Page

Combine job listings with application form:

<div class="careers-page">
<h1>Career Opportunities</h1>
<div class="job-listings">
<!-- Your job listings here -->
</div>
<div class="application-section">
<h2>Apply Now</h2>
<p>See a position that fits your skills? Submit your application.</p>
[applicant_form]
</div>
</div>

HR Portal Page

The plugin automatically creates the HR Portal page at /hr-portal. You can also manually create additional employee portal pages:

<!-- Custom Employee Portal Page -->
<div class="employee-resources">
<h1>Employee Resources</h1>
<p>Welcome to the employee resource portal.</p>
[employee_portal]
</div>

Managing Applicants

Access the applicant management system:

  1. Go to HR Management → Applicants in WordPress admin
  2. View applicants by status: Pending, Reviewed, Approved, Rejected
  3. Click on any applicant to view full details and resume
  4. Update applicant status with one click
  5. Convert approved applicants to employees automatically

Employee Management

Once applicants are converted to employees:

  • Employees are automatically assigned the “employee” role
  • Admin bar is hidden for employees (cleaner interface)
  • Employees are redirected to HR Portal after login
  • Employee access is restricted to frontend only

Form Styling

The plugin includes responsive CSS styling. For custom styling:

/* Custom form styling */
#applicant-form-container {
    max-width: 800px;
    margin: 0 auto;
}

#applicant-form-container .form-section {
    background: white;
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    margin-bottom: 30px;
}

#applicant-form-container .form-row {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}

#applicant-form-container .form-group {
    flex: 1;
}

#applicant-form-container label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #333;
}

#applicant-form-container input,
#applicant-form-container select,
#applicant-form-container textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
}

#applicant-form-container input:focus,
#applicant-form-container select:focus,
#applicant-form-container textarea:focus {
    border-color: #0073aa;
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.1);
}

/* Success message styling */
.success-message {
    background: #f0fff0;
    border: 2px solid #00cc00;
    padding: 30px;
    border-radius: 8px;
    text-align: center;
    margin: 20px 0;
}

.spanish-message {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    padding: 20px;
    border-radius: 8px;
    margin-top: 20px;
}

📸 Screenshot Examples

For documentation, include screenshots of:

  1. Applicant form on frontend
  2. Success message with bilingual confirmation
  3. HR Portal employee interface
  4. Admin applicant management screen
  5. Plugin settings page
  6. Setup wizard interface

🔧 Troubleshooting

Common Issues

❌ Setup Wizard Not Completing

Solution:

  • Ensure all required fields (*) are filled
  • Verify email addresses are valid formats
  • Check that WP ERP plugin is active
  • Clear browser cache and retry

❌ File Uploads Not Working

Solution:

  • Verify file is PDF format
  • Check file size is under limit (default 5MB)
  • Ensure PHP file uploads are enabled on server
  • Check WordPress upload directory permissions

❌ HR Portal Page Not Created

Solution:

  • Check if page already exists at /hr-portal
  • Manually create page with [employee_portal] shortcode
  • Verify plugin activation completed successfully
  • Check for plugin conflicts

❌ Emails Not Sending

Solution:

  • Verify email settings are configured
  • Check spam/junk folders
  • Test WordPress email functionality
  • Consider using SMTP plugin for reliable email

Plugin Conflict Testing

If experiencing issues:

  1. Deactivate all other plugins temporarily
  2. Test HR ERP Extension functionality
  3. Reactivate plugins one by one to identify conflicts
  4. Test with default WordPress theme

Database Issues

// Check database tables exist:
wp_icllc_hr_applicants
wp_icllc_hr_documents

// Check required options are set:
icllc_hr_admin_email
icllc_hr_from_name  
icllc_hr_from_email
icllc_hr_company_name
icllc_hr_setup_complete
            

🔗 API Reference

AJAX Endpoints

The plugin uses AJAX for form processing:

Application Submission

POST /wp-admin/admin-ajax.php?action=submit_application

Parameters: All form fields + application_nonce + cf-turnstile-response

Response: JSON with success/error and bilingual messages

Applicant Status Update

POST /wp-admin/admin-ajax.php?action=update_applicant_status

Parameters: applicant_id, new_status, nonce

Used in: Admin interface for managing applicants

Create Employee from Applicant

POST /wp-admin/admin-ajax.php?action=create_employee_from_applicant

Parameters: applicant_id, nonce

Creates: WP ERP employee from approved applicant

Custom Integration Examples

Custom Application Form Integration:

<form id="custom-application-form">
    <input type="text" name="first_name" placeholder="First Name" required>
    <input type="text" name="last_name" placeholder="Last Name" required>
    <input type="email" name="email" placeholder="Email" required>
    <input type="tel" name="phone" placeholder="Phone" required>
    <!-- Add other required fields -->
    <!-- Turnstile container -->
    <div class="cf-turnstile" data-sitekey="your-site-key"></div>
    <button type="submit">Submit Application</button>
</form>

<script>
jQuery('#custom-application-form').on('submit', function(e) {
    e.preventDefault();
    
    var formData = new FormData(this);
    formData.append('action', 'submit_application');
    formData.append('cf-turnstile-response', jQuery('[name="cf-turnstile-response"]').val());
    
    jQuery.ajax({
        url: '',
        type: 'POST',
        data: formData,
        processData: false,
        contentType: false,
        success: function(response) {
            if (response.success) {
                // Show success message
                jQuery('#custom-application-form').html(
                    '<div class="success-message">' +
                    '<h2>Application Submitted!</h2>' +
                    '<p>' + response.data.message_english + '</p>' +
                    '</div>'
                );
            } else {
                alert('Error: ' + response.data);
            }
        }
    });
});
</script>
                

💬 Support

Getting Help

If you need assistance with the IC HR ERP Extension plugin:

📚 Documentation

Refer to this documentation for setup and usage

💡 Feature Requests

Suggest new HR features and improvements

🔧 Custom Development

Need custom HR features? Contact for custom solutions

Contact Information

🎉 Thank You for Using Our Plugin!

We appreciate your support and are committed to providing excellent HR management solutions for your WordPress and WP ERP integration needs.