Workorders Module for Perfex CRM — Complete Estimate to Invoice Workflow
The Workorders Module is a powerful extension for Perfex CRM that bridges the gap between estimates and invoices. It gives your team a complete job-tracking workflow — from the moment a client accepts an estimate, through task execution and customer sign-off, all the way to a finished invoice — without ever leaving Perfex CRM.
No core file modifications. Works entirely through Perfex hooks and filters. Safe across Perfex updates.
Estimate accepted → Workorder created → Tasks completed → Customer signs → Invoice generated.
One seamless workflow, one module.
Live Demo
Key Features
Automatic Estimate → Workorder Conversion
- When a client accepts an estimate, it automatically converts to a workorder — no manual steps required
- Any invoice created by the core acceptance flow is cleanly removed and replaced by the workorder
- Staff are notified instantly via Perfex notifications
- Manual conversion also available — accepted estimates table shows a Convert to Workorder link
- Estimate N/A option lets you create workorders for jobs that never had an estimate
✅ Task Management
- Every line item on a workorder is a trackable task with its own status
- Task statuses:
Pending → Approved to Start → In Progress → Completed → Cancelled - Assign a work date to each task — shown on the workorder PDF
- Technicians can add tasks in the field (field-added tasks tracked separately)
- Cancel individual tasks with a cancel reason, tracked by staff and timestamp
- Task-level customer initials option — client must initial each item before signing
✍️ Customer E-Signature & Approval
- Public signing page accessible via a unique secure hash URL — no client login required
- Full-screen signature pad (touch-friendly, works on mobile and tablet)
- Customer confirms identity with first name, last name, and email before signing
- Signed date, IP address, and signature image stored with the workorder
- Signed workorders are locked from further editing to protect integrity
- Satisfaction date recorded on completion
PDF Generation
- Professional workorder PDF with your company branding
- Includes work dates per task (unique column not found in standard Perfex PDFs)
- Signature block on the PDF when workorder is signed
- Links to related estimate and invoice shown in the preview and PDF
- Billing and shipping address blocks on the PDF
One-Click Convert to Invoice
- When a workorder reaches Completed status, staff can convert it to a Perfex invoice in one click
- All line items, totals, taxes, discounts, and customer details are carried over
- The resulting invoice is linked back to the workorder for traceability
- Controlled by a dedicated convert_to_invoice staff permission
Client Area Integration
- Workorders appear in the client portal navigation (after Estimates, position 26)
- Clients can only see workorders in Sent status or higher — drafts stay private
- Clients can view workorder details, task list, and totals
- Public signing page is accessible without login via unique hash URL
- Client-level contact permission controls which contacts can see workorders
Customer Profile Tab
- A Workorders tab is added to every customer profile in the admin area
- Shows all workorders for that customer with status badges
- Tab displays a count badge when workorders exist
- Respects
view and view_own staff permissions
Granular Staff Permissions
view — View all workorders view_own — View only workorders the staff member created create — Create new workorders edit — Edit existing workorders delete — Delete workorders convert — Convert accepted estimates to workorders assign_technician — Assign a staff member as the technician update_task_status — Update individual task statuses add_cancel_tasks — Add new tasks or cancel existing tasks convert_to_invoice — Convert completed workorders to invoices
Email & Activity Notifications
- Staff who created the estimate (and the sale agent) are notified when a workorder is created from their estimate
- Estimate activity log records the conversion with a direct link to the new workorder
- Workorder activity log tracks every status change, task update, and signing event
- Email template for sending the workorder to the customer
Workorder Numbering & Settings
- Configurable prefix (default:
WO-) - Configurable starting number
- Multiple number formats (plain, year-prefixed, etc.)
- Auto-convert on estimate accept can be toggled on/off from settings
- Billing notification toggle
Technical Details
Requirements
- Perfex CRM 2.3. or higher (tested up to latest)
- PHP 7.4 or higher (PHP 8.x supported)
- MySQL 5.7 or higher (MySQL 8.x supported)
- Any modern browser (Chrome, Firefox, Safari, Edge, Opera)
Architecture & Safety
- No core file modifications — all integration via Perfex hooks and filters
- Safe to update Perfex — the module will not break when Perfex CRM is upgraded
- Clean uninstall — deactivating removes all created tables and options
- Idempotent install — activating multiple times will not duplicate tables or options
- Database migrations built into the activation flow — handles upgrades from older installs automatically
- Built on CodeIgniter 3 / HMVC, the same framework as Perfex CRM
- All SQL via CodeIgniter query builder — no raw input concatenation
- All admin routes protected by
staff_can() permission checks - CSRF protection inherited from Perfex core on all POST forms
Database Tables Created
tbl_workorders — main workorder records tbl_workorderitems — line items / tasks per workorder tbl_workorder_activity_log — per-workorder audit trail
What’s Included
- Full PHP source code (unencrypted, unobfuscated)
- Install & uninstall scripts
- Database migration scripts
- English language file (translator-ready)
- PDF template library
- Email template
- Documentation (README.md, CHANGELOG.md, DOCUMENTATION.pdf)
- 6 months of item support
Use Cases
- IT & tech service companies — log repair/service jobs, get customer sign-off before invoicing
- HVAC / plumbing / electrical contractors — track on-site work, capture signatures on mobile
- Maintenance & facilities management — recurring workorders linked to invoices
- Creative & marketing agencies — scope changes captured as tasks, approved before billing
- Any service business using Perfex CRM that needs an approval step between estimate and invoice
Installation
- Download the ZIP from CodeCanyon.
- Extract and upload the
workorders folder to the modules/ directory of your Perfex CRM installation. - In the Perfex admin panel go to Setup → Modules and click Activate on Workorders.
- Optionally go to Setup → Settings → Workorders to configure the prefix and numbering.
- Assign workorder permissions to your staff roles under Setup → Roles.
Full step-by-step guide included in DOCUMENTATION.pdf.
❓ Frequently Asked Questions
Q: Does this modify any Perfex core files?
A: No. The module works entirely through Perfex hooks and filters. No core file is touched.
Q: Will it break when I update Perfex CRM?
A: It is designed not to. Because no core files are modified, Perfex updates do not overwrite anything in this module.
Q: Can clients sign the workorder on a mobile phone?
A: Yes. The public signing page is fully responsive and the signature pad is touch-enabled.
Q: What happens if a workorder was already signed but I need to make a change?
A: Signed workorders are locked for editing to protect the integrity of the customer’s signature. You would need to create a new workorder.
Q: Does the customer need a Perfex client-area login to sign?
A: No. The signing page uses a unique secure hash URL and can be opened without logging in, just like Perfex estimate/invoice public links.
Q: Can I turn off the automatic estimate-to-workorder conversion?
A: Yes. Go to Setup → Settings → Workorders and disable the auto-convert option. Manual conversion from the estimates table will still work.
Q: Is the source code encrypted?
A: No. Full unencrypted PHP source code is included.
Q: Which Perfex CRM versions are supported?
A: Perfex CRM 2.3. and above. Tested on the latest available version at time of release.
Changelog
Version 1.0.1 — 2026-04-11
- Changed: Estimate-to-workorder auto-conversion is now gated behind the module setting — the core Perfex estimate_auto_convert_to_invoice_on_client_accept option is only overridden when the feature is enabled
- Changed: Status migration in install.php now runs only once, when upgrading from a legacy non-integer status column
- Removed: Debug log_activity statements from the estimate-accepted hook
- Removed: Dead/commented development code
- Added: LICENSE.txt with Envato Regular/Extended license references
Version 1.0.0 — Initial Release
- Full Estimate → Workorder → Invoice workflow
- Task management with statuses and work dates
- Customer e-signature with identity confirmation
- PDF generation with work-date column
- Client area integration
- Customer profile Workorders tab with badge
- Granular staff permissions (10 capabilities)
- Email notifications and activity log
- Workorder numbering with configurable prefix and format
Support
- Support duration: 6 months included with purchase
- Support channel: CodeCanyon item comments
- Response time: Typically within 24–48 hours (business days)
- Updates: Bug fixes and compatibility updates included
- Feature requests: Considered for future releases
Support covers: installation questions, bug reports, and usage guidance for included features.
Support does not cover: customisation services, third-party plugin conflicts, or server/hosting configuration.
Note: This module requires Perfex CRM (sold separately at codecanyon.net). It is not a standalone application.