diff --git a/src/Plugin/migrate/Derivative/MigrateReferenceRevision.php b/src/Plugin/migrate/Derivative/MigrateReferenceRevision.php
new file mode 100644
index 0000000..39ebc08
--- /dev/null
+++ b/src/Plugin/migrate/Derivative/MigrateReferenceRevision.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace Drupal\entity_reference_revi\Plugin\Derivative;
+
+use Drupal\entity_reference_revisions\Plugin\migrate\destination\EntityReferenceRevisions;
+use Drupal\migrate\Plugin\Derivative\MigrateEntity;
+
+class MigrateReferenceRevision extends MigrateEntity {
+  /**
+   * {@inheritdoc}
+   */
+  public function getDerivativeDefinitions($base_plugin_definition) {
+    foreach ($this->entityDefinitions as $entity_type => $entity_info) {
+      if ($entity_info->getKey('revision')) {
+        $this->derivatives[$entity_type] = array(
+          'id' => "entity_revision:$entity_type",
+          'class' => EntityReferenceRevisions::class,
+          'requirements_met' => 1,
+          'provider' => $entity_info->getProvider(),
+        );
+      }
+    }
+    return $this->derivatives;
+  }
+
+}
diff --git a/src/Plugin/migrate/destination/EntityReferenceRevisions.php b/src/Plugin/migrate/destination/EntityReferenceRevisions.php
new file mode 100644
index 0000000..cb4614c
--- /dev/null
+++ b/src/Plugin/migrate/destination/EntityReferenceRevisions.php
@@ -0,0 +1,56 @@
+<?php
+
+namespace Drupal\entity_reference_revisions\Plugin\migrate\destination;
+
+use Drupal\migrate\Plugin\migrate\destination\EntityContentBase;
+use Drupal\Core\Entity\ContentEntityInterface;
+
+/**
+ * Provides entity destination plugin.
+ *
+ * @MigrateDestination(
+ *   id = "entity_reference_revisions",
+ *   deriver = "Drupal\entity_reference_revisions\Plugin\Derivative\MigrateReferenceRevision"
+ * )
+ */
+class EntityReferenceRevisions extends EntityContentBase {
+
+  /**
+   * Finds the entity type from configuration or plugin ID.
+   *
+   * @param string $plugin_id
+   *   The plugin ID.
+   *
+   * @return string
+   *   The entity type.
+   */
+  protected static function getEntityTypeId($plugin_id) {
+    // Remove "entity_reference_revisions:".
+    return substr($plugin_id, 26);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function save(ContentEntityInterface $entity, array $old_destination_id_values = array()) {
+    $entity->save();
+
+    return [
+      $this->getKey('id') => $entity->id(),
+      $this->getKey('revision') => $entity->getRevisionId(),
+    ];
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+    $ids = parent::getIds();
+
+    // TODO: Improve after https://www.drupal.org/node/2783715 is finished.
+    $ids[$this->getKey('revision')]['type'] = 'string';
+
+    return $ids;
+  }
+
+}
