Genesis CRM for WordPress

ยป Download on Github

Since this is a child theme of Genesis, you must also have Genesis installed for it to run. If you don’t have Genesis, use CRM Press or build your own theme by porting the code.


About 6 months ago at WordCamp Phoenix I shared TwentyTen CRM, my first attempt at developing a Customer Relationship Management system. Andrew Norcross and Jared Atchison then contributed a ton of improvements to it, and it’s been mostly unchanged since then.

Just in time for WordCamp SF (and Genesis Connect) I’m sharing my lastest version, Genesis CRM. There’s a few reasons for me making the switch:

  • TwentyTen is no longer shipped with WordPress.
  • Genesis is my preferred development platform. I build all my client’s sites using it.
  • Most importantly, TwentyTen CRM was built specifically for managing prospective clients. Once I landed the project, it was no longer used. Genesis CRM has a screen for prospective projects, active projects, and completed projects, and is a tool I use constantly throughout the day to stay organized.

If you don’t use Genesis, no worries! You can use CRM Press, which Thomas Griffin built as a standalone CRM theme (ported from TwentyTen CRM just like Genesis CRM). Or you can just look at the code I’m using it and build it into whatever you’re comfortable working with.

Finally, I’d like to note that what makes this such a valuable tool is how easily (and often) I can modify it. I’m not building a CRM for everyone – this is specifically built for my needs. I highly recommend you take the concepts outlined in this theme and apply them in your own way. Get on Github, fork this project and build your own CRM.


  • Custom taxonomies and metaboxes for collecting your data.
  • Prospects page template that is 3 widgetized columns. I’ve built a lot of widgets to analyze prospects, so choose the ones you want. Examples: Activity Graph, Source of Inquiry, Source of Projects, Outstanding Quotes… and more.
  • Active Projects page template. This lists all active projects in order of project status. It includes a status summary and budget. There’s also a “Needs Work” radio button when editing a project, and if marked the project will have a yellow background. This let’s you quickly see which projects need work. In the sidebar I list scheduled projects so you can be ready for those when they come up.
  • Completed Projects page template. This lists completed projects, the budget, time spent, and effective hourly rate. Use this to see what types of projects you over- or under-quote on to improve your estimates. Note: there is no timer built-in. I use Toggl and every Sunday I transcribe that week’s time data to the fields on each project.
  • Any time you click the name of a project it takes you directly to the Edit Post screen. Since I’m constantly editing projects’ status, this saves the extra step of clicking “Edit” and gives you a single interface for viewing this information rather than a single post screen and the edit screen.
  • If you’re using Gravity Forms, edit the Form page template with the appropriate form ID and you’ll be able to embed a contact form on your public site that automatically populates your CRM (tutorial here).
  • The design is responsive, so on a smaller screen (ex: mobile phone) it shifts to a single column layout.

Recommended Plugins

  • Gravity Forms and Gravity Forms + Custom Post Types, for your contact form
  • Registered Users Only, to limit site’s access to only you. I’ve also added a filter that excludes the contact form from this restriction (functions.php, around line 375).
  • Relevanssi, not only will you improve the search results, by going to Settings > Relevanssi you can specify all the post meta fields you’d like included in the index. This is absolutely a must since your CRM is built on post meta.

Sample WordPress CRMs

Have you built a CRM in WordPress? Share your code! Below are some public CRM themes. Leave a link to yours in the comments and I’ll add it to this list. Look through the code of these themes to get ideas for your own CRM.

Bill Erickson

Bill Erickson is the co-founder and lead developer at CultivateWP, a WordPress agency focusing on high performance sites for web publishers.

About Me
Ready to upgrade your website?

I build custom WordPress websites that look great and are easy to manage.

Let's Talk

Reader Interactions

Comments are closed. Continue the conversation with me on Twitter: @billerickson


  1. Mark Ruggiero says

    Hi Bill,

    I’m looking for the sample data but I don’t see it on github or as a link above.

    Can you help?

  2. Jamie Mitchell says

    Hi Bill

    Do you still use this CRM for project management?
    I noticed it is a few years old and thought you may have a different system in place now?

    Thanks so much

    • Bill Erickson says

      Jared and I rebuilt this as a standalone CRM. The features are almost exactly the same, except we’re using our own custom DB instead of storing it all as WP posts (allows for easier queries of data). And it looks nicer ๐Ÿ™‚

      We’re working on ANOTHER version of this CRM, this time bring it back to WordPress but keeping our data in custom tables. When this is ready we might release it publicly.

      But the purpose of posting this CRM wasn’t to provide a CRM for others. It was to inspire them to build a tool that serves their own needs.

  3. Jay Jurisich says

    Hi Bill,

    I’ve been using CRM Press for at least 10 years and it’s been perfect for my needs, and I love the simplicity of it. Lately, with WP version 5.5, I’m starting to have jQuery issues with the admin edit window (I use the Classic Editor plugin). Since this plugin hasn’t been updated since 2011, I’m just wondering what you recommend I do, like migrate to Genesis CRM or something else? But if I move to another theme/platform, I want to be able to migrate all of my past CRM data. Any suggestions are most appreciated. Thanks, Jay

    • Bill Erickson says

      The jQuery issues are likely caused by WordPress removing jQuery Migrate. You can fix this by installing Enable jQuery Migrate Helper.

      If you’re happy with CRM Press, I recommend sticking with it. There’s no easy way to migrate between CRM’s – you’ll need to write a custom importer to migrate the data.

      I haven’t used this Genesis CRM in years so I’m not even sure how well it works anymore. It likely has the same jQuery issues as CRM Press.

      I use Google Sheets as a CRM currently. All form submissions get pushed to Google Sheets, then I set the status and add additional data, which generates reports for me.

      • Jay Jurisich says

        Hi Bill,

        Thanks for your reply. Yeah, I had already installed and activated the Enable jQuery Migrate Helper plugin, which threw up 2 errors/warnings with this file: Metabox –> jquery.cmbScripts.js — the warnings were that “.live” has been deprecated, which affected 2 lines:

        38) $(‘.upload_button’).live(‘click’, function() {

        44) $(‘.remove_file_button’).live(‘click’, function() {

        Doing some research, I found that .live has been replaced by .on, so I made those changes (incomplete, because some other code needs to then be tweaked, but that was beyond my basic coding abilities to figure out). Anyway, that at least got the warnings to go away. I’m really only having one problem with it, which is more of an annoyance than anything: in the text edit window for a post, either in Visual or HTML mode, if I type at all the left sidebar pushes off the screen to the left and the whole screen goes blank, but anything I type is added in the text box, and as soon as I move the cursor off the left side of the screen, everything returns to normal. Interestingly, I can paste text into the box, and even format it, with no issues — but as soon as I type a single character, it does the disappearing act. Weird, and something I’ve never seen before. Anyway, thanks for making what I think is a great theme and perfect for my small business that has held up great for 10 years and hopefully at least 10 more. Thanks, Jay