You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: www/apps/book/public/llms-full.txt
+35-12Lines changed: 35 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -29553,41 +29553,64 @@ Learn more about workflows in [this documentation](https://docs.medusajs.com/doc
29553
29553
29554
29554
# Configure Selling Products
29555
29555
29556
-
In this guide, you'll learn how to set up and configure your products based on their shipping and inventory requirements, the product type, how you want to sell them, or your commerce ecosystem.
29556
+
In this guide, you'll learn how to set up and configure your products based on their shipping and inventory requirements, their type, how you want to sell them, or your commerce ecosystem.
29557
29557
29558
-
The concepts in this guide are applicable starting from Medusa v2.5.1.
29558
+
The concepts in this guide are applicable starting from [Medusa v2.5.1](https://github.com/medusajs/medusa/releases/tag/v2.5.1).
29559
29559
29560
29560
## Scenario
29561
29561
29562
-
Businesses can have different selling requirements:
29562
+
Businesses can have different selling requirements. They may sell:
29563
29563
29564
-
1. They may sell physical or digital items.
29565
-
2. They may sell items that don't require shipping or inventory management, such as selling digital products, services, or booking appointments.
29566
-
3. They may sell items whose inventory is managed by an external system, such as an ERP.
29564
+
1. Physical or digital items.
29565
+
2. Items that don't require shipping or inventory management, such as selling digital products, services, or booking appointments.
29566
+
3. Items whose inventory is managed by an external system, such as an ERP.
29567
29567
29568
-
Medusa supports these different selling requirements by allowing you to configure shipping and inventory requirements for products and their variants. This guide explains how these configurations work, then provides examples of setting up different use cases.
29568
+
Medusa supports these different selling requirements by allowing you to configure shipping and inventory requirements for products and their variants.
29569
+
29570
+
This guide explains how these configurations work, then provides examples of setting up different use cases.
29569
29571
29570
29572
***
29571
29573
29572
29574
## Configuring Shipping Requirements
29573
29575
29574
-
The Medusa application defines a link between the `Product` data model and a [ShippingProfile](https://docs.medusajs.com/Users/shahednasser/medusa/www/apps/resources/app/commerce-modules/fulfillment/concepts#shipping-profile/index.html.md) in the [Fulfillment Module](https://docs.medusajs.com/Users/shahednasser/medusa/www/apps/resources/app/commerce-modules/fulfillment/index.html.md), allowing you to associate a product with a shipping profile.
29576
+
### Product Shipping Requirement
29577
+
29578
+
The Medusa application defines a link between the `Product` data model and the [ShippingProfile](https://docs.medusajs.com/Users/shahednasser/medusa/www/apps/resources/app/commerce-modules/fulfillment/concepts#shipping-profile/index.html.md) data model in the [Fulfillment Module](https://docs.medusajs.com/Users/shahednasser/medusa/www/apps/resources/app/commerce-modules/fulfillment/index.html.md), allowing you to associate a product with a shipping profile.
29579
+
29580
+

29575
29581
29576
29582
When a product is associated with a shipping profile, its variants require shipping and fulfillment when purchased. This is useful for physical products or digital products that require custom fulfillment.
29577
29583
29578
29584
If a product doesn't have an associated shipping profile, its variants don't require shipping and fulfillment when purchased. This is useful for digital products, for example, that don't require shipping.
29579
29585
29580
29586
### Overriding Shipping Requirements for Variants
29581
29587
29582
-
A product variant whose inventory is managed by Medusa (its `manage_inventory` property is enabled) has an [inventory item](https://docs.medusajs.com/Users/shahednasser/medusa/www/apps/resources/app/commerce-modules/inventory/concepts#inventoryitem/index.html.md). The inventory item has a `requires_shipping` property that can be used to override its shipping requirement. This is useful if the product has an associated shipping profile but you want to disable shipping for a specific variant, or vice versa.
29588
+
A product variant whose inventory is managed by Medusa (its `manage_inventory` property is enabled) has an [inventory item](https://docs.medusajs.com/Users/shahednasser/medusa/www/apps/resources/app/commerce-modules/inventory/concepts#inventoryitem/index.html.md).
29583
29589
29584
-
Learn more about product variant's inventory in [this guide](https://docs.medusajs.com/Users/shahednasser/medusa/www/apps/resources/app/commerce-modules/product/variant-inventory/index.html.md).
29590
+
The inventory item has a `requires_shipping` property that can be used to override the variant's shipping requirement. This is useful if the product has an associated shipping profile but you want to disable shipping for a specific variant, or vice versa.
29585
29591
29586
-
When a product variant is purchased, the Medusa application decides whether the purchased item requires shipping in the following order:
29592
+

29587
29593
29588
-
1. The product variant has an inventory item. In this case, the Medusa application uses the inventory item's `requires_shipping` property to determine if the item requires shipping.
29594
+
Refer to the [Product Variant Inventory](https://docs.medusajs.com/Users/shahednasser/medusa/www/apps/resources/app/commerce-modules/product/variant-inventory/index.html.md) guide to learn more.
29595
+
29596
+
When a product variant is purchased, the Medusa application decides whether the purchased item requires shipping based on the following conditions (in the following order):
29597
+
29598
+
1. If the product variant has an inventory item, the Medusa application uses the inventory item's `requires_shipping` property to determine if the item requires shipping.
29589
29599
2. If the product variant doesn't have an inventory item, the Medusa application checks whether the product has an associated shipping profile to determine if the item requires shipping.
29590
29600
29601
+

29602
+
29603
+
### Shipping Requirements vs Shipping Options
29604
+
29605
+
The shipping options that you retrieve during checkout depend on the cart's shipping address. So, whether the items in the cart require shipping doesn't affect what shipping options are available at checkout.
29606
+
29607
+
This is a common misconception, where you expect to not receive any shipping options at checkout if the cart doesn't have any items that require shipping. However, the Medusa application always returns shipping options based on the cart's shipping address.
29608
+
29609
+
If you want to show the shipping options only if the cart has items that require shipping, you can either:
29610
+
29611
+
- Create a custom [API route](https://docs.medusajs.com/docs/learn/fundamentals/api-routes/index.html.md) that checks whether the cart has items that require shipping.
29612
+
- Perform this check in your storefront's frontend code, such as in the checkout page, and show or hide the shipping options accordingly.
Copy file name to clipboardExpand all lines: www/apps/resources/app/commerce-modules/product/selling-products/page.mdx
+37-12Lines changed: 37 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,8 @@ tags:
5
5
- fulfillment
6
6
products:
7
7
- fulfillment
8
+
- product
9
+
- inventory
8
10
---
9
11
10
12
import { Table } from"docs-ui"
@@ -15,49 +17,72 @@ export const metadata = {
15
17
16
18
# {metadata.title}
17
19
18
-
In this guide, you'll learn how to set up and configure your products based on their shipping and inventory requirements, the product type, how you want to sell them, or your commerce ecosystem.
20
+
In this guide, you'll learn how to set up and configure your products based on their shipping and inventory requirements, their type, how you want to sell them, or your commerce ecosystem.
19
21
20
22
<Note>
21
23
22
-
The concepts in this guide are applicable starting from Medusa v2.5.1.
24
+
The concepts in this guide are applicable starting from [Medusa v2.5.1](https://github.com/medusajs/medusa/releases/tag/v2.5.1).
23
25
24
26
</Note>
25
27
26
28
## Scenario
27
29
28
-
Businesses can have different selling requirements:
30
+
Businesses can have different selling requirements. They may sell:
29
31
30
-
1.They may sell physical or digital items.
31
-
2.They may sell items that don't require shipping or inventory management, such as selling digital products, services, or booking appointments.
32
-
3.They may sell items whose inventory is managed by an external system, such as an ERP.
32
+
1.Physical or digital items.
33
+
2.Items that don't require shipping or inventory management, such as selling digital products, services, or booking appointments.
34
+
3.Items whose inventory is managed by an external system, such as an ERP.
33
35
34
-
Medusa supports these different selling requirements by allowing you to configure shipping and inventory requirements for products and their variants. This guide explains how these configurations work, then provides examples of setting up different use cases.
36
+
Medusa supports these different selling requirements by allowing you to configure shipping and inventory requirements for products and their variants.
37
+
38
+
This guide explains how these configurations work, then provides examples of setting up different use cases.
35
39
36
40
---
37
41
38
42
## Configuring Shipping Requirements
39
43
40
-
The Medusa application defines a link between the `Product` data model and a [ShippingProfile](../../fulfillment/concepts/page.mdx#shipping-profile) in the [Fulfillment Module](../../fulfillment/page.mdx), allowing you to associate a product with a shipping profile.
44
+
### Product Shipping Requirement
45
+
46
+
The Medusa application defines a link between the `Product` data model and the [ShippingProfile](../../fulfillment/concepts/page.mdx#shipping-profile) data model in the [Fulfillment Module](../../fulfillment/page.mdx), allowing you to associate a product with a shipping profile.
47
+
48
+

41
49
42
50
When a product is associated with a shipping profile, its variants require shipping and fulfillment when purchased. This is useful for physical products or digital products that require custom fulfillment.
43
51
44
52
If a product doesn't have an associated shipping profile, its variants don't require shipping and fulfillment when purchased. This is useful for digital products, for example, that don't require shipping.
45
53
46
54
### Overriding Shipping Requirements for Variants
47
55
48
-
A product variant whose inventory is managed by Medusa (its `manage_inventory` property is enabled) has an [inventory item](../../inventory/concepts/page.mdx#inventoryitem). The inventory item has a `requires_shipping` property that can be used to override its shipping requirement. This is useful if the product has an associated shipping profile but you want to disable shipping for a specific variant, or vice versa.
56
+
A product variant whose inventory is managed by Medusa (its `manage_inventory` property is enabled) has an [inventory item](../../inventory/concepts/page.mdx#inventoryitem).
57
+
58
+
The inventory item has a `requires_shipping` property that can be used to override the variant's shipping requirement. This is useful if the product has an associated shipping profile but you want to disable shipping for a specific variant, or vice versa.
59
+
60
+

49
61
50
62
<Notetitle="Tip">
51
63
52
-
Learn more about product variant's inventory in [this guide](../variant-inventory/page.mdx).
64
+
Refer to the [Product Variant Inventory](../variant-inventory/page.mdx) guide to learn more.
53
65
54
66
</Note>
55
67
56
-
When a product variant is purchased, the Medusa application decides whether the purchased item requires shipping in the following order:
68
+
When a product variant is purchased, the Medusa application decides whether the purchased item requires shipping based on the following conditions (in the following order):
57
69
58
-
1.The product variant has an inventory item. In this case, the Medusa application uses the inventory item's `requires_shipping` property to determine if the item requires shipping.
70
+
1.If the product variant has an inventory item, the Medusa application uses the inventory item's `requires_shipping` property to determine if the item requires shipping.
59
71
2. If the product variant doesn't have an inventory item, the Medusa application checks whether the product has an associated shipping profile to determine if the item requires shipping.
60
72
73
+

74
+
75
+
### Shipping Requirements vs Shipping Options
76
+
77
+
The shipping options that you retrieve during checkout depend on the cart's shipping address. So, whether the items in the cart require shipping doesn't affect what shipping options are available at checkout.
78
+
79
+
This is a common misconception, where you expect to not receive any shipping options at checkout if the cart doesn't have any items that require shipping. However, the Medusa application always returns shipping options based on the cart's shipping address.
80
+
81
+
If you want to show the shipping options only if the cart has items that require shipping, you can either:
82
+
83
+
- Create a custom [API route](!docs!/learn/fundamentals/api-routes) that checks whether the cart has items that require shipping.
84
+
- Perform this check in your storefront's frontend code, such as in the checkout page, and show or hide the shipping options accordingly.
0 commit comments