How can I let a user select my Drupal Commerce product to either be shipped or downloaded? I am using the Drupal Commerce module. I want to download the digital file. I am using the Commerce License and Commerce File modules.

But now I need to add an option to let the user select between Shippable or Download. If the user selects Shippable, the product will be shipped, while if the user selects Download, the user will be able to download the file. 

I want to do it like in the product page:


If the user selects Shippable, the user doesn't have a FILES tab in the User profile page.
If the user selects Download, the user has a FILES tab in the User profile page.




How can I implement this using Drupal Commerce?. 

Any suggestions?
Required steps

Step 1

Create a taxonomy, let's say it's called "Delivery methods", with terms "Shipable" and "Download".

Step 2

For each product type, add a field like "Delivery method", which is a field "term reference" (and refer to the "Delivery methods" taxonomy).

Attentionn: make sure to check the option "attribute field settings" (enables this field to function as an attribute field on the add-to-cart-form).

Step 3

Use store / products / add product to add individual products, with a specific SKU, and for which you pick the right values for the Delivery methods taxonomy.

Video tutorials

For a more detailed video tutorial of the steps described above, refer to Drupal Commerce - Pruduct Attributes (16:13).

Before doing so, you may want to first view these related videos:


Drupal Commerce - Pruduct Types (9:11).
Drupal Commerce - Pruduct Displays (11:36).


By only reviewing/studying these 3 videos (total time = about 37 mins), you'll have a very good foundation to get started with the fundamentals of Drupal Commerce.

Commerce Backoffice

Managing products (and orders) can be confusing. However, the Commerce Backoffice module helps with that. For more details about that module, refer to my answer to the question about
Correct way for Attributes in Commerce.