v3.4.0 - September 8, 2025
Add e-invoice compatible template generators (JSON/XML)
Add bulk export invoices in JSON/XML formats
Add bulk export credit notes in JSON/XML formats
Add the ability to view/download the invoice in JSON/XML
Add the ability to view/download the credit note in JSON/XML
Add the ability to add optional items for estimates
Add the ability to add optional items for proposals
Add the ability for multiple personal project notes
Add an option to disable languages and use only the needed languages by the company.
Update the ticket’s original message to respect the ticket_replies_order setting.
Updated: Send an invoice to the client automatically when an estimate is accepted and invoiced
Updated: Allow other currencies in the French number to word generator
ensure expense receipt name truncates
Remove redundant environment check in email logging
Fix the undefined variable in the expenses cron
Fix proposal for lead failing inactive user check when contact with the same ID exists
Fix the invoice not sent filter not applied correctly
Fix subscription plan dropdown overflows
Fix estimate request {estimate_request_submitted_data} not properly formatted
Fix false positive on cPanel upload scanner
v3.3.1 - May 21, 2025
Escape the contact name in customer format
Allow img width and height attributes in HTML content
Allow div in HTML-able text
Fix Estimate request {estimate_request_submitted_data} not properly formatted
Fix BR tag shown in the customer address information
Fix the table dropdown column values not exported to CSV/Excel
Fix the system prompt AI setting option
Fix undefined key status in AI fune tuning
Password/Key:
- Added OpenAI module
- Added “Summarize ticket with AI” feature
- Added “Suggest ticket reply with AI” feature
- Added fine-tuning support using the knowledge base and predefined replies with OpenAI
- Added ability to enhance ticket reply tone (formal, polite, friendly)
- Added ability to enhance knowledge base text (formal, polite, friendly)
- Updated to the latest Stripe API (Basil version)
- Updated number-to-words conversion to support 3 decimal places
- Updated the checklist progress display for tasks with two checklist items
- Updated unordered list style to disc in .tc-content
- Updated to enforce required item custom field select input
- Improved lead form by properly disabling the save button during submission
- Enhanced expense create/edit view
- Enhanced PHP 8.4 compatibility
- Fixed “Lead is public” checkbox
- Fixed deprecations warnings
- Fixed error when invoicing a project without tasks
- Fixed task assignees select input
- Fixed task milestone select input
- Fixed issues with the TwoCheckout payment gateway
- Fixedproject_descriptionmerge field rendering raw HTML
- Fixed French number-to-words format
- Fixed issue with adding tabs from modules
- Fixed tasks table export, excluding task status
- Fixed PDF file name on draft invoice, save & send email
- Fixed modules from conflicting with the Subscriptions description column on the select query
- Security fixes and enhancements
- Addedget_countryhook
Upgrade Guide
After update logout
During update, you will be logged out of your account, and you will need to log in again. This is caused by session compatibility changes to fully support PHP 8.4.
Stripe Checkout
Version 3.3.0 of Perfex CRM uses the latest Stripe API (Basil), If you are using the Stripe Checkout gateway, you will need to navigate to Setup->Settings->Payment Gateways->Stripe Checkout and re-create the webhook, there will be a warning message displayed that the API version does not match.
Additionally, version 3.3.0 of Perfex CRM will respect the allowed payment methods in our Stripe dashboard, you may expect additional payment methods presented to the customer when paying an invoice.
- Fix estimates settings menu not working.
- Fix the timesheet overview that is not working on specific database types.
- Fix Stripe iDEAL module throws an error after activation.
- Fix invoice overdue days to show float instead of integer.
- Update: Make invoices financial stats visible by default in card style.
- Update: Customer profile tabs UI.
- Update: Project overview UI.
- Update: Auto determines logo (dark/white) on header based on header background.
- Update: Auto adjusts color on the sidebar profile button based on the sidebar background.
- Update: Allow changing the content background color via the “Theme Style” module.
- Update: Allow changing the table links color.
- UI fixes and responsive fixes.
NOTE: This version requires minimum PHP 8.1
- Add the ability to disable the ticket public form.
- Add the ability to search for full invoice/estimate/credit note numbers in a table and global search.
- Add a new Stripe iDEAL gateway (module) to comply with the new Stripe API.
- Add primary contact, and customer groups to CSV export for customers.
- Add project status to project-related email merge fields.
- Update Stripe API.
- New UI.
- New ticket details view.
- New contract details view.
- New expense form view.
- PHP 8.3 fixes.
- PHP 8.4 compatibility.
- Update: Minimum required PHP version 8.1.
- Update: Enhance leads modal UI.
- Update: Enable spell checker in TinyMCE editor
- Update: Hide inactive staff on the staff ticket dashboard
- Update: Make dropdowns in tables clickable.
- Update: Auto-apply a filter on lead summary status click.
- Update: Make estimates/invoices/expenses quick summary visible by default.
- Update: Auto-apply a filter on estimates/invoices quick stats click.
- Update: Auto-apply a filter on tasks summary status click.
- Fix print lead incorrectly aligned content.
- Fixed \n not converter to <be /> on imported tickets.
- Fix cannot download ticket public form attachments.
- Fix add a contact in customer area error when sending set password checked.
- Fix the knowledge base group color not shown on Kanban.
- Fix timesheets table group not always working.
- Fix invoice not having payments filter not considering credits.
- Fix custom field number sorting and filtering.
- Fix project expenses filter.
- Fix batch payment permissions checks are incorrect.
- Fix ticket message double encoding.
- Fix invoice/estimate shown in proposals table when contact not authorized
- Fix the date filter not always working correctly.
- Fix backup/surveys vendor files missing.
- Fix select placeholder on clients area.
- Hooks updates
- Move after_invoice_added hook before sending an email.
- Add customers_navigation_before_logout hook.
- Add before_admin_ticket_addreply_tabpanel_content hook.
- Add after_total_summary_estimatehtml hook.
- Add estimatepdf_organization_info hook.
- Add after_total_summary_invoicehtml hook.
Version 3.1.6 - April 28, 2024
- Add option to auto-convert proposal to invoice after acceptance (customers-related proposals only)
- Add an option to disallow non-admin staff to edit tickets and replies messages
- Fix tickets content show HTML
- Fix modules menu item badge displays HTML
- Fix the proposal table not sorting by date created
- Fix detailed expenses report not working
- Fix admin-related kb articles encoding
- Fix TinyMCE not working in modals
- Fix delete ticket redirect to invalid link
Version 3.1.5
March 18, 2024
- Updated: TinyMCE to v6
- Updated: Allow more HTML tags in ticket body content
- Fix: Quick Create is not working for leads and tasks
- Fix: Search results for knowledge base articles have incorrect links
- Fix: Lead activity log shows HTML
- Fix: Lead email activity tab shows HTML
- Fix: Leads kanban status color not applied
- Fix: Registration is not working when Honeypot is enabled
- Fix: Delete ticket attachment downloads an empty image placaholder
- Minor UI/CSS fixes
- Security assessments – thanks to https://bytekey.com/
Version 3.1.3-3.1.4
February 18, 2024
- Add filter by members to the project table
- Fix company info not displayed
- Fix project milestones background not applied
- Fixed cannot open proposal and estimate from pipeline
- Fix new lines not applied in the timesheet report note
- Fix auto importing tickets via IMAP not working
- Fix some dates not properly formatted
- Fix item description new lines not applied
- Fix redirect not working on specific PHP builds