Employee Verification & Document Authentication

plugin banner

Manage employees, issue QR-verified internship and experience letters, and let visitors verify staff and documents using simple shortcodes.

Author:Saqib K. (profile at wordpress.org)
WordPress version required:5.8
WordPress version tested:7.1.1
Plugin version:1.4.0
Added to WordPress repository:29-03-2026
Last updated:18-09-2026
Rating, %:100
Rated by:2
Plugin URI:https://skfreelancers.com/
Total downloads:549
Active installs:10+
plugin download
Click to start download

Employee Verification & Document Authentication is a complete HR document management system for WordPress. Issue tamper-proof employee letters with unique verification IDs and QR codes, then let anyone verify their authenticity through a simple public-facing page — no login required.

Built for HR teams, staffing agencies, and businesses of any size. Every letter renders live on demand, so updates to your branding, colours, or templates are instantly reflected on all existing documents — no regeneration needed.

Employee Management

  • Add, edit, and delete employee profiles with photos
  • Track Active, Intern, and Former Employee statuses
  • Store joining date, leaving date, internship period, CNIC, father name, and tasks completed
  • Filter employees by department, status, or search term with a modern filter toolbar
  • Export employees to CSV — applies active filters; UTF-8 BOM included for Excel compatibility
  • Bulk import employees via CSV — template provided
  • Custom fields system — define global fields and fill values per employee

Letter Generation

Built-in letter types (always available):

  • Internship Completion Letter
  • Experience Letter

Dynamic “Other Letters” system (new in v1.4.0):

  • Bank Account Opening Letter
  • Salary Certificate
  • Joining Letter / Letter of Appointment
  • Promotion Letter
  • Warning Letter
  • Transfer Letter
  • Relieving Letter
  • No Objection Certificate (NOC)
  • Custom Employee Letter (fully ad-hoc — enter title and content on the fly)
  • Add your own unlimited custom letter types from Settings — no code required

All letters include:

  • Unique 16-character cryptographically random Verification ID
  • QR code linking to the public verification page
  • Full company branding (logo, colours, typography, signature, footer)
  • Live rendering — settings changes apply instantly to all existing letters
  • Print / Save as PDF from the browser (A4 size, printer-ready)

Dynamic Letter Types (Other Letters)

Create and manage unlimited letter types from Employee Verify Settings Other Letters without touching any code:

  • Letter Name & Slug — displayed in the employee dropdown menu
  • Letter Template — full HTML editor with placeholder support
  • Extra Fields — define letter-specific fields (e.g. “Monthly Salary”, “Bank Name”) that appear in a modal when generating; each field becomes a {placeholder} in the template
  • Email Subject & Body — per-letter-type email content
  • Status — Active or Inactive (inactive types are hidden from the dropdown)
  • Allow Multiple — control whether multiple letters of the same type can be issued to one employee
  • Reset Templates to Default — one-click button to restore all professional HR templates

Verification System

  • Every letter gets a unique Verification ID (cryptographically secure)
  • QR code on each letter links directly to the document verification page
  • [evda_employee_verification] — public employee lookup shortcode
  • [evda_document_verification] — public letter verification shortcode (also works via URL: ?id=VERIFICATION_ID)
  • Verified badge, employee details, and download link shown on successful verification

Letter Customization (Settings)

  • Company logo displayed on all letters
  • Full typography control: font family, size, line height, colours
  • Editable letter body templates with {placeholder} support
  • Optional signature block: signatory name, title, and uploaded signature image
  • Custom footer message (office address, phone, website)
  • Toggle: QR code, border/shadow, title underline
  • All styling changes apply instantly to all existing letters — no regeneration needed
  • Live letter preview in Settings Styling

Email Notifications

  • Auto-email employees when any letter is issued
  • Per-letter-type configurable subject and body templates
  • Placeholder support: {employee_name}, {company}, {letter_type}, {verify_url}, and more
  • Email logs (last 100 send attempts)
  • Test email button

Security

  • All AJAX endpoints protected by check_ajax_referer() + current_user_can()
  • All forms use wp_nonce_field() + check_admin_referer()
  • All database queries use $wpdb->prepare()
  • All inputs sanitized with appropriate functions (sanitize_text_field, absint, sanitize_email, etc.)
  • All output escaped with esc_html(), esc_attr(), esc_url(), wp_kses(), or wp_kses_post()
  • Public endpoints secured via HMAC token (wp_hash) — no user session required

Shortcodes

[evda_employee_verification] — Public employee lookup form.
[evda_document_verification] — Public document verification form. Also works via URL: `?id=VERIFICATION_ID`

Placeholder Reference

The following placeholders are supported in all letter templates and email bodies:

{employee_name} `{employee_id}` `{father_name}` `{cnic}` `{position}` `{department}` `{company}` `{joining_date}` `{leaving_date}` `{intern_start}` `{intern_end}` `{issue_date}` `{verification_id}` `{verify_url}` `{letter_type}` `{tasks_section}` `{custom_fields}`

For Other Letters, each extra field you define also becomes a placeholder automatically — e.g. defining a field with key salary adds the {salary} placeholder.

Privacy

This plugin stores employee data entered by the site administrator. No data is sent to external services except for QR code generation (uses a public QR API or falls back to a local GD-based generator). No tracking or analytics are included.

External Services

This plugin optionally connects to two external QR code generation APIs when generating QR codes for employee letters. These APIs are only called server-side (never from the visitor’s browser).

1. goQR.me API

  • What it does: Generates a QR code PNG image for a verification URL.
  • When it is called: When a letter is being served and the PHP GD extension is unavailable.
  • Data sent: The public verification URL only (e.g. https://yoursite.com/?evda_verify_doc=XXXX). No personal data is transmitted.
  • Service provider: goQR.me — https://goqr.me
  • Terms of use: https://goqr.me/terms-of-use/
  • Privacy policy: https://goqr.me/privacy-policy/

2. Google Charts API

  • What it does: Fallback QR code PNG generation if the goQR.me API is unavailable.
  • When it is called: Only if the goQR.me API call fails and PHP GD is unavailable.
  • Data sent: The public verification URL only. No personal data is transmitted.
  • Service provider: Google LLC — https://developers.google.com/chart
  • Terms of use: https://developers.google.com/terms
  • Privacy policy: https://policies.google.com/privacy

If both external APIs are unavailable, the plugin automatically falls back to a locally-generated placeholder using the PHP GD library — no external request is made.

License

This plugin is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or any later version.


Screenshots
FAQ
ChangeLog