Documentation
Everything you need to run your club on ClubDeck
This guide walks you through setting up your club, managing teams and events, and taking online payments with Stripe. If you get stuck, jump to Contact support at any time.
Introduction
ClubDeck is a sports club management platform built for coaches, club admins, players, and parents. With one account you can:
- Organize teams, seasons, and rosters
- Schedule training, matches, and one-off events
- Track player availability and build match-day lineups
- Generate balanced training teams in one click
- Send invoices and accept online payments through Stripe
- Keep the team in sync with chat and notifications
The app runs in any modern browser at app.clubdeck.jlehtimaki.fi and on iOS and Android as a native mobile app.
Sign up and sign in
Open app.clubdeck.jlehtimaki.fi and sign in with your email and password, or with Google. Authentication is handled by Firebase Authentication.
- Click Sign up on the login page.
- Enter your name, email, and a password — or click Continue with Google.
- Verify your email if prompted, then sign in.
If you were invited to an existing club, follow the invitation link in your email instead. You will land directly inside the club once you sign in.
Create your club
The first time you sign in, you will be asked to create a club (also called an organization). A club is the top-level container for everything in ClubDeck: teams, members, events, invoices, and settings.
- From the dashboard, click Create Club.
- Enter the club name and a short description.
- Add your first team. You can create more teams later under Club Settings → Teams.
- Open Settings → Seasons and add the current season so events and invoices can be grouped by it.
Choose a plan
ClubDeck has three plans: Free, Pro, and Club. You can compare them in detail on the pricing page. A short summary:
- Free — up to 15 members, 1 team, and 10 events per month. Great for trying things out.
- Pro — up to 50 members, 3 teams, unlimited events, billing & invoicing, and Stripe payments.
- Club — unlimited members and teams, reports, real-time chat, and guardian accounts.
You can upgrade or downgrade at any time from Club Settings → Subscription.
Roles and permissions
Every member of a club has a role. Roles control what people can see and change.
- Admin — full access to all settings, billing, members, and content.
- Coach — manages a specific team: roster, events, lineups, training, and chat.
- Player — sees their own teams, marks availability, views lineups, and pays invoices.
- Guardian — a parent or carer linked to one or more player accounts; can act on the player's behalf for availability, communication, and invoices.
A single person can have different roles in different teams — for example, a parent who is also coaching another team.
Invitations & join requests
There are two ways to grow a roster:
Invite by email
- Open Club Settings → Invitations.
- Click Invite member, enter the email, pick a role and team, then send.
- The recipient gets an email with a one-click join link.
Shareable join link
From the same screen you can copy a shareable join link for a team. Anyone with the link can request to join — an admin or coach must approve them, so it is safe to share in a group chat.
Guardian accounts
Guardian accounts let parents manage their child's involvement without giving the child their own login. A guardian can:
- Mark the linked player available or unavailable for events
- Receive notifications and chat on the player's behalf
- Pay invoices for the player
To link a guardian, open the player profile and use Add guardian. The guardian receives an invitation email and, once they accept, sees the player on their own dashboard.
Teams and seasons
Teams group players and events. Seasons group events and invoices over time.
- Create teams under Club Settings → Teams. Each team has a name, sport, and optional age category.
- Create seasons under Club Settings → Seasons. A season has a start and end date and can be marked active.
- When creating an event or invoice, you can pick which season it belongs to. This makes year-end reporting straightforward.
Players and roster
Open a team and switch to the Roster tab to manage players. For each player you can record:
- Name and contact details
- Position (forward, defender, goalie, etc.)
- Jersey number
- Skill rating (used by the training randomizer)
- Linked guardians
You can also archive a player at the end of a season to hide them from active lists while preserving their history.
Events and scheduling
Events can be trainings, matches, or generic team events. Create them from the team's Calendar tab.
- Click New event and pick the type.
- Set the date, time, location, and optional notes.
- For recurring training, set the recurrence (weekly, every two weeks, custom) and the end date.
- Save. The whole team is automatically invited and gets a notification.
You can edit or cancel any event later. Cancellations notify the team and update everyone's calendar feed.
Availability tracking
For every event, each player can mark themselves In, Out, or Maybe. Guardians can mark on a player's behalf.
Coaches see live counts and a per-player breakdown on the event page. The lineup builder respects availability when suggesting starters.
Lineup builder
Open any match event and click Build lineup. The lineup builder shows a visual hockey rink (other sports coming soon). You can:
- Drag players into positions on each line
- Add as many lines as your plan allows
- Save a default lineup from Settings → Lineups so future matches start pre-filled
- Share the finished lineup with the team via chat or the calendar entry
Training randomizer
For training sessions, the randomizer generates balanced teams in one click.
- Open a training event and click Randomize teams.
- Pick the number of teams.
- The randomizer balances by position and skill rating, and respects any pairing preferences you set (e.g. two siblings should always be on opposite teams).
- Lock players to a team if you want to keep certain pairings, then re-roll the rest.
Custom team colors are available on Pro and Club plans.
Team chat
Real-time chat (Club plan) lives in the Chat tab inside each team. Use it for announcements, last-minute changes, or general team chatter. Messages support text, links, and image attachments. Mentions notify the tagged member on web and mobile.
Calendar feed (iCal)
Every team has a personal iCal feed URL so events sync automatically into Google Calendar, Apple Calendar, Outlook, or anything else that speaks iCal.
- Open the team and click the Calendar tab.
- Click Subscribe and copy the iCal URL.
- Paste the URL into your calendar app's "Add by URL" / "Subscribe to calendar" option.
Mobile app
The ClubDeck mobile app is available for iOS and Android. It mirrors the web app and adds push notifications for events, chat messages, and reminders. Sign in with the same email/Google account you use on the web.
Invoicing overview
Billing is available on Pro and Club plans. You can:
- Create invoices for individual members or a whole team
- Generate recurring invoices for membership fees
- Track who has paid, who is overdue, and who has cancelled
- Let members pay online with a card via Stripe, or mark cash/transfer payments manually
To accept online payments you need to connect a Stripe account first — see the next section.
Connect your Stripe account
ClubDeck uses Stripe Connect (Standard). That means money flows directly into your Stripe account, you keep your own Stripe dashboard, and ClubDeck never holds your funds.
Before you start
- Pick someone who can legally represent the club — usually the treasurer or chair. Stripe will ask for their personal details to comply with KYC rules.
- Have the club's bank account details (IBAN, account name) ready — payouts will go there.
- Have a photo ID for the representative. Stripe may ask to verify it.
Step-by-step
- Sign in to ClubDeck and open the club you want to connect.
- Go to Club Settings → Payments.
- Click Connect Stripe. ClubDeck creates a Stripe Connect account for your club and redirects you to Stripe's hosted onboarding flow.
- On Stripe's site, sign in with an existing Stripe account or create a new one with the same email you use for ClubDeck.
- Fill in the requested information:
- Business type (most clubs choose "Non-profit" or "Company")
- Business address and the club's tax ID if applicable
- Representative's name, date of birth, and address
- Bank account for payouts
- Identity verification (photo of ID)
- Submit the form. Stripe returns you to ClubDeck's Payments page.
- When the page reloads, the Stripe card should show a green Connected badge. You are ready to accept payments.
What members see
Once Stripe is connected, every invoice you create gets a Pay now button. Members open the invoice (web or mobile), pay with a card, and the invoice moves to Paid automatically when Stripe confirms the payment.
Payouts and fees
- Payouts — Stripe pays out collected funds to your bank account on a rolling schedule (default: every 2 business days). You can change the schedule from your Stripe dashboard.
- Stripe fees — Stripe charges the standard rate for your country (e.g. ~1.5% + 0.25€ for EEA cards). ClubDeck does not take a cut of payments.
- Refunds — issue refunds from the invoice page in ClubDeck or directly from your Stripe dashboard.
- Tax — ClubDeck does not calculate VAT. If your club is VAT-registered, set tax rates on individual invoices.
Stripe troubleshooting
"Connect Stripe" still shows after onboarding
Stripe has not finished verifying your account. Click the button again to resume the flow — you usually just need to upload an additional document. Your progress is preserved.
A member's payment failed
The most common reasons are an incorrect card number, insufficient funds, or the card being blocked for online payments by the bank. The member can retry from the same invoice link. The invoice stays open until paid or cancelled.
I want to disconnect Stripe
You can disconnect ClubDeck from your Stripe account at any time from your Stripe dashboard's Connected Apps page. Existing invoices remain in ClubDeck, but new online payments will be disabled until you reconnect.
FAQ
Do players pay anything to use ClubDeck?
No. Only the club pays for the plan. Players, guardians, and coaches use the app for free.
Can a member belong to more than one club?
Yes. The same email account can be part of multiple clubs and switch between them from the club picker in the top bar.
What happens to my data if I cancel?
You can export your data at any time from Club Settings. If you cancel, your club is set read-only for 30 days, then deleted. See the Privacy Policy for details.
Is ClubDeck GDPR compliant?
Yes. We are based in the EU and process data under GDPR. Full details are in the Privacy Policy.
Can I use ClubDeck for a sport other than hockey?
Most features (events, roster, billing, chat, calendar) are sport-agnostic. The visual lineup builder is currently designed for ice hockey. Other sports are on the roadmap.
Contact support
Need help that isn't covered here? Email support@clubdeck.jlehtimaki.fi and we will get back to you. Including a screenshot and the URL you were on speeds things up.