@reorderjs/reorder
v1.1.0
Published
Open Source Subscription Medusa Plugin.
Maintainers
Readme
Why Reorder?
- Native Medusa plugin — built entirely on Medusa modules, workflows, and Admin UI extensions. No second source of truth, no external subscription platform to sync with.
- Open-source, MIT licensed — no revenue cut, no per-transaction fees, no vendor lock-in.
- AI-native — every domain is mapped in
AGENTS.md, documented with specs, and covered by HTTP integration tests. Designed for agentic development from day one. - Officially featured by Medusa — recognized by the Medusa team as the reference example of how a Medusa plugin should be built.
- Production-ready — Roastloop launched coffee subscriptions in 7 days using Reorder. See the full story →
What is Reorder?
Reorder is an open source Medusa subscription plugin.
It adds recurring commerce capabilities to a Medusa store, including subscriptions, plans and offers, renewals, dunning, cancellation and retention flows, activity logs, and analytics.
Reorder is built as a Medusa plugin with Medusa modules, workflow-backed mutations, Admin API routes, scheduled jobs, and Admin UI extensions.
What it includes
- Subscriptions — Create, pause, resume, skip, and cancel subscriptions, with full lifecycle state tracked in the Admin.
- Plans & Offers — Configure frequencies, per-frequency discounts, trials, and minimum cycle rules per plan.
- Renewals — Scheduler-backed renewal execution with manual override, approval queues, and full attempt history.
- Dunning — Payment retry scheduling with configurable intervals and manual recovery tooling.
- Cancellation & Retention — Pause offers, discounts, and bonuses shown to subscribers before cancellation is final.
- Activity Log — A complete operational history of every subscription event, accessible in the Admin.
- Analytics — MRR, churn rate, LTV, and active subscription counts with filterable trend charts.
- Self-service Store APIs — Subscription checkout, offer selection, and customer portal endpoints for your storefront.
- Storefront building blocks — Cart, checkout, and customer portal integration guides for your own frontend.
AI-native
Every domain in Reorder is mapped in AGENTS.md — linking architecture, API contracts, workflow docs, and integration tests so an AI agent reads documented behavior before touching implementation files.
Medusa Cloud compatible
Reorder is compatible with Medusa Cloud. No self-hosting required — deploy your Medusa project to Medusa Cloud and install the plugin as you would locally.
Current scope
Reorder currently focuses on recurring commerce operations managed from the Medusa Admin.
Today, the plugin provides strong Admin coverage across the implemented domains. Customer self-service flows will be introduced in the near future as a Reorder Subscription Starter.
Installation
Reorder is meant to be installed into an existing Medusa project.
1. Install the plugin
With npm:
npm install @reorderjs/reorderWith yarn:
yarn add @reorderjs/reorder2. Add the plugin to medusa-config.ts
plugins: [
// other plugins
{
resolve: "@reorderjs/reorder",
options: {},
},
]3. Run Migrations
With npm:
npx medusa db:migrateWith yarn:
yarn medusa db:migrate4. Start your Medusa app
After adding the plugin, run your normal Medusa setup flow in your store project.
Local development
If you want to work on the plugin itself locally:
1. Clone the repository
git clone https://github.com/reorder-js/reorder.git
cd reorder2. Install dependencies
yarn install3. Publish the local plugin
yarn medusa plugin:publish4. Add the plugin in your Medusa store
yarn medusa plugin:add reorder5. Add the plugin configuration to medusa-config.ts
plugins: [
// other plugins
{
resolve: "reorder",
options: {},
},
]6. Install store dependencies
yarn install7. Start your Medusa store
yarn dev
Requirements
- Minimum: Medusa
2.3+ - Recommended: compatible with
@medusajs/medusa >= 2.4.0
Architecture
Reorder is organized around Medusa-native building blocks:
- domain modules for subscription data and operational records
- workflows for business mutations and orchestration
- Admin API routes for plugin operations
- Admin UI extensions for management flows
- scheduled jobs for renewals, dunning, and analytics processing
Community & Support
- GitHub Issues — bug reports and feature requests: github.com/reorder-js/reorder/issues
- GitHub Discussions — questions, ideas, and general help: github.com/reorder-js/reorder/discussions
- Contact — reach the author directly at reorderjs.com/get-started
Documentation
Project documentation lives in docs/.
Useful starting points:
docs/README.mddocs/architecture/docs/api/docs/admin/docs/testing/docs/roadmap/implementation-plan.md
Contributing
Issues and pull requests are welcome.
Before changing behavior:
- read the runtime docs in
docs/ - keep implementation aligned with documented behavior
- follow Medusa best practices for modules, workflows, routes, and Admin UI extensions
