diff --git a/core/lib/Drupal/Core/Field/Plugin/migrate/field/d7/EntityReference.php b/core/lib/Drupal/Core/Field/Plugin/migrate/field/d7/EntityReference.php
new file mode 100644
index 0000000..919decb
--- /dev/null
+++ b/core/lib/Drupal/Core/Field/Plugin/migrate/field/d7/EntityReference.php
@@ -0,0 +1,37 @@
+<?php
+
+namespace Drupal\Core\Field\Plugin\migrate\field\d7;
+
+use Drupal\migrate\Plugin\MigrationInterface;
+use Drupal\migrate_drupal\Plugin\migrate\field\FieldPluginBase;
+
+/**
+ * @MigrateField(
+ *   id = "entityreference",
+ *   type_map = {
+ *     "entityreference" = "entity_reference",
+ *   },
+ *   core = {7}
+ * )
+ */
+class EntityReference extends FieldPluginBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getFieldFormatterMap() {
+    return [];
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function processFieldValues(MigrationInterface $migration, $field_name, $data) {
+    $process = [
+      'plugin' => 'get',
+      'source' => $field_name,
+    ];
+    $migration->mergeProcessOfProperty($field_name, $process);
+  }
+
+}
diff --git a/core/lib/Drupal/Core/Field/Plugin/migrate/field/d7/NumberField.php b/core/lib/Drupal/Core/Field/Plugin/migrate/field/d7/NumberField.php
new file mode 100644
index 0000000..9aec2a6
--- /dev/null
+++ b/core/lib/Drupal/Core/Field/Plugin/migrate/field/d7/NumberField.php
@@ -0,0 +1,39 @@
+<?php
+
+namespace Drupal\Core\Field\Plugin\migrate\field\d7;
+
+use Drupal\migrate\Plugin\MigrationInterface;
+use Drupal\migrate_drupal\Plugin\migrate\field\FieldPluginBase;
+
+/**
+ * @MigrateField(
+ *   id = "number_default",
+ *   type_map = {
+ *     "number_integer" = "integer",
+ *     "number_decimal" = "decimal",
+ *     "number_float" = "float",
+ *   },
+ *   core = {7}
+ * )
+ */
+class NumberField extends FieldPluginBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getFieldFormatterMap() {
+    return [];
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function processFieldValues(MigrationInterface $migration, $field_name, $data) {
+    $process = [
+      'plugin' => 'get',
+      'source' => $field_name,
+    ];
+    $migration->mergeProcessOfProperty($field_name, $process);
+  }
+
+}
diff --git a/core/modules/field/migration_templates/d7_field.yml b/core/modules/field/migration_templates/d7_field.yml
index 15079d8..7b1390d 100644
--- a/core/modules/field/migration_templates/d7_field.yml
+++ b/core/modules/field/migration_templates/d7_field.yml
@@ -17,24 +17,6 @@ process:
   type:
     plugin: field_type
     source: type
-    map:
-      date: datetime
-      datestamp: datetime
-      datetime: datetime
-      email: email
-      entityreference: entity_reference
-      file: file
-      image: image
-      link_field: link
-      list_boolean: boolean
-      list_integer: list_integer
-      list_text: list_string
-      number_integer: integer
-      number_decimal: decimal
-      number_float: float
-      phone: telephone
-      text_long: text_long
-      text_with_summary: text_with_summary
   # Translatable is not migrated and the Drupal 8 default of true is used.
   # If translatable is false in field storage then the field can not be
   # set to translatable via the UI.
diff --git a/core/modules/options/src/Plugin/migrate/field/d7/ListField.php b/core/modules/options/src/Plugin/migrate/field/d7/ListField.php
new file mode 100644
index 0000000..3a28fac
--- /dev/null
+++ b/core/modules/options/src/Plugin/migrate/field/d7/ListField.php
@@ -0,0 +1,39 @@
+<?php
+
+namespace Drupal\options\Plugin\migrate\field\d7;
+
+use Drupal\migrate\Plugin\MigrationInterface;
+use Drupal\migrate_drupal\Plugin\migrate\field\FieldPluginBase;
+
+/**
+ * @MigrateField(
+ *   id = "list",
+ *   type_map = {
+ *     "list_boolean" = "boolean",
+ *     "list_integer" = "list_integer",
+ *     "list_text" = "list_string",
+ *   },
+ *   core = {7}
+ * )
+ */
+class ListField extends FieldPluginBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getFieldFormatterMap() {
+    return [];
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function processFieldValues(MigrationInterface $migration, $field_name, $data) {
+    $process = [
+      'plugin' => 'get',
+      'source' => $field_name,
+    ];
+    $migration->mergeProcessOfProperty($field_name, $process);
+  }
+
+}
diff --git a/core/modules/telephone/src/Plugin/migrate/field/d7/PhoneField.php b/core/modules/telephone/src/Plugin/migrate/field/d7/PhoneField.php
new file mode 100644
index 0000000..0798567
--- /dev/null
+++ b/core/modules/telephone/src/Plugin/migrate/field/d7/PhoneField.php
@@ -0,0 +1,37 @@
+<?php
+
+namespace Drupal\telephone\Plugin\migrate\field\d7;
+
+use Drupal\migrate\Plugin\MigrationInterface;
+use Drupal\migrate_drupal\Plugin\migrate\field\FieldPluginBase;
+
+/**
+ * @MigrateField(
+ *   id = "phone",
+ *   type_map = {
+ *     "phone" = "telephone",
+ *   },
+ *   core = {7}
+ * )
+ */
+class PhoneField extends FieldPluginBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getFieldFormatterMap() {
+    return [];
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function processFieldValues(MigrationInterface $migration, $field_name, $data) {
+    $process = [
+      'plugin' => 'get',
+      'source' => $field_name,
+    ];
+    $migration->mergeProcessOfProperty($field_name, $process);
+  }
+
+}
