ModernCommerce
Complete storefront and commerce operations run inside the Moodle installation and use Moodle courses, users, roles, cron, and privacy APIs.
Best fit: organizations already committed to Moodle.Platform comparison
It is the only option in this comparison that combines a complete course storefront and commerce operation with Moodle remaining the learning system of record—without WordPress, a synchronization bridge, or hosted-platform migration.
Research reviewed 31 July 2026 · Official product and documentation sources
Four ways to sell a Moodle course
A concise decision view for Moodle teams. The detailed product-by-product evidence follows below.
| Decision factor | Moodle payment enrolment | WordPress + WooCommerce bridge | Hosted SaaS LMS | ModernCommerce |
|---|---|---|---|---|
| Runs entirely inside Moodle | Yes | No | No | Yes |
| Moodle remains the learning system | Yes | Yes | No—migration required | Yes |
| Additional application to operate | None | WordPress | None if Moodle is replaced | None |
| Cross-system synchronization | None | Required | Only if Moodle is retained | None |
| Branded storefront and catalogue | No full storefront | Included through WordPress | Included | Included |
| Cart, coupons and multi-item checkout | No | Included through WooCommerce | Plan-dependent | Included |
| Bundles, programs and access-key pools | No | Stack-dependent | Plan-dependent | Included |
| Subscriptions and recurring access | No | Paid extension or additional configuration | Higher plan | Included |
| Invoices, refunds and access audit | Limited | Distributed across the stack | Plan- and vendor-dependent | Included |
| Abandoned-cart recovery | No | Extension or external service | Plan-dependent | Included |
| Software and platform cost | $0 with Moodle | Hosting, connector and extension licences | Recurring subscription | $0 GPL core |
| Platform revenue or enrolment fee | None | None normally | Plan-dependent | None |
Payment-provider processing fees apply across all routes. WordPress and hosted SaaS capabilities vary by the exact connector, extension set, and service plan selected.
Complete storefront and commerce operations run inside the Moodle installation and use Moodle courses, users, roles, cron, and privacy APIs.
Best fit: organizations already committed to Moodle.A lightweight way to charge for access to an individual Moodle course. It is an enrolment method, not a complete ecommerce storefront.
Best fit: simple pay-to-enter courses.A broad, open-source ecommerce platform for WordPress. It needs an LMS and an integration layer when the learning system is Moodle.
Best fit: WordPress-led commerce teams.Learning and commerce both run in WordPress. The official integration links WooCommerce products to LearnDash courses or groups.
Best fit: organizations choosing WordPress as the LMS.WordPress owns the storefront while Moodle delivers learning. Course, user, purchase, and access data cross an integration boundary.
Best fit: Moodle sites that require a WordPress storefront.A subscription SaaS combining hosted course delivery, website building, checkout, marketing, and platform operations.
Best fit: teams that prefer a managed hosted platform.Why ModernCommerce
The advantage is not simply avoiding WordPress. ModernCommerce connects merchandising, payment evidence, access rights, learner identity, finance operations, and support history inside Moodle.
The product sold, buyer identity, Moodle enrolment, entitlement, invoice, refund, and subscription state can be investigated without reconciling separate applications.
Operate a catalogue, cart, promotions, bundles, subscriptions, invoices, recovery automations, reporting, and learner accounts—not only a payment button.
Serve individual buyers, prepaid cohorts, resellers, corporate seat pools, manual-invoice customers, and recurring memberships from one commerce model.
Separate ledgers for orders, payment attempts, gateway events, webhooks, fulfilment, entitlements, refunds, and audit history make failures traceable.
Thirty-six capabilities and nine role presets separate storefront, product, finance, reporting, support, marketing, subscription, and payment responsibilities.
GPL licensing, Moodle conventions, 156 registered services, domain events, and gated add-on integrations support adaptation without a proprietary bridge.
Verified product inventory
Verified against the current plugin schema, services, scheduled tasks, permissions, admin routes, and product documentation.
Courses, bundles, programs, plans, categories, tags, attributes, objectives, outlines, prerequisites, related products, sale and tier pricing, inventory and reservations.
Twenty-two widget types, reusable presets, sliders and galleries, page zones, editable public pages, design tokens, policies, support, newsletter, and responsive catalogue.
Persistent carts, multi-item checkout, billing profiles, address snapshots, coupons, tax and fee adjustments, inventory reservation, and order validation.
Stripe, PayPal, Paystack, and Flutterwave; test/live configuration, signed callbacks, webhook intake, attempt records, lifecycle events, retries, and redacted diagnostics.
Automatic Moodle enrolment, item-level fulfilment, commercial ownership records, append-only entitlement events, access validation, and revocation workflows.
Plans, trials, recurring billing, feature matrices, course-access rules, pending plan changes, grace and expiry handling, access reconciliation, reminders, keys, and lifecycle history.
Course, bundle, and subscription keys; prepaid pools, seat use and remaining balances, bulk corporate access, manual invoices, and reusable customer billing profiles.
Order workflow, invoices and line items, discounts, taxes, fees, status history, item-level refund allocation, payment reconciliation, and immutable audit records.
Queued email and Moodle messages, Slack and Teams channels, templates, digests, delivery retries, stale-job recovery, operational alerts, marketing suppression, and unsubscribe handling.
Purchases, order details, invoices, active courses, grades, certificates, subscriptions, access status, profile editing, wishlists, key redemption, and verified reviews.
Revenue, conversion, product and gateway reporting; daily snapshots, configurable dashboards, abandoned-cart recovery, payment reminders, and notification health evidence.
Thirty-six Moodle capabilities, nine operational role presets, Moodle Privacy API support, 156 service endpoints, domain events, scheduled workflows, and safely gated add-ons.
Architecture chart
“Separate” means another application or paid extension is normally required.
| Platform | Learning system | Commerce system | Primary data location | Hosting model | Integration boundary |
|---|---|---|---|---|---|
| ModernCommerce | Moodle | Inside Moodle | Your Moodle database | Self-hosted | None |
| Moodle payment / PayPal | Moodle | Course enrolment payment | Your Moodle database | Self-hosted | None |
| WooCommerce | Separate LMS required | WordPress | WordPress database | Self-hosted / managed WP | Depends on LMS |
| LearnDash + WooCommerce | LearnDash on WordPress | WooCommerce | WordPress database | Self-hosted / managed WP | Same application |
| Edwiser + WooCommerce | Moodle | WordPress | Split across both systems | Two applications | Bridge and synchronization |
| LearnWorlds | LearnWorlds | LearnWorlds | Vendor-hosted cloud | Hosted SaaS | None within platform |
Capability chart
Capabilities marked “extension” or “higher plan” are not part of the base product path.
| Capability | ModernCommerce | Moodle payment | WooCommerce | LearnDash + Woo | Edwiser + Woo | LearnWorlds |
|---|---|---|---|---|---|---|
| Storefront and merchandising | ||||||
| Moodle-native storefront | Full public storefront | No storefront | No | No | WordPress storefront | No |
| Storefront composition | 22 Moodle widget types | Course enrolment page | WordPress blocks and themes | WordPress and LearnDash templates | WordPress and WooCommerce | Hosted site builder |
| Products and sale pricing | Included | Course fee only | Included | Via LearnDash or Woo | Via WooCommerce products | Included |
| Categories, tags and attributes | Commerce-specific model | No | Included | WordPress taxonomies / Woo | Synced courses + Woo | Included catalogue tools |
| Course bundles and programs | Native product types | No | Learning layer required | Products can map to multiple courses | Supported through integrated stack | Included |
| Inventory and seat reservation | Product stock + reservation ledger | No | Product inventory | Via Woo inventory / group tools | Via Woo / bulk purchase | Bulk licences on higher plans |
| Wishlists and verified reviews | Included for learners | No | Reviews; wishlist extension | Depends on WordPress stack | Depends on WordPress stack | Platform features vary |
| Checkout, payments and fulfilment | ||||||
| Multi-item cart | Included | No | Included | Via WooCommerce | Via WooCommerce | Included |
| Automatic course access | Direct Moodle fulfilment | Individual course | Needs LMS connector | Official product-course integration | Cross-system synchronization | Included in hosted LMS |
| Native gateway path | Stripe, PayPal, Paystack, Flutterwave | PayPal included; others plugins | Large extension ecosystem | Native gateways or Woo ecosystem | Woo ecosystem | Platform gateway integrations |
| Coupons and targeting | Products, bundles and target rules | No | Included | LearnDash Buy Now or Woo rules | WooCommerce rules | Included |
| Tax, fees and adjustments | Order-level adjustment ledger | Gateway surcharge only | Included tax engine | Via WooCommerce | Via WooCommerce | Platform and tax integrations |
| Webhook and payment-event evidence | Dedicated attempts, events and webhook ledgers | Gateway records | Logs vary by gateway | Split across LearnDash / Woo / gateway | Split across WordPress / Moodle | Vendor-operated |
| Entitlement lifecycle ledger | Ownership + append-only access events | Enrolment state | Not an LMS entitlement model | Course access state | Synchronized enrolment state | Vendor platform state |
| Subscriptions and organizational distribution | ||||||
| Recurring subscriptions | Included | No | Paid Subscriptions extension | Native recurring or Woo Subscriptions | Depends on Woo stack | Pro Trainer or above |
| Trials, grace and plan changes | Lifecycle workflows included | No | Woo Subscriptions extension | Varies by chosen payment path | Varies by Woo configuration | Plan-dependent subscription tools |
| Subscription-to-course access sync | Scheduled reconciliation | No | Needs LMS connector | Integration controls access expiry | Cross-system synchronization | Native hosted behavior |
| Corporate / bulk seats | Prepaid key pools and seat tracking | No | Not a learning feature | Premium group-registration tooling | Bulk Purchase feature | Learning Center or tailored plan |
| Self-redeem access keys | Course, bundle and subscription keys | Self-enrolment keys, not commerce pools | Needs learning extension | Group codes via additional tooling | Bulk/group registration workflow | Coupons / bulk licence workflows |
| Finance and lifecycle operations | ||||||
| Orders and status history | Included with operational state | Payment record only | Included | Via WooCommerce | Via WooCommerce | Included |
| Invoices and manual invoices | Included | No commerce invoice workflow | Typically extension | Depends on Woo stack | Depends on Woo stack | Invoices included; custom orders higher tier |
| Item-level refunds | Refund allocation and audit trail | Handled at gateway | Included refund workflow | Via WooCommerce; native LD refunds at gateway | Via WooCommerce | Platform refund workflow |
| Immutable commerce audit log | Included | Moodle logs, not commerce ledger | Activity/logging varies | Distributed across plugins | Distributed across two systems | Vendor-controlled logs |
| Abandoned-cart recovery | Scheduled workflow included | No | Extension / service | Extension / service | Extension / service | Automation capability varies by plan |
| Queued multichannel notifications | Email, Moodle, Slack, Teams, digest and suppression | Basic enrolment/payment messages | Core email + extensions | LearnDash / Woo email systems | Messages cross both systems | Hosted email and automations |
| Commerce analytics | Revenue, conversion, products and gateways | No storefront analytics | WooCommerce Analytics | Woo sales + LearnDash learning reports | Woo sales + Moodle learning reports | Sales analytics by plan |
| Learner experience, governance and control | ||||||
| Unified learner commerce account | Courses, orders, invoices, keys and subscriptions | Moodle course access only | Woo account; learning separate | WordPress account across stack | Accounts linked across systems | Hosted learner account |
| Certificates, grades and progress beside purchases | Included learner dashboard | Moodle handles learning separately | No LMS data | Available in LearnDash | Moodle data via integration | Included |
| Granular commerce roles | 36 capabilities + 9 role presets | Moodle enrolment capabilities | WordPress / Woo roles | WordPress roles + Group Leaders | Permissions across both systems | Custom roles on higher plans |
| Privacy tooling | Full Moodle Privacy API provider | Moodle privacy framework | WordPress privacy tools | WordPress-based | Responsibility split across systems | Vendor platform and DPA options |
| Extensibility | 156 services, events and gated add-ons | Moodle plugin APIs | Large hooks / extension ecosystem | WordPress, LearnDash and Woo APIs | Bridge + WordPress + Moodle APIs | API and webhooks on higher plans |
| Source availability | GPL-3.0-or-later | Moodle GPL | Open-source core | Mixed commercial stack | Mixed free and Pro stack | Proprietary SaaS |
Cost analysis
Published USD prices reviewed 31 July 2026. Tax, payment-processor fees, custom implementation, and existing Moodle operating costs are excluded.
ModernCommerce is GPL open-source software and runs in the Moodle environment you already operate. Hosting, configuration, upgrades, and optional professional support still carry real operating cost.
| Option | Published base price | Cost to match the selling requirement | Infrastructure | Practical annual software view |
|---|---|---|---|---|
| ModernCommerce | $0 software licence | Storefront, cart, subscriptions, invoices, B2B keys, recovery, reporting, and four gateways are in the open-source product. | Uses the existing Moodle application; incremental capacity depends on your installation. | $0 published recurring licence Implementation and support are optional/variable. |
| Moodle payment / PayPal | $0 with Moodle | No extra software for the simple PayPal path, but it does not match a full storefront, cart, subscriptions, B2B seats, or commerce operations. | Uses existing Moodle hosting. | $0 for the basic path Additional gateway plugins may be paid. |
| WooCommerce alone | $0 open-source core | Still needs a Moodle/LMS connector. Recurring billing through WooCommerce Subscriptions is $279/year; invoicing, recovery, learning access, and other extensions can add cost. | Requires a WordPress site, hosting, security, backups, and maintenance. | Cannot be totalled as a Moodle solution $279/year before the connector and other extensions. |
| LearnDash + WooCommerce | LearnDash LMS from $199/year for one site; WooCommerce core is $0. | LearnDash can sell natively. For a Woo-based recurring commerce stack, add WooCommerce Subscriptions at $279/year. Group management, reviews, reporting, invoices, and recovery depend on the chosen bundle/extensions. | Requires WordPress hosting and operations; it replaces Moodle as the LMS in this comparison. | Illustrative comparable stack: $778/year $499 Ultimate Course Creator bundle + $279 Woo Subscriptions; before hosting and other commerce extensions. |
| Edwiser Bridge + WooCommerce | Free core; Pro pricing varies by current plan/term. | WooCommerce Subscriptions is not included and adds $279/year when recurring billing is required. Edwiser's optional setup service is $199 one-time and excludes licences, gateways, and third-party setup. | Requires both Moodle and WordPress hosting, plus bridge and synchronization monitoring. | Current Pro plan + $279/year Plus two-system operations; quote the live plan before procurement. |
| LearnWorlds | Starter $288/year billed annually, plus $5 per enrolment. | Subscriptions require Pro Trainer at $948/year. Bulk seat offerings, API/webhooks, and advanced operational capabilities require Learning Center at $2,988/year or higher. | Hosting is included in the SaaS subscription; migration from Moodle and vendor dependency remain considerations. | $948–$2,988/year For subscription or organizational-selling scenarios. |
Volume effect
Each example is $288 annual plan cost plus the published enrolment fee. Payment processing is separate.
Three-year view
Edwiser is excluded because its live plan price is not reliably exposed as a fixed published figure. Woo Subscriptions alone is $837 over three one-year renewals.
Hosting and capacity · installation and configuration · data migration · theme and storefront work · payment-gateway onboarding · tax and invoice compliance · upgrades and security · backups and monitoring · synchronization incident response · staff training · support · processor fees. ModernCommerce removes recurring licence and second-platform costs; it does not make implementation or operations cost-free.
Decision guide
when you only need to collect a fee and grant access to an individual Moodle course.
when WordPress is your preferred operating environment and its commerce ecosystem is strategically important.
when a separate WordPress storefront is a firm requirement and your team accepts cross-system synchronization.
when you want the vendor to host the LMS and commerce platform and are comfortable with a recurring SaaS relationship.
when Moodle is your system of record and you want storefront, checkout, enrolment, subscriptions, finance operations, and learner access in that same governed environment.
Comparisons describe publicly documented product behavior, not every possible customization. “Included” means available in the named product or stated stack; it does not imply that payment-provider fees, hosting, configuration, or implementation work disappear.
The ModernCommerce baseline was verified directly against the current plugin's schema, payment classes, service registry, scheduled tasks, permissions, role presets, privacy provider, admin routes, and versioned documentation.