Index: /var/aegir/7.0/sites/all/modules/addressfield/addressfield.module
index 9b80d9c..9e6c968 100644
--- a/addressfield.module
+++ b/addressfield.module
@@ -625,3 +625,114 @@ function template_preprocess_addressfield_formatter(&$variables) {
   $countries = country_get_list();
   $variables['address']['country_name'] = $countries[$variables['address']['country']];
 }
+
+/**
+ * Implementation of hook_feeds_node_processor_targets_alter().
+ */
+function addressfield_feeds_processor_targets_alter(&$targets, $entity_type,
+  $bundle_name) {
+  foreach (field_info_instances($entity_type, $bundle_name) as
+      $name => $instance) {
+    $info = field_info_field($name);
+    if ($info['type'] == 'addressfield') {
+      $targets[$info['field_name'] . ':country'] = array(
+        'name' => t($instance['label'] . ' Country ISO'),
+        'callback' => 'addressfield_set_target',
+        'real_target' => $info['field_name'],
+      );
+      $targets[$info['field_name'] . ':xnl'] = array(
+        'name' => t($instance['label'] . ' xNL XML'),
+        'callback' => 'addressfield_set_target',
+        'real_target' => $info['field_name'],
+      );
+      $targets[$info['field_name'] . ':name_line'] = array(
+        'name' => t($instance['label'] . ' xNL NameLine'),
+        'callback' => 'addressfield_set_target',
+        'real_target' => $info['field_name'],
+      );
+      $targets[$info['field_name'] . ':first_name'] = array(
+        'name' => t($instance['label'] . ' xNL FirstName'),
+        'callback' => 'addressfield_set_target',
+        'real_target' => $info['field_name'],
+      );
+      $targets[$info['field_name'] . ':last_name'] = array(
+        'name' => t($instance['label'] . ' xNL LastName'),
+        'callback' => 'addressfield_set_target',
+        'real_target' => $info['field_name'],
+      );
+      $targets[$info['field_name'] . ':organisation_name'] = array(
+        'name' => t($instance['label'] . ' xNL OrganisationName'),
+        'callback' => 'addressfield_set_target',
+        'real_target' => $info['field_name'],
+      );
+      $targets[$info['field_name'] . ':xal'] = array(
+        'name' => t($instance['label'] . ' xAL XML'),
+        'callback' => 'addressfield_set_target',
+        'real_target' => $info['field_name'],
+      );
+      $targets[$info['field_name'] . ':administrative_area'] = array(
+        'name' => t($instance['label'] . ' Administrative Area'),
+        'callback' => 'addressfield_set_target',
+        'real_target' => $info['field_name'],
+      );
+      $targets[$info['field_name'] . ':sub_administrative_area'] = array(
+        'name' => t($instance['label'] . ' Sub Administrative Area'),
+        'callback' => 'addressfield_set_target',
+        'real_target' => $info['field_name'],
+      );
+      $targets[$info['field_name'] . ':locality'] = array(
+        'name' => t($instance['label'] . ' Locality'),
+        'callback' => 'addressfield_set_target',
+        'real_target' => $info['field_name'],
+      );
+      $targets[$info['field_name'] . ':dependent_locality'] = array(
+        'name' => t($instance['label'] . ' Dependent Locality'),
+        'callback' => 'addressfield_set_target',
+        'real_target' => $info['field_name'],
+      );
+      $targets[$info['field_name'] . ':postal_code'] = array(
+        'name' => t($instance['label'] . ' Postal Code'),
+        'callback' => 'addressfield_set_target',
+        'real_target' => $info['field_name'],
+      );
+      $targets[$info['field_name'] . ':thoroughfare'] = array(
+        'name' => t($instance['label'] . ' Thoroughfare'),
+        'callback' => 'addressfield_set_target',
+        'real_target' => $info['field_name'],
+      );
+      $targets[$info['field_name'] . ':premise'] = array(
+        'name' => t($instance['label'] . ' Premise'),
+        'callback' => 'addressfield_set_target',
+        'real_target' => $info['field_name'],
+      );
+      $targets[$info['field_name'] . ':sub_premise'] = array(
+        'name' => t($instance['label'] . ' Sub Premise'),
+        'callback' => 'addressfield_set_target',
+        'real_target' => $info['field_name'],
+      );
+      $targets[$info['field_name'] . ':data'] = array(
+        'name' => t($instance['label'] . ' Additional Data'),
+        'callback' => 'addressfield_set_target',
+        'real_target' => $info['field_name'],
+      );
+    }
+  }
+}
+
+/**
+ * Example callback specified in hook_feeds_processor_targets_alter().
+ *
+ * @param $source
+ *   Field mapper source settings.
+ * @param $entity
+ *   An entity object, for instance a node object.
+ * @param $target
+ *   A string identifying the target on the node.
+ * @param $value
+ *   The value to populate the target with.
+ *
+ */
+function addressfield_set_target($source, $entity, $target, $value) {
+  list($field_name, $sub_field) = explode(':', $target, 2);
+  $entity->{$field_name}['und'][0][$sub_field] = $value;
+}
