Corporate clients
Set up corporate clients in JoinCPR: add a company and its employees, schedule private classes, share private sign-up links, invite portal users and bill them.
Updated · JoinCPR help center
Corporate clients are companies you train regularly. Under Manage → Clients you keep their employee list, schedule private classes for them, register employees, and invite their staff to a self-service client portal. Admins and staff only. Companies can also ask you for training from your portal; those leads live under Training Requests and become clients in one click. See Group training requests.
The Clients list
Search by company, contact or email. Columns: Company, Contact, Email, Phone, Employees (active), Active Reg. (confirmed and pending), Status. Row menu: View, Edit, Deactivate/Activate, Delete.
Add Client asks for Company Name (required), Contact Name, Contact Email, Contact Phone, Address, City, State, ZIP, Internal Notes and an Active switch. No email is sent to the contact.
Deactivating or deleting a client signs its portal users out on their next request. Deletion cannot be undone from the app; registrations keep their history but lose the company badge.
The client page
Tabs: Employees, Classes, Training History, Portal Users, with stat tiles for Total Employees, Active Registrations, Completed Trainings and Portal Users.
Employees
- Add Employee: First Name and Last Name (required), Email, Phone, Department, Employee ID, Active.
- Import CSV: up to 500 rows with columns
first_name, last_name, email, phone, department, employee_id. Download the sample, upload, preview, then Import N Employees. Rows with a duplicate email (in the file or already on this client) or missing names are skipped and listed. - Export CSV: all employees including inactive ones.
- Last Trained is the date of the most recent class the employee attended that has already taken place. Upcoming classes and cancelled registrations do not count.
- Row menu: Edit, Register for Class, Invite as Portal User (when the employee has an email), Deactivate. Reactivate by editing and turning Active back on.
Note
Employees without an email address can still be registered. They get a hidden placeholder address and never receive any email (confirmation, reminders, certificates, receipts). Add a real email on their student record when you have one.
Register for Class
Choose one of this client's private, published, upcoming classes and click Register. The employee gets a student record (matched by email) and a Confirmed registration at the class price, marked Unpaid. A confirmation email is sent only when the employee has an email; it says "Payment due".
If no classes are listed, create one with Create Class for Client.
Classes
Lists the client's private classes (Upcoming, Past, All) with Draft / Published / Past badges. Create Class for Client opens the class form with the client pre-selected; see Creating a class. Remove Client Assignment makes a class public again.
Private classes never appear on your public schedule or embeds, and only this client's employees can be added from the roster.
Private registration links
You do not have to type employees in yourself. A published private class has a direct registration link that is not listed anywhere public:
- Publish the private class.
- On the Classes list, choose Copy Registration Link or QR Code for it.
- Send the link to the company's contact to forward to their staff.
Employees who open the link enter their own details, answer your questions, accept your waivers, and pay by card (or Register (Pay Later) if you have no processor connected). Each one is added to the class roster and attached to the client: JoinCPR matches them to an existing employee by email, or creates the employee record from what they typed. They then show up in the client's Employees tab, Training History, and the client portal's dashboard and reports, exactly like employees you registered yourself.
Note
Matching is by email address only. An employee you added without an email will not be matched to their own link registration, so you may see two records for that person. Add emails to your employee list when you can, or tidy duplicates from the Employees tab.
Tip
Link registrations collect payment at checkout, while client-portal and staff registrations are unpaid until you mark them paid. If the company should be invoiced rather than employees paying per seat, have the client admin register through the client portal instead of sharing the link.
Training History
Every registration linked to this client, filterable by employee, course and status, with Export CSV (Employee, Course, Class Date, Status, Registered At).
Portal Users
People at the client who can log in to the client portal.
- Invite Portal User: Name, Email and Role: Admin (can register employees) or Viewer (read-only). The invitation email ("You have been invited to access the {Company} training portal") contains a link valid for 7 days. The template is editable under Email templates.
- Statuses: Invited, Expired, Active, Inactive.
- Row menu: Edit (name, email, role, Active), Resend Invite (new link, new 7 days), Deactivate.
An email can be a portal user only once per business. Inviting an address that already exists as a portal user fails.
How client bookings are paid
There is no invoicing inside JoinCPR. Client registrations are created Confirmed and Unpaid. Bill the company however you normally do, then open the class roster and click Mark as Paid (Cash) on each seat; that issues a receipt to the employee (if they have an email). You can also charge a card per employee using Add Student → Add Employee on the roster.
Who counts as a corporate registration
A registration is linked to a client when it is created from the client portal, from the client page's Register for Class, from the roster of a private class, or by an employee using the private class's registration link. Checkout on a public class never links to a client. Linked rows show a building badge with the company name on rosters, and the student profile shows a Corporate Client badge.
Related
- The client portal: what your clients see.
- Group registrations: these are different from client bookings.