Pricing Module

Solve complex pricing needs

An open-ended and configurable pricing engine with conditional pricing options for promotions, customer-specific prices, and more.

Inventory Module UI
Overview

Pricing logic for your case

Combine our conditional pricing options and set up Price Lists for specific customers, products, channels, time periods, and much more.

Black Friday and campaigns

Create time-bound campaign prices for certain products, special customers, select regions, or channels.

altText of the image

B2B and VIP discounts

Not all customers are the same. Offer special pricing or free shipping for select customer groups using price overrides.

altText of the image

Region-based pricing

Build multi-regional stores and use Price Lists to differentiate prices across regions and currencies.

altText of the image

Set custom logic with Price Lists

Easily create Price Lists with discounts or price overrides based on conditions such as

Time periods

Select start and expiry dates for when a price list should be applied.

Customer groups

Define customer groups that get special prices or discounts.

Sales channels (coming soon)

Differentiate prices across different sales channels

Regions and currencies

Adjust prices based on customers’ regions or currencies.

Product types

Base pricing conditions on product categories, tags, and types.

Quantities

Set price configurations based on min. and max. quantities in a cart.

Serverless Module

Optimized for serverless environments

The Pricing Module ships as a standalone npm package and runs anywhere Node runs. Easily deployable to serverless environments like Vercel Functions.

~/Desktop/medusa
GET
import { initialize } from "@medusajs/pricing"
// Initialize Pricing Module
const pricingModuleService = await initialize()
// List price sets
const priceSets = await pricingModuleService.list()
// List currencies
const currencies = await pricingModuleService.listCurrencies()
// Get price set by ID
const priceSet = await pricingModuleService.retrieve(id)

Query pricing data in any application

The Pricing Module ships as an npm package that you can install into any Node application. Initializing the module gives you instant access to your pricing data right where you need it.

Create personalized customer experiences

Gather customer context, such as region or customer group, to query the right price via a serverless function.

Deploy modules to serverless environments

Deploy to serverless environments like Vercel Functions and give dynamic scaling that meets demands during peak traffic and scales down to save costs when things cool off.

Want to see for yourself? Read the Docs

Scalable

Manage pricing at scale

Control pricing across product catalogs, integrate with other modules, or use your own custom setup.

Like a spreadsheet

Drag-to-fill, copy/paste, and delete prices for thousands of product variants simultaneously. Easily manage multiple price lists with an intuitive spreadsheet-like user interface.

altText of the image

CSV imports & export

Export price and product lists from Medusa to separate CSV files and import them back to update pricing.

altText of the image

Connect or replace our modules

Integrate seamlessly with Medusa modules such as the Product Module. Or replace the Pricing Module entirely with your own setup, PIM solution, or 3rd party system.

altText of the image
Next.js Starter Template

Use in your Next.js project

The Product module works with Medusa’s Next.js Starter Template. The template allows you to build a custom Next.js storefront connected to Medusa’s backend modules

altText of the image
Featured user stories

Learn how companies combine and

orchestrate our commerce modules

Enterprise
Omnichannel
makro-pro

makro.pro

makro-pro

makro.pro

Enterprise
Omnichannel
makro-pro-medusa
PoS
Global Commerce
altText of the image

teklafabrics

altText of the image

teklafabrics

PoS
Global Commerce
altText of the image
DTC
Marketplace
altText of the image

foraged

altText of the image

foraged

DTC
Marketplace
altText of the image
B2B
Advanced products
altText of the image

visionary

altText of the image

visionary

B2B
Advanced products
altText of the image

Omnichannel Order Orchestration of +5,000 daily orders

Makro PRO uses Medusa to orchestrate over 180,000 orders and more than $300M in GMV yearly.

Read story

70% conversion increase, +50 markets and a POS for retail

Tekla uses Medusa to power its omnichannel operations and managed to scale globally at record speeds.

Read story

Building a custom marketplace experience

Foraged allows over 1,000 local sellers to market wild and specialty foods to home cooks and Michelin-starred restaurants.

Read story

Frictionless B2B customer experience

Visionary Technologies built a digital customer journey and automated their commerce operations for B2B customers.

Read story
Features

Support advanced Pricing rules

Comprehensive pricing features to support advanced pricing logic.

Core Pricing Features

Accessible through APIs and Admin UI.

  • Give fixed or percentage discounts

  • Create price lists with own logic

  • Set Price List conditions for timing, customers, channels, currencies, products, quantities, and more

  • Admin UI to set and control Price Lists

  • CSV import and export

  • Bulk price editor

Customize Everything

Control all the pricing details.

  • Define own rules using price strategies

  • Control how discounts shows in storefront

  • Chose how to handle tax with discounts

  • Easily set up custom price overrides

  • Replace with your own module or PIM

  • Create custom product page widgets

  • Configure own pricing workflows

Serverless Module

Ships as a standalone npm package.

  • Serverless deployment

  • Works with all Medusa modules

  • Fully open-source

  • Included in Next.js starter

  • Connect with third party systems

Ready to get started? Read the Docs

Get Started

Build your business with Medusa to sell online, offline, and everywhere in between. Copy the command to setup Medusa in 3 mins.

Copy to clipboard
New

$ npx create-medusa-app

altText of the image