How to Sell Courses to Companies With LearnDash Groups
How to sell course seats to companies with LearnDash: what groups and group leaders do in core, how seat purchases and bulk enrollment work with WooCommerce, and where custom work begins.

Selling a course to one person is a checkout. Selling forty seats to a company is a small account: one person pays, another assigns the seats, staff join and leave during the year, and a manager wants to know who has finished. LearnDash groups are the feature all of that is built on.
The core plugin gives you the group, the group leader and the reports. Buying a number of seats and managing them from the front of the site comes from add-ons. Below is how the parts fit, the order to set them up in, and the point where configuration stops and custom development starts.
What a company buyer expects
Before touching settings, write down what your business customers will ask for. On the training sites we build, the list is nearly always the same:
- buy a number of seats in one order, and get a proper invoice;
- let someone at the company add and remove their own people, without calling you;
- buy more seats later and have them land in the same group;
- see progress and results for their staff, and nobody else's;
- have access end when the agreement ends.
Keep this list. You will test the finished setup against it.
What LearnDash groups do in core
A group ties three things together: users, leaders and courses. Add a user to a group and they are enrolled in every course attached to it. Take them out and the access they had through the group goes with it.
A Group Leader is a WordPress user role. After logging in, a leader finds LearnDash LMS > Group Administration in the dashboard. From there they can list the users in their groups, email the whole group, approve assignments and essays, and export two CSV reports: course progress and quiz results. How far leaders can go is set in the global group settings, where "Manage Groups", "Manage Courses" and "Manage Users" each have a basic level, limited to the leader's own groups, and an advanced level that reaches across the site. For customers' managers, basic is the right choice.
Each group also has access settings. The mode can be Free, Buy Now, Recurring or Closed. Closed is the one used when access is sold through WooCommerce or assigned by hand. A group can have a start date, an end date that closes access for everyone in it, and a student limit. With group hierarchy switched on, groups can be nested, so a company can be the parent and its departments the children. The LearnDash groups documentation covers each setting.
What core does not do is the commercial part. Buy Now on a group means one person pays to join it. Nothing in core sells "25 seats" to a buyer, makes that buyer the leader, and counts seats down as people are added. And Group Administration lives in the WordPress dashboard, which is not where you want a customer's HR manager.
Selling seats with WooCommerce and the group add-ons
LearnDash publishes two add-ons for this, and they model the customer differently.
Group Registration works with WooCommerce and the LearnDash WooCommerce integration. A group product is a simple, virtual WooCommerce product with related courses attached and group registration enabled. The quantity in the order is the number of seats. When the order goes through, a group is created and the buyer becomes its Group Leader. The add-on creates a Group Dashboard page on the front end, where the leader can:
- see how many registrations are left;
- enroll one person by name and email, or upload a CSV with first name, last name and email columns;
- hand out a group code so staff can enroll themselves;
- remove or reinvite people, and view a progress report by course.
It also supports sub-groups one level deep, an unlimited members option for site licenses, and bulk discounts by quantity. The Group Registration documentation lists the settings.
Groups Plus starts from an organization instead of a single group. The customer owns an organization, each course in it becomes a team, and team leaders manage members from a front-end dashboard. It suits customers with several departments and several people sharing the admin work.
Third-party plugins cover the same ground. Whichever you look at, test it against the buyer's list above and not against its feature page.
Set it up in this order
- Define a seat. Decide whether a seat is one person in one course or one person in a bundle, and whether a seat can be given to someone else after the first person has started. This is a business rule, and the software cannot decide it for you.
- Set leader permissions. In the global group settings, give Group Leaders the basic level for groups and users, so they only ever see their own people.
- Create the group product. Simple product, virtual, courses attached, group registration enabled. Leave "Sold individually" off, or nobody can order more than one seat.
- Plan for invoices. Companies often pay by bank transfer against a purchase order. Enable an offline payment method in WooCommerce, and decide who marks those orders as paid, because no group exists while an order is still waiting for payment.
- Place the dashboard. Add the Group Dashboard page to the account menu and rewrite the emails the add-on sends, so invitations come in your voice and name the customer's company.
- Test as a customer. With a fresh account, buy three seats. Enroll two people by form and one by CSV, remove one, buy two more seats, and check the seat count, the emails and the report after every step.
Reporting for the customer's manager
Out of the box a leader has the two CSV exports in Group Administration and the report tab on the front-end dashboard. LearnDash's ProPanel add-on adds a reporting dashboard with more filtering. That covers "who has finished".
The questions managers send next are different: who has not started, who is past the deadline we agreed, can I get this by email every Monday, can I download everyone's certificates at once. Deadlines per group, reminder emails and scheduled reports are not part of core groups. Plan for a notifications add-on or a small custom plugin, and agree the report columns with one or two real customers before you build anything.
Where configuration ends and custom work begins
The add-on route covers a standard seat sale well. These requests usually go past it:
- Annual licenses that renew. Pairing a group product with WooCommerce Subscriptions works, but what happens to learners' access and records when a renewal fails needs rules of your own.
- Seat rules. "A seat cannot be reused once the learner passes lesson two" is logic nobody ships.
- Quotes and purchase orders. Custom prices per customer, PO numbers on invoices and tax IDs need extra WooCommerce work.
- Single sign-on. Larger customers expect staff to log in with their company account.
- Data going out. Sending completions to the customer's HR system means an API integration. LearnDash fires actions such as
ld_added_group_accessandlearndash_course_completedthat a plugin can listen to. - A branded area per customer. Their logo, their course list, their welcome text.
None of this is exotic. It is ordinary LearnDash plugin development, better written as a small plugin of your own than as edits to an add-on that its next update will overwrite. Our article on building a client training portal looks at the larger version of this, where each customer gets its own space.
Choosing between add-ons and a custom build
If your customers buy a known number of seats, pay by card or invoice and want one manager to see progress, the official add-ons with careful setup will do, and you can configure them yourself. If more than two items from the list above are firm requirements, scope the custom part before launch. Retrofitting seat rules and renewals onto live groups with paying customers in them is slower and riskier than building them first.
We set up and extend LearnDash for training providers, from a first group product to multi-company portals. A short description of how your customers buy and who manages their learners is enough for us to say which route fits.
Frequently asked questions
Do I need WooCommerce to sell LearnDash groups?
Not for a simple case. A group can be sold with LearnDash's own Buy Now or Recurring access modes, where each person pays to join. To sell a number of seats to one buyer who then assigns them, you need WooCommerce and a group add-on.
Can a group leader add users without WordPress admin access?
Yes. Group Leader is its own role with limited capabilities. In core, a leader who has been given the Manage Groups permission adds and removes users from the WordPress dashboard. With Group Registration or Groups Plus they do it on a front-end dashboard and never see the WordPress admin.
What happens to a seat when an employee leaves?
The leader removes that user from the group, which ends the access they had through it. Their progress records stay on their account. Whether the seat becomes free at once or needs your approval is a setting in the add-on, so decide your policy before you sell the first seat.
Can I sell a site license with unlimited seats?
Yes. Group Registration has an unlimited members option on the product. Without the add-on, you can create a Closed group with no student limit, make the customer's manager its leader and add users by hand or by import.
Add worldwincoder.com as a preferred source on Google, or open this article in your AI assistant to use it as a source.
