Implementation of Ubercart Online Store and Integrating with CiviCRM Database

The Trinity Forum (TTF) is a nonprofit organization that engages leaders with the great ideas of civilization in the context of faith for personal and societal renewal.    Previously TTF used a stand-alone ecommerce store to manage the sales of their products.  This solution was not integrated with CiviCRM.  This meant a lot of time and effort was spent inputing duplicate data, plus a lot of time and effort spent "managing" the store.  For example, Margaret Eberly, Events Coordinator was responsible for manually emailing customers that had purchased downloadable products.  In addition, she also had to send all the orders to the mail order house.   Backoffice Thinking worked with TTF to implement Ubercart with CiviCRM integration.  The first step was for our Project Manager to identify TTF's needs and understand the areas they wanted to improve.  Then we came back with the recommendation to install Ubercart with the following add-ons:  CiviCRM integration, Discounts/Coupons, Customization to update the bulk order status so that the customer profile is not overwritten with the shipping information.    Now all store purchases are fed directly into CiviCRM allowing TTF to get a 360 degree view of their constituents' activities.  Before implementing Ubercart, TTF had to email to the customer the downloadable products purchased via the site.  With the new Ubercart store, the customer is given instant access to the file when they complete the purchase   They can access prior downloadable products purchased directly from their profile.   The Ubercart store has only been live for a short time, yet, Eberly noticed the following benefits right away:
  • Not only does the store data now integrate with our database, but the format and design look just like the rest of our site, where as on the third party store it was completely different,
  • We no longer have "Failed Payment Transactions," which were very frequent on our other stand-alone store
  • Digital products are available for download off of the website - I no longer have to e-mail them manually!
  • Orders are automatically sent to our mail house instead of me e-mailing all of the orders.  
Image icon TTF.png251.27 KB


Hey Meberly,

Sounds great! We're working on a similar project for a client in the UK and although we're quite new to Ubercart we've been really impressed with the flexibility. The Ubercart/CiviCRM integration module above ( gives a nice contact tab with a list of orders and records a contribution for each payment but I think it is only CiviCRM pre 4.2 compatable (Our client is on Civi4.1 so it all plays nice ;-) - have you found the Ubercart/CiviCRM integration module works for 4.2+? We've had some issues with it but havent got round to fixing as they aren't ready to upgrade yet... if you guys have fixed it would be great to share so we dont reinvent the wheel! If not perhaps we can work together on this when the time comes?

Another quick question - did you manage to get the Organisation/Company field to link to CiviCRM in some way? The best would be to get this to update the contacts Employer details with the relevant relationship updated, so if you have this would be a nice fix to release back to the community,



The integration module is 4.3 compatible after a small patch.  The only problem was the change of contribution_type to financial_type.  There is a small patch at that once applied solves the issue.  I actually just used this for a client a couple weeks ago and can confirm it works.

Just to be sure I'm not missing anything the only two changes within uc_civicrm.module file are from contribution_type to financial_type in two spots and no other changes.

Yeah, just the two changes is all that's needed.  In reality without the patch the integration still works and still put a record inside the tab created by the module.  The patch is just needed to add a contribution record to the contribution tab.

I'm curious if you have the contact address pre-filling in the Ubercart checkout pane for logged in users. I recall someone mentioning they had done that but it was long ago and I didn't follow up in time to close that loop. That would be a nice improvement to the uc_civicrm module!

Due to the deprecation of API v2 in CiviCRM 4.4 from 4.3 the Drupal UC module will not work with CiviCRM 4.4 and later.  Please correct me if I missed something here and v2 of the API is still available in 4.4+ but I don't see it in the API folder.

Yeah, that is a known issue with the module and is on the list of updates needed.  Unfortunately there is currently no maintainer at the moment and very few people seem to be contributing.  I'm hoping to find some time to sit down and deal with some of the issues in the module, including upgrading it to API v3, I just haven't been able to yet.

Well if I can help I am happy to but I am not a programmer by design but however I can assist in debugging or testing or offer up comic relief perhaps I stand ready.  I would really like to bring this forward with my 4.4 upgrade so however I can help.  I tried to sort out the v2 to v3 API conversion this morning and looks like the calls being made would change and some of the params being passed and returned would change as well. On Google Hangouts most of the time if you can use my help.

NASACT the testing is the hardest part on the api conversion - if you want to jump on IRC sometime I can ping you what the patches would be to convert to api 3

Thanks for the update on this one.  Looking forward to trying it out and seeing that Drupal page get some updates. Is there any plans to update this further to use the API v3 so that 4.4+ can use this as well?

Something I forgot to mention is to please  Add location types 'Ubercart_Billing' and 'Ubercart_Shipping' in civicrm to store shipping and billing address so that the contact information in Civi does not get overwritten. This is in the Readme file, but I thought I should highlight it as it's important.

We are also in the process of updating the code so that it works with Civi 4.3.  This is due to the addition of financial types in 4.3.  I'll add the URL here once we finish testing it.

And you now have your first pull request!



I tried to merge bits & pieces of changes we had into your module & created a PR. However, I discovered we had also created some conditional actions

The conditional actions are as opposed to the rules in the main module & I think we based

them on the uc_product model.

I guess there are arguments for rules approach or conditional actions but at the moment conditional actions is feeling more right to me just based on the fact other ubercart items are configured there.


Also, note re financial types - if you use api v3 you should be able to use 'contribution_type_id' on 4.3 - meaning you can support 4.2 & 4.3 with the same api calls

Hi, Just a note that the maintenance of the uc_civicrm module has been transferred to Chris Burgess. This means we can easily add co-maintainers & get the improvements made by Back-office thinking pushed back up - as well as some we have made.


Note - we are absolutely happy to pass this over to you / co-maintain with you. We just wanted to get the project ownership liberated back into the active community & get the current changes into it