diff --git a/src/Feeds/Item/BaseItem.php b/src/Feeds/Item/BaseItem.php
index 2514bcf..dc093c9 100644
--- a/src/Feeds/Item/BaseItem.php
+++ b/src/Feeds/Item/BaseItem.php
@@ -8,6 +8,13 @@ namespace Drupal\feeds\Feeds\Item;
 abstract class BaseItem implements ItemInterface {
 
   /**
+   * Indicates to skip row processing.
+   *
+   * @var bool
+   */
+  protected $process_current_row = TRUE;
+
+  /**
    * {@inheritdoc}
    */
   public function get($field) {
@@ -22,4 +29,20 @@ abstract class BaseItem implements ItemInterface {
     return $this;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function skipRowProcessing($skip) {
+    if ($skip) {
+      $this->process_current_row = FALSE;
+    }
+    return $this;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function processCurrentItem() {
+    return $this->process_current_row;
+  }
 }
diff --git a/src/Feeds/Item/DynamicItem.php b/src/Feeds/Item/DynamicItem.php
index d41ea31..1db842c 100644
--- a/src/Feeds/Item/DynamicItem.php
+++ b/src/Feeds/Item/DynamicItem.php
@@ -17,6 +17,13 @@ class DynamicItem implements ItemInterface {
   protected $data = [];
 
   /**
+   * Indicates to skip row processing.
+   *
+   * @var bool
+   */
+  protected $process_current_row = TRUE;
+
+  /**
    * {@inheritdoc}
    */
   public function get($field) {
@@ -31,4 +38,20 @@ class DynamicItem implements ItemInterface {
     return $this;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function skipRowProcessing($skip) {
+    if ($skip) {
+      $this->process_current_row = FALSE;
+    }
+    return $this;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function processCurrentItem() {
+    return $this->process_current_row;
+  }
 }
diff --git a/src/Feeds/Item/ItemInterface.php b/src/Feeds/Item/ItemInterface.php
index 98e2375..472a2a9 100644
--- a/src/Feeds/Item/ItemInterface.php
+++ b/src/Feeds/Item/ItemInterface.php
@@ -30,4 +30,19 @@ interface ItemInterface {
    */
   public function set($field, $value);
 
+  /**
+   * Sets the value to indicate further proccessing.
+   *
+   * @param bool $skip
+   *   TRUE to not process the row.
+   *
+   */
+  public function skipRowProcessing($skip);
+
+  /**
+   * Returns Boolean to process the row or not.
+   *
+   */
+  public function processCurrentItem();
+
 }
diff --git a/src/Feeds/Processor/EntityProcessorBase.php b/src/Feeds/Processor/EntityProcessorBase.php
index 222d054..a01077b 100644
--- a/src/Feeds/Processor/EntityProcessorBase.php
+++ b/src/Feeds/Processor/EntityProcessorBase.php
@@ -90,6 +90,11 @@ abstract class EntityProcessorBase extends ProcessorBase implements EntityProces
    * {@inheritdoc}
    */
   public function process(FeedInterface $feed, ItemInterface $item, StateInterface $state) {
+    if (!$item->processCurrentItem()) {
+      $state->skipped++;
+      return;
+    }
+
     $existing_entity_id = $this->existingEntityId($feed, $item);
     $skip_existing = $this->configuration['update_existing'] == static::SKIP_EXISTING;
 
