diff --git a/commerce_backoffice_product.info b/commerce_backoffice_product.info
index d65a2a4..1b6a0eb 100644
--- a/commerce_backoffice_product.info
+++ b/commerce_backoffice_product.info
@@ -10,3 +10,4 @@ dependencies[] = views_bulk_operations
 dependencies[] = views_megarow
 
 files[] = includes/views/handlers/commerce_backoffice_product_handler_field_product_quick_edit_form.inc
+files[] = includes/views/handlers/commerce_backoffice_handler_relationship_node_product_data.inc
diff --git a/includes/views/commerce_backoffice_product.views.inc b/includes/views/commerce_backoffice_product.views.inc
index 47ba0fd..93f4f4c 100644
--- a/includes/views/commerce_backoffice_product.views.inc
+++ b/includes/views/commerce_backoffice_product.views.inc
@@ -46,4 +46,13 @@ function commerce_backoffice_product_views_data_alter(&$data) {
       'product display' => TRUE,
     ),
   );
+  $data['node']['product_display_product_node_product_id'] = array(
+    'title' => t('Commerce products on node'),
+    'help' => t('Relate nodes to commerce products, specifiying which product reference field or fields to use. This relationship will cause duplicated records if there are multiple products.'),
+    'relationship' => array(
+      'handler' => 'commerce_backoffice_handler_relationship_node_product_data',
+      'label' => t('Product'),
+      'base' => 'commerce_product',
+    ),
+  );
 }
