Overview
The Sales Channel Module manages different sales channels for your commerce operations. Sales channels allow you to organize products, orders, and inventory across different storefronts, marketplaces, or distribution channels. Key Features:- Multiple sales channel support
- Channel-specific product availability
- Channel-based order tracking
- Inventory management per channel
- Channel metadata and customization
When to Use
Use the Sales Channel Module when you need to:- Manage multiple storefronts (web, mobile app, etc.)
- Sell on different marketplaces
- Separate B2B and B2C channels
- Track sales by channel
- Control product availability per channel
- Support multi-brand commerce
- Implement channel-specific pricing or promotions
Data Models
SalesChannel
Represents a sales channel or storefront.Unique sales channel identifier
Sales channel name
Sales channel description
Whether the channel is disabled (default: false)
Additional custom data
Service Interface
The Sales Channel Module service is available at@medusajs/medusa/sales-channel.
Create Sales Channel
Create a new sales channel.The created sales channel(s)
Retrieve Sales Channel
Get a sales channel.The ID of the sales channel to retrieve
Configuration for the query
The retrieved sales channel
List Sales Channels
List all sales channels.Array of sales channels
Update Sales Channel
Modify a sales channel.ID of the sales channel to update
Delete Sales Channel
Remove a sales channel.Integration Examples
With Product Module
Associate products with sales channels.With Cart Module
Create carts for specific channels.With Order Module
Track orders by sales channel.With Inventory Module
Channel-specific inventory availability.Common Use Cases
Multi-Storefront
Marketplace Integration
B2B vs B2C
Multi-Brand
Best Practices
- Channel Naming: Use clear, descriptive names that identify the channel’s purpose (“Website”, “Mobile App”, “Amazon”, etc.).
-
Metadata Usage: Store channel-specific configuration in metadata:
- API credentials for marketplace integrations
- Channel type (b2b, b2c, marketplace)
- Brand identifiers
- Custom settings
- Default Channel: Create a default sales channel for your primary storefront during initial setup.
-
Disabled Channels: Use
is_disabledinstead of deleting channels to maintain historical data and reporting. - Product Availability: Control which products appear in each channel using product-sales channel links (managed via workflows).
-
Analytics: Track performance by channel by filtering orders, carts, and sales data by
sales_channel_id. -
Channel Context: Always include
sales_channel_idwhen:- Creating carts
- Creating orders
- Checking product availability
- Calculating prices
Related Modules
- Product Module - Control product availability per channel
- Cart Module - Create channel-specific carts
- Order Module - Track orders by channel
- Inventory Module - Channel inventory management