Denison, Texas, United States.


Visit website

Vertical Tabs


CMS Expertise

Drupal, WordPress, Joomla!

Services Provided

Implementation, Ongoing support, Hosting, Training, Custom code and extensions, Data migration and imports

About us

We know organizations depend on tangible results: funds raised, lives changed, problems solved. At Joinery, we lead our clients to greater growth and effectiveness through efficient management of their CRM systems. Relying on the strengths of CiviCRM, we make your data clean, accessible, and organized -- so you can find what you need and understand it without headache. Joinery focuses on partnering with our clients by providing clear and timely communication, honest expertise, and high-quality deliverables. We've been developing CRM solutions for non-profits since 2001, and offering dedicated CiviCRM services since 2009. Managing Director Allen Shaw is a regular contributor of open-source software including Drupal modules, CiviCRM extensions, and features and bug-fixes in CiviCRM core. He's also a regular participant in code development sprints with the CiviCRM core team and group leader for the CiviCRM Extensions Working Group. Data migration, reporting, custom features, and more. We're here to make your data work for you.
CiviCRM Services

Our CiviCRM services

Data migrations from any CRM or data source; Custom integration with third-party APIs; Emergency fixes for poorly handled projects; Reporting and data visualization; Custom development on new or existing CiviCRM extensions and CiviCRM core.

Case Studies

New extensions approved for in-app installation

Three new extensions were approved this week for in-app installation, thanks to the generosity of extension developers and the hard work of volunteer reviewers. The CiviCRM Extensions Directory is...
[display_name] photoby Allen Shaw of Joinery
on July 11, 2019 - 13:36

Making extensions easier to find and publish

The CiviCRM extension system has come a long way since its inclusion in version 3.3. There are currently over 250 extensions published in the Extensions Directory at, and scores more in...
[display_name] photoby Allen Shaw of Joinery
on December 23, 2016 - 10:56

More control for "current employer" fields in public forms

CiviCRM provides a "current employer" field for all individual contacts, and that field does some cool stuff. Namely, when you type an organization name into this field and save the record...
[display_name] photoby Allen Shaw of Joinery
on April 4, 2016 - 12:34

Recording multiple payments on one contribution, and dividing one payment among multiple contributions

A member sends several separate payments to cover outstanding dues on a single purchase, like an expensive membership or a table at an event. How are you going to record this? A conference...
[display_name] photoby Allen Shaw of Joinery
on March 12, 2012 - 07:37

New Module for Drupal: CiviCRM Private Report

A couple of weeks back I wrote here some thoughts about letting users manage and modify their own private collection of reports without actually having site-wide "administer reports"...
[display_name] photoby Allen Shaw of Joinery
on January 9, 2012 - 10:02

Allowing users to modify reports without going crazy

A client of mine at NS Web Solutions is looking to solve a problem involving the way their users need to handle reports.  I think this might be common enough to be relevant for others, so here's a...
[display_name] photoby Allen Shaw of Joinery
on December 19, 2011 - 11:07

Publishing Activities as an iCalendar Feed

At NS Web Solutions, we recently got a chance to work on a cool project for one of Pogstone's clients. Thanks to this client's generosity, we expect soon to release a Drupal module which...
[display_name] photoby Allen Shaw of Joinery
on September 13, 2011 - 11:56

Building a detailed event management system (and some other cool stuff) with CiviCRM

Note: You can see videos of these features in action on NS Web Solutions' case study page for this project. Update: Some of the code for these features is available on GitHub. See my comment...
[display_name] photoby Allen Shaw of Joinery
on April 28, 2011 - 21:37

Adding "sort by columns" to Reports

This has come up a couple of times before. According to my chat with Lobo today, not much is happening on this front. Since our client at Two Mice and a Strawberry has a need for this, we're...
[display_name] photoby Allen Shaw of Joinery
on October 25, 2010 - 14:04

Adding Privacy and Comments to CiviCRM Notes

At Two Mice and a Strawberry, a client has asked for some customization of the Notes features for Contacts. It happens that these features may also be useful for other objects that use Notes, but at...
[display_name] photoby Allen Shaw of Joinery
on September 6, 2010 - 09:17

Allowing non-admins to find and merge duplicates

As of now (version 3.1.5), CiviCRM limits finding and merging of duplicate records to users with the "Administer CiviCRM" permission. A recent thread on the forums points out that some organizations...
[display_name] photoby Allen Shaw of Joinery
on June 2, 2010 - 15:01

Using hooks to change "Individual Prefix" to an auto-complete text input

Originally posted at I recently had to modify CiviCRM to support a specific use case for a client. In this project I needed to allow the user to enter anything in the...
[display_name] photoby Allen Shaw of Joinery
on April 20, 2010 - 12:02