diff --git a/includes/views/commerce_backoffice_product.views_default.inc b/includes/views/commerce_backoffice_product.views_default.inc
index 2906f90..def512f 100644
--- a/includes/views/commerce_backoffice_product.views_default.inc
+++ b/includes/views/commerce_backoffice_product.views_default.inc
@@ -92,11 +92,12 @@ function commerce_backoffice_product_views_default_views() {
   $handler->display->display_options['empty']['empty_text']['id'] = 'empty_text';
   $handler->display->display_options['empty']['empty_text']['table'] = 'commerce_product';
   $handler->display->display_options['empty']['empty_text']['field'] = 'empty_text';
-  /* Relationship: Content: Referenced product */
-  $handler->display->display_options['relationships']['field_product_product_id']['id'] = 'field_product_product_id';
-  $handler->display->display_options['relationships']['field_product_product_id']['table'] = 'field_data_field_product';
-  $handler->display->display_options['relationships']['field_product_product_id']['field'] = 'field_product_product_id';
-  $handler->display->display_options['relationships']['field_product_product_id']['required'] = TRUE;
+  /* Relationship: Content: Commerce products on node */
+  $handler->display->display_options['relationships']['product_display_product_node_product_id']['id'] = 'product_display_product_node_product_id';
+  $handler->display->display_options['relationships']['product_display_product_node_product_id']['table'] = 'node';
+  $handler->display->display_options['relationships']['product_display_product_node_product_id']['field'] = 'product_display_product_node_product_id';
+  $handler->display->display_options['relationships']['product_display_product_node_product_id']['required'] = TRUE;
+  $handler->display->display_options['relationships']['product_display_product_node_product_id']['product_references'] = array();
   /* Field: Bulk operations: Content */
   $handler->display->display_options['fields']['views_bulk_operations']['id'] = 'views_bulk_operations';
   $handler->display->display_options['fields']['views_bulk_operations']['table'] = 'node';
@@ -106,15 +107,14 @@ function commerce_backoffice_product_views_default_views() {
   $handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['display_type'] = '0';
   $handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['enable_select_all_pages'] = 1;
   $handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['force_single'] = 0;
-  $handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['display_result'] = 1;
   $handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['entity_load_capacity'] = '10';
   $handler->display->display_options['fields']['views_bulk_operations']['vbo_operations'] = array(
     'action::views_bulk_operations_delete_item' => array(
       'selected' => 1,
-      'use_queue' => 0,
       'skip_confirmation' => 0,
       'override_label' => 1,
       'label' => 'Delete product',
+      'postpone_processing' => 0,
     ),
   );
   /* Field: Content: Title */
@@ -130,7 +130,7 @@ function commerce_backoffice_product_views_default_views() {
   $handler->display->display_options['fields']['sku']['id'] = 'sku';
   $handler->display->display_options['fields']['sku']['table'] = 'commerce_product';
   $handler->display->display_options['fields']['sku']['field'] = 'sku';
-  $handler->display->display_options['fields']['sku']['relationship'] = 'field_product_product_id';
+  $handler->display->display_options['fields']['sku']['relationship'] = 'product_display_product_node_product_id';
   $handler->display->display_options['fields']['sku']['group_type'] = 'count';
   $handler->display->display_options['fields']['sku']['label'] = '';
   $handler->display->display_options['fields']['sku']['exclude'] = TRUE;
@@ -191,7 +191,7 @@ function commerce_backoffice_product_views_default_views() {
   $handler->display->display_options['filters']['status']['id'] = 'status';
   $handler->display->display_options['filters']['status']['table'] = 'commerce_product';
   $handler->display->display_options['filters']['status']['field'] = 'status';
-  $handler->display->display_options['filters']['status']['relationship'] = 'field_product_product_id';
+  $handler->display->display_options['filters']['status']['relationship'] = 'product_display_product_node_product_id';
   $handler->display->display_options['filters']['status']['value'] = 'All';
   $handler->display->display_options['filters']['status']['group'] = 1;
   $handler->display->display_options['filters']['status']['exposed'] = TRUE;
@@ -259,7 +259,7 @@ function commerce_backoffice_product_views_default_views() {
   $view->name = 'commerce_backoffice_product_variations';
   $view->description = '';
   $view->tag = 'default';
-  $view->base_table = 'commerce_product';
+  $view->base_table = 'node';
   $view->human_name = 'Commerce Backoffice: Product variations';
   $view->core = 7;
   $view->api_version = '3.0';
@@ -271,50 +271,82 @@ function commerce_backoffice_product_views_default_views() {
   $handler->display->display_options['access']['type'] = 'none';
   $handler->display->display_options['cache']['type'] = 'none';
   $handler->display->display_options['query']['type'] = 'views_query';
-  $handler->display->display_options['query']['options']['query_comment'] = FALSE;
   $handler->display->display_options['exposed_form']['type'] = 'basic';
   $handler->display->display_options['pager']['type'] = 'none';
   $handler->display->display_options['pager']['options']['offset'] = '0';
   $handler->display->display_options['style_plugin'] = 'table';
   $handler->display->display_options['style_options']['columns'] = array(
-    'product_id' => 'product_id',
+    'terms' => 'terms',
+    'field_images' => 'field_images',
+    'title' => 'title',
+    'sku' => 'sku',
+    'quick_edit_form' => 'quick_edit_form',
   );
   $handler->display->display_options['style_options']['default'] = '-1';
   $handler->display->display_options['style_options']['info'] = array(
-    'product_id' => array(
+    'terms' => array(
+      'align' => '',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
+    'field_images' => array(
+      'align' => '',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
+    'title' => array(
       'sortable' => 0,
       'default_sort_order' => 'asc',
       'align' => '',
       'separator' => '',
       'empty_column' => 0,
     ),
+    'sku' => array(
+      'sortable' => 0,
+      'default_sort_order' => 'asc',
+      'align' => '',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
+    'quick_edit_form' => array(
+      'align' => '',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
   );
-  $handler->display->display_options['style_options']['empty_table'] = TRUE;
   /* No results behavior: Global: Text area */
   $handler->display->display_options['empty']['area']['id'] = 'area';
   $handler->display->display_options['empty']['area']['table'] = 'views';
   $handler->display->display_options['empty']['area']['field'] = 'area';
+  $handler->display->display_options['empty']['area']['empty'] = TRUE;
   $handler->display->display_options['empty']['area']['content'] = 'No variations have been created for this product.';
-  $handler->display->display_options['empty']['area']['format'] = 'commerce_order_message';
-  /* Relationship: Commerce Product: Node referencing products from field_product */
-  $handler->display->display_options['relationships']['field_product']['id'] = 'field_product';
-  $handler->display->display_options['relationships']['field_product']['table'] = 'commerce_product';
-  $handler->display->display_options['relationships']['field_product']['field'] = 'field_product';
-  $handler->display->display_options['relationships']['field_product']['required'] = TRUE;
+  $handler->display->display_options['empty']['area']['format'] = 'filtered_html';
+  /* Relationship: Content: Commerce products on node */
+  $handler->display->display_options['relationships']['product_display_product_node_product_id']['id'] = 'product_display_product_node_product_id';
+  $handler->display->display_options['relationships']['product_display_product_node_product_id']['table'] = 'node';
+  $handler->display->display_options['relationships']['product_display_product_node_product_id']['field'] = 'product_display_product_node_product_id';
+  $handler->display->display_options['relationships']['product_display_product_node_product_id']['required'] = TRUE;
+  $handler->display->display_options['relationships']['product_display_product_node_product_id']['product_references'] = array();
   /* Field: Commerce Product: All taxonomy terms */
   $handler->display->display_options['fields']['terms']['id'] = 'terms';
   $handler->display->display_options['fields']['terms']['table'] = 'views_entity_commerce_product';
   $handler->display->display_options['fields']['terms']['field'] = 'terms';
+  $handler->display->display_options['fields']['terms']['relationship'] = 'product_display_product_node_product_id';
   $handler->display->display_options['fields']['terms']['label'] = '';
   $handler->display->display_options['fields']['terms']['exclude'] = TRUE;
   $handler->display->display_options['fields']['terms']['element_label_colon'] = FALSE;
   $handler->display->display_options['fields']['terms']['link_to_taxonomy'] = FALSE;
-  /* Field: Commerce Product: Image */
+  $handler->display->display_options['fields']['terms']['vocabularies'] = array();
+  /* Field: Commerce Product: Images */
   $handler->display->display_options['fields']['field_images']['id'] = 'field_images';
   $handler->display->display_options['fields']['field_images']['table'] = 'field_data_field_images';
   $handler->display->display_options['fields']['field_images']['field'] = 'field_images';
+  $handler->display->display_options['fields']['field_images']['relationship'] = 'product_display_product_node_product_id';
   $handler->display->display_options['fields']['field_images']['label'] = '';
+  $handler->display->display_options['fields']['field_images']['element_type'] = '0';
   $handler->display->display_options['fields']['field_images']['element_label_colon'] = FALSE;
+  $handler->display->display_options['fields']['field_images']['element_wrapper_type'] = '0';
+  $handler->display->display_options['fields']['field_images']['element_default_classes'] = FALSE;
   $handler->display->display_options['fields']['field_images']['click_sort_column'] = 'fid';
   $handler->display->display_options['fields']['field_images']['type'] = 'image_delta';
   $handler->display->display_options['fields']['field_images']['settings'] = array(
@@ -324,20 +356,23 @@ function commerce_backoffice_product_views_default_views() {
     'image_link' => '',
   );
   $handler->display->display_options['fields']['field_images']['delta_offset'] = '0';
+  $handler->display->display_options['fields']['field_images']['field_api_classes'] = TRUE;
   /* Field: Commerce Product: Title */
   $handler->display->display_options['fields']['title']['id'] = 'title';
   $handler->display->display_options['fields']['title']['table'] = 'commerce_product';
   $handler->display->display_options['fields']['title']['field'] = 'title';
+  $handler->display->display_options['fields']['title']['relationship'] = 'product_display_product_node_product_id';
   $handler->display->display_options['fields']['title']['label'] = '';
   $handler->display->display_options['fields']['title']['alter']['alter_text'] = TRUE;
   $handler->display->display_options['fields']['title']['alter']['text'] = '[title] <br />
-    [terms]';
+  [terms]';
   $handler->display->display_options['fields']['title']['element_label_colon'] = FALSE;
   $handler->display->display_options['fields']['title']['link_to_product'] = 0;
   /* Field: Commerce Product: SKU */
   $handler->display->display_options['fields']['sku']['id'] = 'sku';
   $handler->display->display_options['fields']['sku']['table'] = 'commerce_product';
   $handler->display->display_options['fields']['sku']['field'] = 'sku';
+  $handler->display->display_options['fields']['sku']['relationship'] = 'product_display_product_node_product_id';
   $handler->display->display_options['fields']['sku']['label'] = '';
   $handler->display->display_options['fields']['sku']['element_label_colon'] = FALSE;
   $handler->display->display_options['fields']['sku']['link_to_product'] = 0;
@@ -345,13 +380,13 @@ function commerce_backoffice_product_views_default_views() {
   $handler->display->display_options['fields']['quick_edit_form']['id'] = 'quick_edit_form';
   $handler->display->display_options['fields']['quick_edit_form']['table'] = 'commerce_product';
   $handler->display->display_options['fields']['quick_edit_form']['field'] = 'quick_edit_form';
+  $handler->display->display_options['fields']['quick_edit_form']['relationship'] = 'product_display_product_node_product_id';
   $handler->display->display_options['fields']['quick_edit_form']['label'] = '';
   $handler->display->display_options['fields']['quick_edit_form']['element_label_colon'] = FALSE;
   /* Contextual filter: Content: Nid */
   $handler->display->display_options['arguments']['nid']['id'] = 'nid';
   $handler->display->display_options['arguments']['nid']['table'] = 'node';
   $handler->display->display_options['arguments']['nid']['field'] = 'nid';
-  $handler->display->display_options['arguments']['nid']['relationship'] = 'field_product';
   $handler->display->display_options['arguments']['nid']['default_action'] = 'not found';
   $handler->display->display_options['arguments']['nid']['default_argument_type'] = 'fixed';
   $handler->display->display_options['arguments']['nid']['summary']['number_of_records'] = '0';
diff --git a/includes/views/handlers/commerce_backoffice_handler_field_term_entity_tid.inc b/includes/views/handlers/commerce_backoffice_handler_field_term_entity_tid.inc
index 6766773..41247a8 100644
--- a/includes/views/handlers/commerce_backoffice_handler_field_term_entity_tid.inc
+++ b/includes/views/handlers/commerce_backoffice_handler_field_term_entity_tid.inc
@@ -72,7 +72,7 @@ class commerce_backoffice_handler_field_term_entity_tid extends views_handler_fi
   function post_execute(&$values) {
     if (!empty($values)) {
       // Load the entities.
-      list($this->entity_type, $this->entities) = $this->query->get_result_entities($values);
+      list($this->entity_type, $this->entities) = $this->query->get_result_entities($values, $this->relationship);
       $vocabs = array_filter($this->options['vocabularies']);
       $vocabularies_to_fetch = $this->definition['vocabularies_to_fetch'];
       $tids = array();
diff --git a/includes/views/handlers/commerce_backoffice_handler_relationship_node_product_data.inc b/includes/views/handlers/commerce_backoffice_handler_relationship_node_product_data.inc
index e69de29..5c07e0d 100644
--- a/includes/views/handlers/commerce_backoffice_handler_relationship_node_product_data.inc
+++ b/includes/views/handlers/commerce_backoffice_handler_relationship_node_product_data.inc
@@ -0,0 +1,85 @@
+<?php
+
+/**
+ * @file
+ * Definition of views_handler_relationship_node_term_data.
+ */
+
+/**
+ * Relationship handler to return the taxonomy terms of nodes.
+ *
+ * @ingroup views_relationship_handlers
+ */
+class commerce_backoffice_handler_relationship_node_product_data extends views_handler_relationship  {
+  function init(&$view, &$options) {
+    parent::init($view, $options);
+
+  }
+
+  function option_definition() {
+    $options = parent::option_definition();
+    $options['product_references'] = array('default' => array());
+    return $options;
+  }
+
+  function options_form(&$form, &$form_state) {
+    // Get the product reference fields used in nodes (product display).
+    $options = array_keys(commerce_info_fields('commerce_product_reference', 'node'));
+
+    $form['product_references'] = array(
+      '#type' => 'checkboxes',
+      '#title' => t('Product References'),
+      '#options' => $options,
+      '#default_value' => $this->options['product_references'],
+      '#description' => t('Choose which product reference field you want to relate. Remember that every product found will create a new record, so this relationship is best used on just one product reference field.'),
+    );
+    parent::options_form($form, $form_state);
+  }
+
+  /**
+   * Called to implement a relationship in a query.
+   */
+  function query() {
+    $this->ensure_my_table();
+
+    $def = $this->definition;
+    $def['table'] = 'commerce_product';
+
+    $def['left_table'] = $this->table_alias;
+    $def['left_field'] = 'nid';
+    $def['field'] = 'entity_id';
+    $def['type'] = empty($this->options['required']) ? 'LEFT' : 'INNER';
+
+    $query = NULL;
+    // Use the selected product reference fields or all if no selection.
+    if ($product_references = array_filter($this->options['product_references'])) {
+    }
+    else {
+      $product_references = array_keys(commerce_info_fields('commerce_product_reference', 'node'));
+    }
+    foreach ($product_references as $field_name) {
+      $field_query = db_select('commerce_product', 'p');
+      $field_query->addJoin('LEFT', 'field_data_' . $field_name, $field_name . '_table', $field_name . '_table.' . $field_name . '_product_id = p.product_id');
+      $field_query->fields('p');
+      $field_query->addField($field_name . '_table','entity_id');
+      if ($query) {
+        $query = $query->union($field_query);
+      }
+      else {
+        $query = $field_query;
+      }
+    }
+    $def['table formula'] = $query;
+
+    $join = new views_join();
+
+    $join->definition = $def;
+    $join->construct();
+    $join->adjusted = TRUE;
+
+    // use a short alias for this:
+    $alias = $def['table'] . '_' . $this->table;
+
+    $this->alias = $this->query->add_relationship($alias, $join, 'commerce_product', $this->relationship);
+  }
+}
diff --git a/includes/views/handlers/commerce_backoffice_product_handler_field_product_quick_edit_form.inc b/includes/views/handlers/commerce_backoffice_product_handler_field_product_quick_edit_form.inc
index 602df0f..8460284 100644
--- a/includes/views/handlers/commerce_backoffice_product_handler_field_product_quick_edit_form.inc
+++ b/includes/views/handlers/commerce_backoffice_product_handler_field_product_quick_edit_form.inc
@@ -10,7 +10,7 @@ class commerce_backoffice_product_handler_field_product_quick_edit_form extends
   function render($values) {
     // Get the entity matching this row.
     $results = array($values);
-    $entities = $this->query->get_result_entities($results);
+    $entities = $this->query->get_result_entities($results, $this->relationship);
     $entity = reset($entities[1]);
     $form = drupal_get_form('commerce_backoffice_product_quick_edit_form', $entity);
 
