Cada tanto suele aparecer la misma pregunta (en alguna de sus dos variantes): ¿como hago para convertir un producto simple en un producto virtual? (o podría ser el caso inverso).
En líneas generales, dentro de Magento, los productos simples y los virtuales son lo mismo (atributo más, atributo menos). Veamos un ejemplo de producto simple.
+-----------+----------------+------------------+---------+----------------+--------------+---------------------+---------------------+-------------+------------------+
| entity_id | entity_type_id | attribute_set_id | type_id | sku | category_ids | created_at | updated_at | has_options | required_options |
+-----------+----------------+------------------+---------+----------------+--------------+---------------------+---------------------+-------------+------------------+
| 3 | 4 | 4 | simple | simple-product | 4 | 2009-12-12 18:31:36 | 2009-12-12 18:31:36 | 0 | 0 |
+-----------+----------------+------------------+---------+----------------+--------------+---------------------+---------------------+-------------+------------------+
Como ven, en la columna type_id se especifica qué tipo de producto estamos usando.
La gran diferencia entre un tipo de producto y otro, dada su naturaleza, es que el virtual no necesita de especificación del método de envío (dado que es un producto que no se enviaría).
Si vemos el checkout de un simple, el 3º y 4º paso hace referencia a los envíos.
Vamos a convertir el producto simple en virtual.
update catalog_product_entity set type_id = 'virtual' where entity_id = 3;
Si volvemos a consultar el producto veríamos lo siguiente.
+-----------+----------------+------------------+---------+----------------+--------------+---------------------+---------------------+-------------+------------------+
| entity_id | entity_type_id | attribute_set_id | type_id | sku | category_ids | created_at | updated_at | has_options | required_options |
+-----------+----------------+------------------+---------+----------------+--------------+---------------------+---------------------+-------------+------------------+
| 3 | 4 | 4 | virtual | simple-product | 4 | 2009-12-12 18:31:36 | 2009-12-12 18:31:36 | 0 | 0 |
+-----------+----------------+------------------+---------+----------------+--------------+---------------------+---------------------+-------------+------------------+
Si vemos en el checkout ahora, vemos como el cambio en el producto se ha aplicado.
Con esto logramos convertir nuestro producto.
Por supuesto, puede hacerse en ambos sentidos. Es decir, de simple a virtual o de virtual a simple. El paso sería el mismo.