WP-CRM System is a fully featured WordPress CRM that allows you to use the WordPress interface you are already familiar with to manage your customers, projects, and tasks with ease.
Why spend hundreds or thousands of dollars on a CRM that charges based on the number of records you have in your database, or the number of users that you have accessing your database? WP-CRM System allows you to have an unlimited number of records and lets you give everyone in your organization access to the WordPress CRM data they need to drive business.
More than a CRM
WP-CRM System allows your team to manage projects, assign individual tasks, track marketing campaigns, and helps convert your opportunities into successes!
Easily import contacts and other records from your old CRM with our easy to use CSV uploader.
Get email updates whenever a project or task you are assigned to is created or edited. Never miss a thing!
Quickly create new contacts from existing users on your site with just one click. The plugin will take existing information (name, email address, etc.) from the user’s account and add it to the new contact in WP-CRM System.
Assists with GDPR compliance
WP-CRM System has optional features, which can assist with GDPR compliance if that is something your business requires. Please note that this plugin does not guarantee GDPR compliance as no plugin can provide 100% compliance. Compliance requires actions on the part of your business that this plugin cannot provide.
Available features include a way for your contacts to view the data that is stored on them in WP-CRM System, the ability for your contacts to export that data, and the ability for contacts to request that their data be deleted.
Not sure what GDPR is or if it applies to your business? Read our blog post on GDPR.
Premium Extensions Available
There are a number of inexpensive WordPress CRM extensions that will allow you to do more with WP-CRM System.
- Zapier – Connect WP-CRM System to over 750 different apps with Zapier. Send WP-CRM System to other apps, or create/update records in WP-CRM System from data in other apps.
- WooCommerce – View contact’s order history from their record, automatically create new WP-CRM System contacts and organizations on new orders.
- Easy Digital Downloads – View contact’s order history from their record, automatically create new WP-CRM System contacts and organizations on new orders.
- Client Area – Create a portal for clients to see the status of their projects, tasks, campaigns, and invoices.
- Less Accounting – Connect to Less Accounting to manage invoices, and client records.
- MailChimp Sync – Subscribe contacts to your MailChimp list easily.
- Invoicing – Send invoices to customers and accept payments by credit card through Stripe.
- Custom Fields – Add extra fields to WP-CRM System. Keep track of an unlimited number of extra data for all of your records.
- Dropbox Connect – Attach files from your Dropbox account to any record in WP-CRM System.
- Slack Notifications – Alert your team through a Slack channel whenever a project, task, or opportunity is updated.
- Ninja Forms – Automatically create new contacts in WP-CRM System whenever a visitor fills out a contact form on your site (requires Ninja Forms).
- Gravity Forms – Automatically create new records in WP-CRM System whenever a visitor fills out a contact form on your site (requires Gravity Forms).
- Zendesk Connect – View tickets submitted to Zendesk by your WP-CRM System contacts. Quickly create a WP-CRM System task, project, or opportunity from the information provided in the ticket.
- Notes & Email – Send email directly from Contacts. Add custom private note on each post.
Have a suggestion for a new feature?
We’re always looking to add new features to WP-CRM System. If you have a third party app you would like to integrate with, or a new feature we should include we want to hear about it!
Documentation for WP-CRM System and extensions can be found on our website.
WP-CRM System is written in American English, and has been translated into the following languages:
- Russian – WP-CRM System Core Plugin by Maxim Glazunov
- Polish – WP-CRM System Core Plugin by Pawel Michalski
- Spanish – WP-CRM System Core Plugin by Adrián Quinteiro Ayán
If you would like to submit a translation, please submit it through our website.
- Download archive and unzip in wp-content/plugins or install via Plugins – Add New.
- Activate the plugin through the Plugins menu in WordPress.
What makes WP-CRM System different from other CRM’s?
Many other CRM’s are hosted on the CRM company’s servers, which requires you to maintain an active subscription in order to access YOUR data. WP-CRM System gives you control over your data by keeping it all contained on your WordPress CRM website. You own it all and no one can ever keep you from it – just like it should be. There are no expensive contracts required in order for you to access your customer’s information.
Sure! We have a Client Area add-on, which lets you assign projects, tasks, campaigns, and even invoices (with our Invoicing add-on) to your contacts. When your contact logs into their account, they’ll be able to see everything you’re working on for them.
If you need to show your contacts the data that you have on them for GDPR purposes, you will be able to use the GDPR settings to handle this without the need for any additional plugins.
What if I am coming from another CRM, can I import my data?
Absolutely. There are inexpensive extensions that allow you to import as little or as much information as you need to into your WordPress CRM.
Is my data secure?
Your data is only accessible through the WordPress CRM dashboard. None of it will be accessible through the public facing portion of your website unless you are using our GDPR features (see above). This allows you to provide access to as few or as many people as you need to.
Contributors & Developers
“WordPress CRM Plugin – WP-CRM System” is open source software. The following people have contributed to this plugin.Contributors
“WordPress CRM Plugin – WP-CRM System” has been translated into 1 locale. Thank you to the translators for their contributions.
Interested in development?
- New: Option on how you want the system handles the duplicate entries
- Fix: Opportunity to Project conversion bugs
- Fix: Duplicate import of Contacts
- Fix: Break line on email content
- New: Calendar data will be visible to the owner only, with the exception to Administrator
- Fix: Quick add dates field from calendar inconsistency
- Fix: Support links
- Fix: Several known bugs and issues
- New: Updated Dashboard calendar styling
- New: You can now quick add through Dashboard calendar
- Fix: Missing tax name in organisation report
- Fix: Avatar missing on Contact table list
- Fix: Notices and warnings for performance improvements
- Fix: Search feature failing
- New: Quick add modals for Campaigns, Organizations, Contacts and Projects
- New: Filters for fields dropdowns
- New: Filters for post types
- New: Plugin menu hierarchy filter
- Fix: URL field rejecting SSL
- Fix: Dashboard calendar visual compatibility with smaller devices
- Update: Email recipient has been migrated to Select 2 JS and select loop has been minimised for performance
- New: Category sorting on report
- Fix: Validation issue that prevents Campaign from updating
- Fix: Navigating months in datepicker will reset the date
- Update: Adjust email validation to accepts TLD longer than 4
- Fix: Actions in recurrings tab lead to empty settings tab
- Fix: Importing contact will use email when checking duplicate entries
- Fix: Incorrect redirection after adding/editing recurring entries
- Update: New and improved data validation
- New: Optional selection to send email notification on task’s contact attachment
- New: Shortcut button for adding new Task and Opportunity from Contact page
- Fix: Progress column issue on the Task’s table
- Fix: Email functionality does not work based on user’s settings
- Fix: Contact tend to received an email notification when you attach them on a task
- Update: Email page will use WYSIWYG and improvement on the styling
- New: Table filters on Project and Task table list, as well sortable columns for these filters
- Fix: PHP notices on campaigns and project post type
- Fix: Ajax error response
- Fix: Admin notice position
- Update: Better styling on the settings field and dashboard inconsistency
- Update: Removed comment support from WP CRM System’s related post types
- Update documentation link
- Update Tested up version
- Update readme.txt.
- Update to fix save setting changes.
- Update: Included new filter
wp_crm_system_display_linksto allow for disabling phone number and email address links on the contact and organization tables.
- Update: Included new filter
wpcrm_system_single_calendar_entryto enable custom formatting of individual calendar entries.
- Fix: New site setup by a super administrator on a multisite subsite caused fatal error when saving initial settings.
- Fix: Export functionality was not working due to an incorrect reference to the import/export class.
- Fix: Buttons on recurring projects and tasks page were incorrectly redirecting to the Settings tab.
- Fix: Recurring tab was receiving the “active” style when it was the active tab.
- New: Added an import and export feature for WP-CRM System settings. This will allow users to export settings to import into another site or use as a backup for their existing site.
- Update: Updated translatable POT file for new and updated text strings.
- Fixed issue where
deactivate_plugins()function was called too early causing errors in some cases.
- Fixed duplicate function name error when WP-CRM System and Email Notifications were active at the same time.
- Merged several previously premium plugins into WP-CRM System core, including all Import / Export plugins (campaigns, contacts, opportunities, organizations, projects, tasks), Email Notifications, and Contact From User.
- Forced deactivation of the premium plugins that were merged into WP-CRM System core.
- Improved the coding of the display for field titles in individual records by removing 94 constants and replacing with translatable strings.
- Minor CSS changes.
- Fixed display of settings update notification on WP-CRM System dashboard page that showed up in the Address Book box. Clarified the language used to point the user to the correct location to update settings.
- Updated featured images for recommended extensions.
- Removed extra tabs on recommended extensions page.
- Consolidated function required for importing into the wcs-functions.php file and removed return_bytes.php.
- Added notification to the Project and Task list table screens to point users to the Recurring Entries settings page.
- Moved recurring entries out from the WP-CRM System > Dashboard > Settings tab into it’s own tab at WP-CRM System > Dashboard > Recurring.
- Improvements to Welcome Page after activation to clarify the plugin’s capabilities.
- Improvements to the language used on Client Area, Custom Fields, and Invoicing upsell tabs. Also removed Import upsell tab.
- Updated datepicker fields to include the
autocomplete="off"HTML attribute. This prevents browsers from displaying an autocomplete window on top of the datepicker calendar view.
- Added the ability to customize the datepicker via developer filters. See documentation for more details on how to modify the datepicker.
- Updated the WPCRM_System_Create class to include custom file fields, which have been introduced in the Custom Fields add-on.
- Introduced 25 new filters. Filters will allow editing the custom post type labels and arguments, the taxonomy labels and arguments, as well as the category select menu in WP-CRM System dashboard.
- Corrected escaping output issues.
- Corrected escaping output issues.
- Update: Corrected the welcome screen to reflect current prices and brand assets.
- Enhanced: Reports are now filterable. Prior reporting was very static in that you could view a page with ALL projects assigned to ALL organizations. Now you can pick and choose what criteria you want to use in order to view the records that are most relevant to you.
- Fix: Email messages contained slashes in some cases.
- Fix: Errors were shown when attempting to send emails when required fields were empty.
- Update: Minimum recommended PHP version is 7.2, which follows WordPress standards. WP-CRM System will still work on PHP 5.6+, but it is recommended to users that they update to 7.2 if possible.
- Enhancement: Allows for searching on record fields instead of just record name. For example, a contact can be searched for by email, phone number, address, etc.
- Fix: Some data still not properly escaped for security purposes.
- Fix: Security vulnerabilities were discovered and corrected. Specifically, certain user input data from $_GET and $_POST variables were not properly sanitized.
- New: Introducing recurring Projects and Tasks. Create a project or task once, and have it automatically generate a new one after a given number of days, weeks, months, or years.
- Depreciated settings for GDPR page. This has been replaced with the built-in WordPress privacy export and erase tools. The GDPR page setting will still function for anyone who was using it, but will no longer show as an option if it was not previously set.
- Added upsell feature and minor improvements.
- New: Introduced features to integrate with the WordPress privacy tools included in WordPress version 4.9.6. Includes the ability to export or erase information on a contact when the contact’s email address is entered into the export or erase tool in WordPress.
- New: Introduced features to allow users to more easily comply with GDPR rules. Those features include a way for your contacts to view the data that is stored on them in WP-CRM System, the ability for your contacts to export that data, and the ability for contacts to request that their data be deleted. This plugin by itself does not guarantee GDPR compliance.
- Change: register taxonomies on the plugins_loaded action rather than init as was done previously. This allows taxonomies to be exported in reports since the export is done around the setup_theme hook, which takes place prior to init.
- Fix: Variable $status used in WPCRM_System_Create for a new filter, which incorrectly caused the $status variable passed to the function to be overridden.
- Update: Provided filter
wpcrm_system_create_contacts_email_key_status, which can be used to change the
post_statusvalue when searching for existing contacts by email address. Default value is
publishas this is the default
post_statusvalue, which was used previously.
- Update: Provided filter
wpcrm_system_menu_nameto allow for whitelabeling of WP-CRM System’s menu name. This filter allows for changing the name in the left menu.
- Update: Provided filter
wpcrm_system_menu_iconto allow for changing the dashicon used in the menu next to WP-CRM System. By default the dashicon is
- Update: Provided filter ‘wpcrm_system_create-contacts_email_key’ which should return true or false. False is default, and will cause contacts to be created or updated based on the contact’s name. True would cause contacts to be created or updated based on the contact’s email address.
- Add Zapier to list of extensions.
- Minor bug fixes.
- Update: Added extra conditions to be passed to the update or create new record method.
- Fix: Campaign list table was pulling the incorrect information in the projected reach column.
- Fix: WPCRM_System_Create projects had an incorrect key for the project description field, causing project creation to not set the description correctly.
2.2.1 & 2.2.2
- Fix: Included campaigns to WPCRM_System_Create class.
- Fix: Corrected error in contact category filter on email page.
- New: Added WPCRM_System_Create class to enable developers to create new records in WP-CRM System.
- New: Added filters to each record’s field type to allow developers to modify the default fields that are shown.
- Fix: Minor CSS update.
- Fix: Sort function on record categories would return an error when no categories were assigned to a record. Moved the sorting into the check to see if record has categories.
- Update: Compatible with WordPress 4.9
- Update: Added a category column to each of the overview pages (Contact, Organization, Project, Task, Opportunity, Campaign). Allows for easier navigation to the various category overview pages.
- Fix: Certain extensions were incorrectly displayed as not installed on the WP-CRM System > Extensions page. This has no impact on the functionality of the extensions just the display of whether or not they are installed.
- Update: Added new information (can users register) to system info report found on WP-CRM System > Dashboard > Settings > System Info.
- New: Added filter wpcrm_system_add_calendar_entry to allow plugin developers to add custom dates to the calendar shown on the WP-CRM System dashboard. Developers can query custom fields, or hard code important dates in the calendar such as holidays.
- Improved: Google Maps scripts were loading when no Maps API key was provided. Maps will not display without an API key, so there is no need to load scripts.
- Minor update: Added new plugins to extensions page.
- Fix: Output of dates in certain circumstances would produce an error. Fix should prevent invalid dates from being displayed.
2.1.8 – 2.1.9
- Improved: Added export class for export plugins to extend. Compatible with WP-CRM System Import/Export plugins version 2.1 or later. Provides the possibility to create your own export plugin that will include custom fields, or other information.
- Improved: Added clickable links for phone numbers and email addresses for contacts and organizations in the following areas: record detail page, list page, WP-CRM System dashboard address book.
- Added Spanish language files.
- Updated main POT language file.
- Minor change to text on a database update notice.
- Updated language files
- Fix: Display of name prefix was not rendering in some instances.
- Fix: Go to Category menu on dashboard was sending users to incorrect category page.
- Fix: If a record is moved to the trash, it still shows as being linked in the post_meta of other records. For example, a contact that is trashed, but was previously linked to an opportunity would still show as being linked to that opportunity. Fix “hides” the trashed from the record. A record that is restored from trash will retain it’s previous position as being linked to other records.
- Fix: If a name prefix (Mr, Mrs, etc.) was not set for a contact, “Select an Option” text would display before the name on the dashboard “Address Book” section.
2.1.0 & 2.1.1
- New: Calendar on the dashboard to show all upcoming campaign, opportunity, project, and task dates.
- New: System info provided for debugging purposes.
- New: Redesigned dashboard area with calendar, and quick pick for contacts, projects, tasks, and opportunities.
- New: Filter wpcrmsystem_name_prefix added to allow custom name prefixes to be included.
- New: Added contacts to the main organization listing page.
- Improved: Removed option to select searchable dropdowns. All dynamic lists include searchable dropdowns now.
- Improved: Searchable dropdown menus for all organization, contact, project, campaign, and user select menus.
- Improved: Tooltip styling improved.
- Improved: Premium plugin license keys moved under Settings tab.
- Fix: Set admin capability for managing settings to manage_options. Previous capability activate_plugins caused multisite admins (not super admins) to not be able to update settings.
- Fix: Tooltip formatting was showing for all links where the tooltip style was being loaded.
- Improved: Select menus for Organizations, and other records would extend over items in adjacent columns if the text contained within was too long. Minor CSS fix limits the width of these select menus.
- Improved: Sending emails to contacts in WP-CRM System now saves the email in the contact’s record.
- Fix: Errors when an organization was added without an address. https://wordpress.org/support/topic/debugging-error-when-address-is-omitted-from-organization
- Fix: Overdue task report incorrectly listed only one task regardless of how many tasks were actually overdue.
- Fix: Fatal errors on certain sites using outdated PHP versions.
- New: Display photo for contacts in the WP-CRM System > Contact page if a “featured image” has been set for the contact, or the email address associated with the contact has a gravatar associated with it.
- New: Filter contacts on the WP-CRM System > Contact page by organization. This allows you to easily view the contacts you have for a particular organization.
- Fix: Corrected column title on WP-CRM System > (Contacts, Organizations, Projects, Campaigns, Opportunitites), which incorrectly labeled each as a Task.
- New: Optionally add an organization’s address to the dropdown menu. Useful if you have multiple organizations with the same name but different locations.
- New: Sortable columns on post edit page for each record type.
- Minor update to ensure PHP 7 compatibility
- New: added subtab to settings pages for future settings improvements.
- Fix: 404 error on a script caused datepicker to not funciton correctly.
- Fix: New installs prevented WP-CRM System dashboard from loading properly.
- Fix: Script incorrectly looked up contact and organization address information when not viewing a contact or organization’s record.
- Added: Filter for default fields allows developers to modify or add fields as needed.
- Improved file structure for easier edits and maintainability of the plugin.
- Fix: Error that showed if no email address existed for a contact on the Email page.
- Tweak: Removed depreciated jQuery code used in Searchable Menus setting.
- New: Included Google Maps API key setting to allow for continued use of Google Maps in Contact and Organization records.
- Fix: Updated date settings function, which was not saving dates correctly.
- New: Added ability to assign campaigns to contacts and organizations.
- Update: Added information to new extensions.
- Tweak: Update save contact name/title function to enable compatibility with certain 3rd party plugins.
- New: Hook added to allow extensions listed on WP-CRM System dashboard through the extension plugin, rather than hardcode in WP-CRM System. Developers can add_filter(‘wpcrm_system_dashboard_extensions’) to be included here.
- Fix: New installs of the plugin were not displaying the WP-CRM System dashboard correctly.
- Fix: Added MailChimp option to dashboard extension list.
- Fix: WP-CRM System dashboard boxes were displaying at inconsistent heights making the page layout break. JS fix to ensure consistent heights.
- New: WP-CRM System dashboard is visible to anyone who has access to WP-CRM System. Previously only administrators had access. WP-CRM System settings box is only visible to administrators.
- New: Added option to restrict users to view their own records only. This only impacts users that are not administrators. Administrators can still view/edit/delete all records.
- Added option for certain searchable select/option menus. Specifically, select menus for choosing a user, campaign, organization, contact, or project were added.
- Bug fix: Categories tab was removed from dashboard page.
- Added hooks to for developers to extend and customize WP-CRM System.
- Hooks include ability to add or remove user roles, add/remove/move WP-CRM System’s dashboard boxes, add custom fields and meta boxes, add custom reports, create custom plugins.
- Updated WP-CRM System dashboard layout to address issues with viewing the dashboard on smaller screens.
- This version is required for all 2.0.0+ versions of add-on plugins.
- Bug fix: New tasks were not able to get assigned to a project correctly. This update addresses that bug.
- Minor bug fix
- Added support for MailChimp extension.
- Removed Gravity Forms connect settings page in WP-CRM System Dashboard as new update does not require a settings page.
- Minor bug fix to user display in records.
- Added button to the “Create Project from Opportunity” link.
- Fixed bug in user display when no user was selected.
- Corrected wording on email page.
- Performance improvements.
- Updated language translatable file.
- Improved Contacts by removing a redundancy in the title and first/last name fields, which should be the same. Now title field is removed, and the title is automatically generated by the First and Last Name fields.
- Improved structure of the WP-CRM System Menu to a more logical flow.
- Added new dashboard screen to give quick access to relevant information.
- Reformatted edit screens to allow for easier readability of your information.
- Enabled default WordPress commenting on records so you and your team can have a conversation from within WP-CRM System.
- New feature allows you to quickly create new records from within other records. For example, create a new organization from within a contact’s edit page.
- Various bug fixes and performance improvements.
- Corrected a bug that prevented Google Maps from loading in Contacts and Organizations when viewed over a secure HTTPS connection.
- Corrected a bug that caused no contacts to be loaded on the Email page if at least one contact category was not present.
- Updated German translation.
- Added support for Invoicing extension.
- Update to extension page.
- Minor performance improvements.
- Added German translation thanks to Michael Pekic.
- Included additional name prefix options.
- Minor update to fix included images.
- Fixed minor URL issue on extensions.
- Added support for custom fields extension.
- Minor updates to UI in administration areas.
- Minor fix for accordion categories on email filtering.
- Added filtering by organization and category for email recipients.
- Added new reports – list all tasks assigned to a project, and list all projects assigned to an organization.
- Added ability to assign tasks to projects.
- New Feature: Send emails to contacts directly from WP-CRM System.
- Minor update: Added category edit page for Campaigns.
- Added support for Zendesk extension.
- Resolved minor issue with date formatting.
- Added Russian translation thanks to Maxim Glazunov.
- Support for Dropbox extension added.
- Fixed issue with some strings not displaying translations
- New Feature: Track marketing campaigns. Find out how well your marketing campaigns are performing. Track opportunities created from each campaign and keep tabs on your campaign’s ROI.
- Dashboard report fix.
- Modified how users are provided access to WP-CRM System. Only Administrator level users (with manage_options capability) can access WP-CRM System settings. Administrators can allow users in other roles access to add, edit, or delete records, as well as view reports.
- Hide dashboard widget if current user is not in a role with access to WP-CRM System information.
- Added translatable text in missing areas.
- Fixed error message on reports.
- Fixed error message on certain reports and dashboard notice.
- Fixed minor issue with Google maps in records with addresses.
- Added dashboard notifications for any projects, tasks, or opportunities the current logged in user is assigned to.
- Fixed a minor CSS issue.
- Initial Release