The open-source commerce framework, free forever
One coherent commerce backend in a public repository, built on TypeScript, NestJS and GraphQL. The Framework is released under GPLv3, and everything in it stays free: catalogue, orders, customers, payments, the dashboard, the APIs and the plugin model. The paid plans add capabilities on top. They take nothing out.
Already running the Framework and hitting a limit? Starter, Growth and Scale add company accounts, quotes, contract pricing and approvals on a flat monthly price. The Framework keeps working exactly as it does today.
What free forever means in practice
GPLv3 cannot be revoked
A licence already granted cannot be withdrawn. The Framework you run today stays free to use, fork and self-host whatever we do next.
The paid plans are additions
Nothing has been moved out of the Framework and behind a plan. The paid capabilities are new work built on top of it, not the good parts of a trial edition.
Your plugins stay yours
A plugin exception sits on top of GPLv3, so your own plugins and custom code are yours to license as you choose.
Built in public, on a cadence
Patch releases monthly, minors quarterly, with the issues, pull requests and roadmap public. You can watch a feature arrive and argue about it before it does.
What you get in the Framework, and keep
The whole framework, not a starter tier. A team can run a real commerce business on the Framework alone and never pay us anything.
The commerce fundamentals
Products, variants, stock, orders, customers, payments, shipping, promotions and tax, already built and wired together.
The admin dashboard
The full back-office application for catalogue, orders, customers and settings, extensible with your own routes, panels and actions.
A headless GraphQL API
Admin and Shop APIs, both introspectable, extensible and type-safe. No metered calls, no rate card, no gateway in front of them.
Multi-channel, multi-region, multi-currency
Channels, currencies, languages, tax zones and shipping regions are core concepts, not paid add-ons. Run several storefronts, brands or markets off one backend through channels. Rules that limit which records each brand's or region's admins can see are part of Enterprise.
Documentation, releases and community
Comprehensive docs, monthly patches, quarterly minors, and community support on Discord and GitHub. Growth and Scale add direct support from our team; they don't switch the free channels off.
Not a toy, not a black box, not a blank framework
Closed SaaS gives you a sandboxed scripting hook and a webhook contract, then stops. A DIY composable stack hands you primitives to assemble and a glue layer you maintain forever.
Vendure sits in between. The commerce fundamentals are already built and wired together, and the extension points are first-class: same backend as the Framework, same access to its services and data.
One coherent backend, not seven services to keep in sync
Catalogue, pricing, orders, customers, channels, the admin API, and the extension model all live in one NestJS application. You don't assemble Vendure Framework from packages. You clone it, run it, and start extending where your business logic lives.
One repo, one data model, one set of APIs, already shaped like commerce.
The stack is Node.js, TypeScript end to end, NestJS, GraphQL for the storefront and admin APIs, and a SQL database your operations team already runs. Engineers who've never touched Vendure recognise the shape on day one, and hiring against this stack is hiring on the open market, not a niche skill set behind a paywall.
What you change, and how
Five primitives cover most of what a real commerce business needs to model and customise. Each is plain TypeScript, typed end to end, and lives next to the Framework rather than inside a fork you have to rebase.
Plugins as NestJS modules
A Vendure plugin is a TypeScript class with a decorator on a regular NestJS module. Services, resolvers, entities, event handlers, and scheduled tasks, all in one unit your engineers already know how to write.
Strategy patterns
Replace default behaviour without forking the Framework: order codes, tax calculators, shipping eligibility, stock allocation, asset storage, password hashing. Swap the default, keep the upgrade path.
Custom fields
First-class on every core entity. They propagate automatically into the GraphQL schema and the admin dashboard, with auto-rendered forms for each field type.
Custom entities
Model your own tables alongside Vendure's, sharing the same migration tooling and dependency injection your services use. New entity, new GraphQL types, no separate data layer to maintain.
Events, lifecycle, and jobs
Subscribe to typed commerce events, hook into the NestJS lifecycle, and schedule background work on Vendure's job queue, processed on a worker you scale independently.
Your extension is your API
Every extension builds on the same headless GraphQL API the Framework exposes: one introspectable schema, one codegen pipeline. Admin and Shop are both extensible, both type-safe, both consumed the same way as the rest of Vendure.
Add types, queries, mutations and resolvers from inside your own code, introspectable alongside the Framework's with full TypeScript types from codegen. No separate gateway, no REST proxy, no second API surface to keep in sync.
A single plugin can extend both APIs. Admin operations for back-office tooling and dashboard panels, Shop operations for storefronts and headless clients. Authentication, channel scoping, and permissions stay consistent across both surfaces.
Customisations live next to the Framework, not inside it
Your customisations are your code, in your repo. Vendure Framework is upgraded as a versioned dependency, the way your team upgrades anything else, and type-safety catches breaking changes at compile time rather than at runtime in production.
No permanent fork to rebase, no upgrade you skip because the cost is too high.
Day-to-day tooling
Predictable patterns, real type safety, and tools that behave like a modern backend stack.
Type safety, end to end
From entity to service to GraphQL to the admin UI. Autocomplete and refactors work as they do in the rest of your services.
A CLI that scaffolds the boring parts
vendure dev for local work, plus scaffolding for plugins and entities, codegen, and migration helpers. Real ergonomics, not a handful of npm scripts.
Testing tools that look like your stack
The @vendure/testing package boots a real test server against a throwaway database with seeded data, in the Vitest or Jest patterns your engineers already know.
Migrations that just run
Migrations generate, review and apply with the patterns your operations team already runs. No proprietary deployment dance, no platform-specific migration DSL.
Standard runtime, standard storage, standard ops
Vendure runs on the building blocks your platform team already operates. No proprietary runtime, no exotic dependencies, no sidecar services to keep alive.
A SQL database you already run
PostgreSQL, MySQL or MariaDB: your managed instance, your on-prem cluster, or whatever your standard is. No commerce-specific database, no proprietary storage layer.
Anywhere Node.js runs
A Node.js application on NestJS. Deploy on AWS, Azure, GCP, on-prem, Kubernetes, Docker or a single VM, including air-gapped environments. Standard Redis-compatible cache, standard S3-compatible object storage.
A scalable ecommerce platform
Stateless at the application layer, scaling behind any load balancer, with job processing on separate worker processes you scale independently. Munch runs more than 10,000 payment transactions a day at peak on Vendure.
Your release pipeline, your schedule
Pin to a version, run the migration in your own staging, and ship through the pipeline your team already uses. No forced upgrade windows.
Self-host as long as it serves you, move to Cloud with a paid plan
Self-hosting Vendure isn't a one-way door. The application you run inside your infrastructure is the same one Vendure operates on Vendure Cloud: same code, same data model, same APIs. Moving to Cloud is a runtime change, not a re-platform.
Self-hosting the Framework costs nothing, and it always will. Managed hosting comes with a paid plan: each one includes a base set of Vendure Cloud resources, and usage above that is billed on top. Cloud opens as a closed beta for paid plans, with general availability planned for Q1 2027. It is not available on the Framework.
Open source you can defend to security
Security's first reaction to open source is risk. The honest answer turns that around: when the code is inspectable, transparency is the control, not the gap.
Packages publish through OIDC trusted publishing, so there's no npm token sitting in CI for an attacker to exfiltrate.
Releases are staged and require human approval with 2FA before anything goes public. No silent, automated push to the registry.
Every release ships signed provenance. Run npm audit signatures to confirm what you install came from our pipeline, unaltered.
Built in public, used in production
8,500+ stars
Developers and engineering teams evaluating, prototyping, and running Vendure.
270+ contributors
From one-line fixes to entire subsystems.
120K+ monthly downloads
@vendure/core pulled from npm every month by teams shipping commerce on Vendure.
GPLv3 licence
Free to use, fork, and self-host under GPLv3, with a plugin exception so your own code stays yours. A commercial licence comes with every paid plan for teams that need one.
What engineering leads say about the Framework
What convinced me about Vendure is its fundamentally well-architected codebase. It's clear, intuitive, and easy to extend, making it adaptable to virtually any use case.

