The internal staff at Activestate did most of the Drupal/Ubercart work. We assisted with a custom module to integrate Ubercart with the IP Applications API.