Troubleshooting
Checklists for the problems that actually happen, from a double charge to a student missing off the roster.
Real problems, in the order somebody at the front desk actually hits them. Each one is a diagnostic path rather than an apology: check this, then this, then this.
If the thing you are looking at is not here, it may be a limitation rather than a fault — see What Dojo Tiger doesn't do yet.
A parent says they were charged twice
Almost always one of four things, and the ledger tells you which within a minute.
Open the student's page and read their payment history
Every charge for that student is listed with a date, an amount and a status. Two rows on the same day for the same amount is a genuine double charge. One row is not — see the last step.
Check whether one of them is a subscription renewal
If the studio started monthly billing mid-month, the family paid an immediate first charge, and the subscription then renews on the same day of each following month. A parent who also paid a one-off tuition charge at the desk that month sees two payments and is right to ask. See Starting monthly billing for a student.
Check for siblings
Both children's charges appear on the same card and the same bank statement, because the payer is the guardian. Two identical amounts can be two children, not one child twice. Compare the descriptions.
Check for a failed-then-succeeded pair
A declined attempt followed by a successful retry shows as two rows. Only one of them took money — read the statuses. A Failed row never moved any money, even though some banks briefly show a pending authorisation for it, which clears on its own in a few days.
If it really is a duplicate, refund it: open the charge in the student's payment history and use the refund action there. Refunds cannot be started from the studio-wide ledger. See Refunds.
Note that a double-click on the charge button cannot cause this — the request is stamped once when the sheet opens, so the second press is ignored.
A student isn't on the attendance sheet
The sheet is built from active enrollments in that class's program. Work down this list:
- Do they have an enrollment at all? Open Students then Enrollments and search their name. A student can exist with no enrollment — that is what a registration that was never enrolled looks like.
- Is the enrollment Active? Inactive and Suspended students are not on the sheet. Suspended is also what pauses a subscription, so somebody may have set it for a billing reason.
- Is it the right program? A student enrolled in Kids Karate will never appear on the Adult BJJ sheet, and cannot be searched onto it. Dropping in on another class is not something the attendance sheet supports.
- Are they still only a registration? Check Students then Registrations. A family who filled in your form is not on any roster until somebody enrolls them.
- Are they a trial? Trial students appear only on the specific session they were booked into.
A payment problem never removes anybody
A failed card, a cancelled subscription or a disconnected Stripe account never changes enrollment status. If a student vanished from a roster, a person did it.
The kiosk says there are no classes
The kiosk distinguishes three empty states, and the wording tells you which problem you have:
| What it says | What it means | Where to look |
|---|---|---|
| No classes today | This student has no session today in any program they are enrolled in. | Their enrollments, and Classes then Schedule |
| Check-in is not open yet | There is a class today, but check-in opens one hour before it starts. | The clock. Nothing is wrong. |
| Classes have ended | Every class they could check into today has already finished. | The clock, and whether they are late |
The one that catches people out is the first with a newly enrolled student: check-in follows enrollments, so a child enrolled five minutes ago in the right program should appear immediately — if they don't, the enrollment is in a different program or is not Active.
See What students see at the kiosk.
The Stripe status says "Charges pending Stripe review"
Not a fault and not something the studio can hurry. Stripe has your account and has not yet enabled charging on it, usually because it is still verifying business or identity details.
- Refresh status on the Stripe card re-asks Stripe. Do it once a day, not once a minute.
- If the pill says Onboarding incomplete instead, there is something for you to do — press Resume and finish Stripe's form. That one is on you.
- Nothing in Dojo Tiger unblocks it, and support cannot escalate it. The queue is Stripe's.
Meanwhile the studio functions normally; you simply cannot take card payments yet. See Connecting Stripe.
A family says a video won't show up for them
Program access is the answer nine times out of ten.
- Is the video Ready? On Engage then Content, anything at Waiting Upload, Processing or Errored is invisible to families.
- Which programs is it granted to? The Programs column shows the list, or All Programs for an unrestricted video.
- Is their student actively enrolled in one of those programs? Inactive and Suspended enrollments do not grant access.
- Do they have an account, and is it linked to the student? A guardian with no account, or one not attached to the child, sees nothing.
An empty content page reads "No content available yet" whether the studio has no videos or the family is entitled to none — so the message itself tells you nothing. Check the enrollment first.
Remember that a video's program access cannot be edited after upload. Fixing a mis-scoped video means deleting and re-uploading it.
A registration never arrived
- Check the worklist, including the statuses before waivers complete. A family who abandoned the waiver step is in there at waivers partial.
- Check for a duplicate. The public form detects an existing student and may have attached the submission to a record you already had.
- Check the URL they used. A registration goes to whichever studio's slug was in the link. An old QR code pointing at a changed slug goes nowhere.
A family says the confirmation email never arrived
- The email is sent when the registration reaches waivers complete — so a family that never finished signing never gets it.
- It comes from
noreply@dojotiger.comunder your studio's name, which is unfamiliar to them. Have them check spam. - There is no resend and no delivery indicator in the app. Tell them what it said and point them at sign-up directly.
See The registration confirmation email.
A monthly payment failed and the parent says their card is fine
Read the decline reason in the Failed Payments table on Reports then Financials or on the enrollment's billing cell. Most reasons are the bank's, not the card's — insufficient funds at the moment of the attempt, or a fraud rule triggered by a new merchant name.
Then do nothing dramatic. Stripe is already retrying, roughly four times over about two weeks. Retry on the billing cell forces an attempt now if the parent is standing in front of you and has just fixed the problem.
Do not take an ad-hoc card charge to cover the failed month unless you also stop the retries; otherwise the family may pay twice. See When a payment fails.
A charge is stuck on Processing, or a status fixed itself overnight
Both are normal.
Processing means Stripe has the charge and has not settled it. Some payment methods take a day.
Fixed itself overnight is a nightly reconciliation job that runs at 02:00 UTC. It re-reads Stripe and repairs records that got out of step — a webhook that never arrived, a status that stalled. If something looks wrong late in the day and you can afford to wait, look again in the morning before raising it.
The website change isn't showing publicly
In order:
- Did you press Publish, or only Save Draft? A draft save never changes the live page.
- Are you looking at the preview or the live site? The preview has an amber bar across the top.
- Is the section's checkbox ticked?
- Is it Programs or Schedule with no active records? Those two hide themselves when empty.
- Is the site published at all? The status light says Live or Not published.
See Draft, preview and publish.
A staff member can't sign in
- New staff: they were issued a temporary password and must change it on first sign-in. The account exists whether or not the email arrived, and the temporary password was shown on screen when you created it — if it was not copied, the account holder can reset their own password from the sign-in screen.
- Nobody on staff can reset a password for somebody else. Password resets go through the sign-in screen's own reset link, to the address on the account.
- Wrong studio: someone who belongs to more than one studio may be looking at the other one. The studio switcher is at the top of the sidebar.
See Signing in, accounts and the studio switcher.
The Billing column has disappeared
It only exists when automatic monthly billing is on. If it is gone, that switch was turned off — which stops new billing but does not stop subscriptions already running.
Worse, if card charging was turned off, staff cannot stop a running subscription at all while it is off, and Stripe keeps billing families. The way out is: turn card charging back on → stop the subscriptions → turn card charging off again.
See Turning payments off.
A row says "Needs card" and there's no Start button
There is deliberately no Start button, because starting would only fail — the payer has no card saved. Nobody at the studio can add a card on a family's behalf; card details never touch this app.
Use Email guardian on that row. It sends the parent a link to add one.
The tuition report and the revenue chart don't agree
They are not supposed to. Tuition is what your active roster should pay this month; Revenue is what actually arrived through Stripe. Cash payments, event fees, refunds, renewal dates and un-synced rate changes all move one without moving the other.
The full list of reasons is in Financial reports.
The attendance rate looks impossibly good
Because it is a percentage of the marks that exist, not of the students who were expected. A sheet where only the students who turned up were marked shows 100%.
Use Mark N remaining absent at the end of every class. It is one button, and it is what makes the attendance, engagement and retention reports mean anything. See Taking attendance.
Still stuck
Getting help has what to send and where.
Last reviewed