Vendure is a breath of fresh air. Built with developers in mind, easy to extend, and well-documented. It embraces the need for customization and enabled me to deliver on time, within budget. The community support is fast and incredibly helpful.

The Framework is free because we don't sell it
We make no money from the Framework, which is exactly why we can commit to it staying free. The paid plans are the business, and they exist for the point where a business customer asks for something a consumer checkout has no concept of: one account for their whole company, a price that is theirs alone, an order that has to be signed off. Building that yourself on the Framework is entirely legitimate, and plenty of teams do.
Have you outgrown Vendure Framework?
The Framework is all you need when
- Your customers place standard orders and pay by card
- One login per customer is enough
- Published prices apply to everyone
- Community support on Discord and GitHub works for you
A paid plan starts to pay for itself when
- A customer wants one account for their whole business
- Buyers ask for a quote before they order
- Orders need approval, signing limits or an audit trail
- You need direct support from our team, or a commercial licence
Starter
For a first B2B store, or a team whose current plan cannot give a customer one account for their whole business.
€199/mo
Save 11%12-month term, excl. VAT
No card required
Capabilities
The Framework, plus 9 capabilities, including:
- Company accounts with tax ID validation
- Quotes, quick order and reorder
- Catalog search for your buyers
Support
Community support
Scale
For teams whose orders pass through procurement: signing limits, contract prices and an audit trail someone asks to see.
€2,499/mo
Save 10%12-month term, excl. VAT
First 30 days free
Capabilities
Everything in Growth, plus 9 more, including:
- Order approvals and an audit log
- Contract prices per customer
- A ready-made B2B storefront
Support
Priority support from the Vendure team
- Vendure Cloud beta invitation
- No fee on revenue, orders or users
- Commercial licence included
- Open-source foundation
Moving from the Framework to a plan is a plan change, not a rewrite
Plans are additive, not a different product. Your plugins, custom entities, strategies and integrations keep running, your database keeps its data, and your storefront keeps its queries. You turn on capabilities; you do not re-platform.
Hosting when you choose a plan
Vendure Cloud
Managed hosting, with Vendure running your project for you. Each paid plan includes a base set of Cloud resources, and usage above that is billed on top. General availability is planned for Q1 2027.
What engineering teams ask before they ship on the Framework
Yes. The Framework is published under GPLv3, and a granted licence cannot be withdrawn, so every version we release stays free to use, fork and self-host. The Framework is also the foundation the paid plans are built on, so keeping it healthy is not charity on our part. It is how our own product works.
Nothing is removed. The Framework keeps the catalogue, orders, customers, payments, promotions, channels, the dashboard, both GraphQL APIs and the plugin model, plus public releases and community support. The plans add capabilities on top, such as company accounts, quotes, contract pricing and approvals, along with direct support from our team from Growth up and a commercial licence for Vendure Framework for your project.
Yes. The Framework powers production commerce at IBM, Munch and Hans Kohler, among many others. The same code on GitHub is the code running those workloads; there is no separate production build you can't see.
GPLv3, with a plugin exception so your own plugins and custom code stay yours. Copyleft applies if you distribute a modified version of Vendure itself; running it internally to power your own commerce, which is what most teams do, carries no obligation. Every paid plan also includes a commercial licence for Vendure Framework for your project, as an alternative to GPLv3. To ship Vendure in software you distribute, talk to us. See licensing for the details.
Each plan includes everything in the plan below it. Pick the cheapest plan that has the features you need. Starter at €199 a month covers company accounts, quotes and repeat ordering. Growth at €599 adds account hierarchies for customers with branches and departments. Scale at €2,499 adds approvals, contract pricing, an audit log and the B2B storefront.
Start with the migration guides. Each one maps your current platform to Vendure step by step and is written with an official Vendure partner or a Friend of Vendure who has made the move.
You do, by default, on any infrastructure where Node.js and a supported SQL database run, and it costs nothing beyond your own infrastructure. If you want Vendure run for you, that's Vendure Cloud on a paid plan. Each paid plan includes a base set of Cloud resources, and usage above that is billed on top. Cloud opens as a closed beta for paid plans, with general availability planned for Q1 2027.
Clone the repo, ship the prototype
Run Vendure locally in minutes on the stack your engineers already want to work with, and pay nothing until a capability you don't have is worth more than building it yourself.


