- Get Started
- Product
- Resources
- Tools & SDKs
- Framework
- Reference
- Get Started
- Product
- Resources
- Tools & SDKs
- Framework
- Reference
Links between Stock Location Module and Other Modules
This document showcases the module links defined between the Stock Location Module and other commerce modules.
Summary#
The Stock Location Module has the following links to other modules:
FulfillmentSet
data model of the Fulfillment Module <>StockLocation
data model.FulfillmentProvider
data model of the Fulfillment Module <>StockLocation
data model.StockLocation
data model <>Inventory
data model of the Inventory Module.SalesChannel
data model of the Sales Channel Module <>StockLocation
data model.
Fulfillment Module#
A fulfillment set can be conditioned to a specific stock location.
Medusa defines a link between the FulfillmentSet
and StockLocation
data models.
Medusa also defines a link between the FulfillmentProvider
and StockLocation
data models to indicate the providers that can be used in a location.
Retrieve with Query#
To retrieve the fulfillment sets of a stock location with Query, pass fulfillment_sets.*
in fields
:
fulfillment_providers.*
in fields
.1const { data: stockLocations } = await query.graph({2 entity: "stock_location",3 fields: [4 "fulfillment_sets.*",5 ],6})7 8// stockLocations.fulfillment_sets
Manage with Link#
To manage the stock location of a fulfillment set, use Link:
1import { Modules } from "@medusajs/framework/utils"2 3// ...4 5await link.create({6 [Modules.STOCK_LOCATION]: {7 stock_location_id: "sloc_123",8 },9 [Modules.FULFILLMENT]: {10 fulfillment_set_id: "fset_123",11 },12})
Inventory Module#
Medusa defines a read-only link between the StockLocation
data model and the Inventory Module's InventoryLevel
data model. This means you can retrieve the details of a stock location's inventory levels, but you don't manage the links in a pivot table in the database. The stock location of an inventory level is determined by the location_id
property of the InventoryLevel
data model.
Retrieve with Query#
To retrieve the inventory levels of a stock location with Query, pass inventory_levels.*
in fields
:
1const { data: stockLocations } = await query.graph({2 entity: "stock_location",3 fields: [4 "inventory_levels.*",5 ],6})7 8// stockLocations.inventory_levels
Sales Channel Module#
A stock location is associated with a sales channel. This scopes inventory quantities in a stock location by the associated sales channel.
Medusa defines a link between the SalesChannel
and StockLocation
data models.
Retrieve with Query#
To retrieve the sales channels of a stock location with Query, pass sales_channels.*
in fields
:
1const { data: stockLocations } = await query.graph({2 entity: "stock_location",3 fields: [4 "sales_channels.*",5 ],6})7 8// stockLocations.sales_channels
Manage with Link#
To manage the stock locations of a sales channel, use Link:
1import { Modules } from "@medusajs/framework/utils"2 3// ...4 5await link.create({6 [Modules.SALES_CHANNEL]: {7 sales_channel_id: "sc_123",8 },9 [Modules.STOCK_LOCATION]: {10 sales_channel_id: "sloc_123",11 },12})