# Racing

_ReadyHelm Pro Portal guide, chapter 18 · Last updated 2026-10-28 · https://app.readyhelm.com/guide/pro/racing.html_

**🏁 Racing** is for clubs that run races. It sets up a season's schedule, divisions and registration options, and shows every boat registered. Sailors register in the ReadyHelm app for free. It's on Pro Plus, for organizations whose type includes **Race organizer** (set under [Admin & Settings](https://app.readyhelm.com/guide/pro/admin-and-settings.html)). Pro Plus has unlimited seats, so you can add every committee volunteer to your team.

> Racing is rolling out gradually. If you don't see it yet, it's on the way.

Everyone in the organization can see the seasons. Admins and Managers change them.

## Setting up a season

**+ New season** takes a name, the year, when registration opens and closes (blank means it opens when you publish and stays open), a contact email for sailors, and notes for sailors. **Racing area** picks the NOAA marine location where you race, so sailors see the forecast for the course on race day (without it, they see their boat's home port). Tick **Ask sailors if they're club members** to charge members and non-members differently.

A new season is a **Draft**, which only your organization sees. Then fill in its tabs:

- **Schedule.** **+ Add series** (a group of races scored together, such as "Wednesday Night Series"), then **+ Add race** with its date and first start time. **Edit** a race to move it to another series or mark it **Postponed**, **Abandoned**, **Sailed** or **Cancelled**.
- **Divisions.** **+ Add division**: its name, rating (**PHRF**, **IRC**, **Portsmouth**, **ORC** or **ORR**), class flag, and a note for sailors such as "Ratings under 150". A PHRF division scores **Time on distance** or **Time on time**; IRC multiplies elapsed time by the boat's TCC, and Portsmouth by 1000 / PN. Ratings are read from each boat's certificate on ReadyHelm.
- **ORC and ORR divisions.** Their certificates carry several numbers, so the division says which one to use: the **Course model** as it's named on the certificates (e.g. Windward/Leeward), and **Time on time** (elapsed × the factor) or **Time on distance** (elapsed − seconds a mile × the distance). Tick **Triple number** to score each race with the low, medium or high wind number, and set the **Wind band** for each race under **Starts & courses**. A boat whose certificate lacks the number is listed under results ("No ORC time on time, Windward/Leeward, medium wind number") until you give it a rating for the race.
- **Registration.** **+ Add registration option**: what it covers (**Whole season**, **Chosen series** or **One race**, which the sailor picks), the fee (member and non-member, if you ask), and an optional early-bird discount and late fee with their dates.

**Publish** makes the season visible to sailors. It needs at least one division and one registration option. A published season shows its registration link with **Copy link**: send it to your fleet. **Archive** closes the season to new entries. A season nobody has registered for can go **Back to draft** or be deleted.

Once boats have registered, a division, option or race with entries can't be deleted. Close the division or option to new entries, or mark the race cancelled, instead. What an option covers is fixed once anyone has used it, but its name and fees can change. Boats already registered keep the fee they registered at.

## Course library

**Course library** (on the seasons list) holds your club's marks and courses, shared by every season.

- **+ Add mark** takes a name, a position and a description. Enter the position as degrees and minutes (for example **42°12.000′N** and **070°42.000′W**, or **42 12.0 N**) or as decimal degrees. Leave it blank for a mark set on the day.
- **+ Add course** lists marks in order: the first is the start and the last is the finish. Choose whether each mark is left **to port** or **to starboard**. ReadyHelm works out each leg's distance and true bearing, and the course's total distance, from the marks' positions. A course with a mark that has no position shows "distance not known".

**Show on chart** under a course draws it on a map with OpenSeaMap's buoys and lights: the marks numbered in order (start in green, finish in navy; a start and finish at the same spot share one marker) and each leg's distance and bearing. Marks without a position are left off, with a note. It's for planning, not navigation.

A mark a course uses can't be deleted; take it off the course first, or untick **In use**. Changing or deleting a course never changes a race already set up with it.

## Starts and courses

On the **Schedule** tab, **Starts & courses** under a race sets each division's start for that race:

- Before you've saved anything, every open division is suggested in order, five minutes apart from the race's first start, flying its class flag. **Space starts 5 minutes apart** re-times them from the first start after you reorder them.
- Untick a division that isn't starting in this race.
- **Course from the library** copies a course onto the race. **Leave out** drops a mark to shorten it for the day, and **Restore all of …** puts the full course back. **Use this course for every division** copies it to the others.
- **Course name, as sailors see it**, **Notes for sailors**, and **Distance (nm)**: leave the distance blank to use the legs' total, or enter it when some marks have no position (time-on-distance scoring needs it).
- **Pursuit start** (PHRF divisions): instead of one gun, each boat starts on its own time, so the first boat home wins. The slowest-rated boat starts at the division's start time and each other boat starts later by (slowest rating − its rating) × the distance, in seconds. It needs the course distance. See each boat's start, and change one, under **Results**.

**Save starts**. The Schedule lists each division's start time, flag, course and distance, and sailors see them on the season page and on their entry.

## Race day

**Race day** under a race (once its starts are set up) is the committee boat's screen, laid out for a phone. Admins, Managers and anyone with the **Race officer** job title run it; everyone else in the organization can watch.

Everything you do is saved on the device and sent when there's a signal. With no connection, a banner says how many actions are waiting, and racing carries on. Open the race once with a signal before you leave the dock, so the device has it. **Sound on** beeps at each signal (the device also vibrates where it can).

**More than one device.** The committee boat, a finish boat and a pin-end boat can all run the same race. **Rename** names this device (e.g. "Finish boat"); the screen lists the other devices timing the race and who's signed in on each, and every device picks up the others' starts and finishes within a few seconds. Every device keeps the server's time, measured whenever it has a signal (it says so if its own clock is off), so their times agree. Two devices timing the same boat within 5 seconds of each other count as one finish. Further apart, the first time to arrive is kept and the other is shown beside it as **Two finish times: keep one**; tap the time to keep. Results can't go final until it's settled.

- **Check-in** lists every boat registered for the race. Sailors' own check-ins arrive as they make them, with who's aboard and souls on board. **Check in** or **Not racing** marks a boat yourself; **Undo** clears it.
- **Start:**
  - **Warning now** begins the sequence: divisions start in order, five minutes apart, each warning on the previous start (5-4-1-0). Or set **First start at** a time.
  - Each division shows the signal that's up and a countdown to the next, then the time since its start.
  - A pursuit division lists every boat's own start time, with a countdown to the next boat's start.
  - **Individual recall (OCS)**: tap the boats over the line; tap again when one has come back and restarted.
  - **General recall** sends the division to the back of the sequence: its new warning is a minute after the recall, or at the last division's start, whichever is later.
  - **Postpone (AP)** stops the sequence for divisions that haven't started and tells every boat by email and notification, with your note. Skippers are reminded to move their float plan's return time. **AP down** restarts the sequence a minute later and tells the fleet the next start time.
  - **Abandon (N)** ends the race and tells the fleet. **Racing is over** marks the race sailed.
- **Finish:** tap a boat as it finishes to record the time, or enter a time for a boat. **Correct** changes a finish (or clears it) with a reason. The first time recorded is kept, with who corrected it and when. Elapsed times are shown from each division's start (in a pursuit, from the boat's own start).

## Results

**Results** under a race (on the Schedule) scores it from race day's finishes, division by division. Admins, Managers, and anyone with the **Scorer** or **Race officer** job title score and publish; everyone else in the organization can look.

- **Corrected times.** Each boat's elapsed time runs from its division's start to its finish. A **Time on distance** division takes the boat's PHRF rating in seconds per mile times the course distance off its elapsed time. Set the distance under **Starts & courses**. A **Time on time** division multiplies the elapsed time by A / (B + rating): 650 / 550 unless you change it on the division (600 / 480 is used for heavy air). Boats place by corrected time, and boats with the same corrected time share the place.
- **Codes ReadyHelm fills in** (marked "auto"): **OCS** for a boat marked over early that didn't come back, **DNF** for a boat that checked in but has no finish, and **DNC** for one that didn't check in or told you it wasn't racing.
- **Click a boat** to change its result:
  - Give a scoring code: DNC, DNS, OCS, ZFP, UFD, BFD, SCP, NSC, DNF, RET, DSQ, DNE, RDG, DPI, or **RC** for a boat on race committee duty. A disqualified boat loses its place and the boats behind move up. Penalties (ZFP, SCP with its percentage, DPI with its points) keep the place.
  - **RDG** (redress) takes fixed points or the average of the boat's other races in the series.
  - **Rating for this race** scores a boat whose rating is missing or wrong.
  - **Change the finish time** corrects the finish. The first time recorded is kept.
- **Pursuit starts.** A pursuit division places boats in the order they finished; each boat's elapsed time runs from its own start. The **Pursuit starts** table lists each boat's rating, its calculated start and the start that counts, as minutes:seconds after the first boat. **Override** sets a boat's start to the committee's own time (the calculated one stays beside it); **Use calculated** puts it back. A boat with no rating starts with the first boat until it has one. Sailors see their own start time on their entry.
- **What if…** under a division scores the race another way (PHRF, ORC or ORR by the other method, or IRC or Portsmouth when boats have those ratings) beside the real places. Nothing is saved or shown to sailors.
- **⬇ Results CSV** downloads every division's results; **⬇ Sailwave finishes** gives the start and finish times in a shape Sailwave can import.
- **Publish provisional** shows the results to sailors without telling them. **Publish final** tells the division's boats by email and notification, and puts each boat's result on a race trip in its Captain's Log (the float plan trip, if the boat filed one). Final needs every finisher scored: a boat with no rating or no course distance is listed until you fix it. **Unpublish** hides the results again.

## Standings

The **Results** tab shows each series' standings in each division, from the races whose results are published (provisional races are marked *). **Scoring** sets how a division scores the series:

- **Low point (RRS Appendix A)**: a place scores its number, and the lowest total wins. DNC, DNF, DSQ and the like score one more than the boats entered in the series (or, if you choose, in the race).
- **High point (CHIPS 3)**: each place scores up to 100 points, more for beating more boats; a retirement scores as last place plus one, and DNC, DNS and disqualifications (including OCS) score zero. The highest total wins.
- **Discards**, either by races sailed (for example "4, 8": one discard from four races, two from eight) or by counting only the best races. A DNE can't be discarded.
- **Races to qualify**: boats that sailed fewer rank after those that did.
- **RC credit**: a boat marked RC for a race scores the average of its other races, if it has sailed enough of them.

Ties are broken by RRS A8: the best scores first (discards left out), then the last race, then the one before.

**Preview** in the Scoring form shows the standings under the settings you've chosen before you save them. **⬇ CSV** on a series downloads its standings.

## Overview

A season opens on **Overview**:

- **Boats registered**, by division.
- **Paperwork**: boats missing waiver signatures or an amendment acknowledgment.
- **Fees outstanding** against what's been collected.
- **Ratings** missing or expired.
- The **next race**: its starts and courses, how many boats have checked in on race day, and **Race day**.
- The **latest results**, and the **latest registrations**.

Each card links to the tab with the detail.

## Protests

The **Protests** tab is the protest committee's queue. Skippers file protests and redress requests from their entry in the app; **+ Committee protest** files one for the race committee.

- **Protest time.** Each race's protest time is set under **Edit** on the Schedule, in minutes after the race's last finish (60 when blank). Filings after it are accepted but marked **Late**, for the committee to decide whether to hear them.
- **Schedule hearing** sets the time and place, and tells every boat involved by email and notification.
- **Decide** records the facts found and the decision, and can change the boats' scores: **DSQ**, **DNE**, a scoring penalty (**SCP**) or penalty points (**DPI**), **redress** (fixed points or the average of the boat's other races), or **exonerate** to clear an earlier code. The race's results change at once, with the decision as the note; republish them to tell the fleet. The boats involved are told the decision.

Admins, Managers, and anyone with the **Scorer** or **Race officer** job title handle protests. **Show** filters open, decided and withdrawn ones.

## Duty

The **Duty** tab is the race committee roster. **+ Add duty** under a race takes the job (pick a suggestion such as **Principal race officer** or **Mark boat**, or type your own) and who:

- **A member of the club**, from your team.
- **A registered boat**: the boat on duty scores **RC** for that race (unless it also has a finish), so it gets RC credit if the series' Scoring gives it.
- **Someone else**, by name, with an email to reach them.

Each person is emailed (and, with a ReadyHelm account, notified), and sailors confirm in the app; the roster shows **Confirmed** or **Not confirmed**. **Send reminders** emails everyone on duty for that race again. Admins and Managers assign duties.

## Waivers

The **Waivers** tab holds your club's waivers, in your own words. ReadyHelm doesn't provide waiver language; have your club's counsel review yours.

**+ Add waiver** takes:
- a title;
- whether it's for the whole season or one race;
- who signs: **The skipper only**, or **The skipper and every crew member**;
- whether a parent or guardian signs for crew under 18;
- the wording.

Skippers sign the season waivers as they register. A waiver for a single race is signed from the entry. Crew sign in the app, or from an emailed link that needs no account. Each signature keeps the typed name, the time and the signer's device address, and a guardian also gives their relationship.

If you change the wording after people have signed, saving makes a new version and everyone signs again. The wording each person signed is kept. A waiver with signatures can't be deleted; untick **In use** instead.

## Documents

The **Documents** tab holds the Notice of Race, Sailing Instructions and anything else sailors need, as PDFs, for the season or a single race.

- **+ Post document** uploads one and tells the registered boats.
- **Post amendment** uploads a new version, with a note on what changed. Every registered skipper, and the crew who asked for race notices, gets an email and a notification. Each skipper is asked to acknowledge it, and the document shows **Acknowledged by N of M boats**. Earlier versions stay listed.
- **Hide** takes a document off the sailors' season page.

## Notices

The **Notices** tab sends a message to the fleet: every registered boat, or just one division or one race. It goes by email and notification to skippers and to the crew who asked for race notices. Replies go to the season's contact email. Sent messages are listed here and on the sailors' season page.

## Entries

The **Entries** tab lists every boat: division, registration, skipper and phone, rating, fee (and whether they said they're a member) and crew count. A **Missing** or **Expired** rating is highlighted; the boat is still registered. Filter by division, rating or status, search by boat, sail number or skipper, and use **⬇ CSV** for a spreadsheet or **⬇ Sailwave** for the competitor list in Sailwave's import shape.

The **Paperwork** column shows each boat's waiver signatures (for example **Waivers 3/4**) and any amendment its skipper hasn't acknowledged. **Send waiver reminders** emails a fresh signing link to every crew member who hasn't signed and has an email, and sends each skipper with signatures missing a notification.

Click a boat to see its crew (with roles, minors and emails), who has signed what, and, for Admins and Managers:

- **Division** moves the boat to another division, any time.
- **Committee notes** are only seen by your organization.
- **Re-read rating** picks up a certificate the skipper has added or renewed.
- **Send waiver reminder** does the same as **Send waiver reminders**, for this boat only.
- **Withdraw** takes the boat out; the entry stays on the list, marked withdrawn.

Your Admins, and anyone with the **Registrar** job title, get a bell notification when a boat registers or withdraws.

## Safety

The **Safety** tab is the fleet compliance view, and where you set up safety inspections for offshore races (or any race whose notice of race asks for one).

- **Fleet compliance** lists every registered boat with its rating certificate (**OK**, **Missing** or **Expired**) and, when inspections are on, its inspection (**Not started**, **Open items** or **All passed**, with how many items are done and who inspected). Click a boat to see each item's result, the inspector's notes, and items that failed and have since been fixed. **Remind N boats** emails and notifies each skipper with something open, listing their own items.
- **Boats need a safety inspection** turns inspections on for the season.
- **Safety checklist**: start from the **Offshore starter** (the usual offshore safety items, grouped like World Sailing's Offshore Special Regulations; check them against the OSR category your notice of race names) or the **Inshore starter**, then **Edit**, **Remove** or **+ Add item** to match your rules. Removing an item that already has results hides it and keeps the record.
- **Inspectors**: give a name, an email and whether they inspect **Every boat** or one boat, and **Invite inspector**. They get an email with a link; they sign in to ReadyHelm (or create a free account) and inspect in the owner app on their phone. **Remove** stops their link working.

Inspectors mark each item **Pass**, **Fix** (fix before the start, with a note) or **N/A**. The skipper is told what to fix, and again when the boat has passed. Once a fixed item is re-inspected and passes, it keeps a note of when it failed.

## Fees

ReadyHelm shows sailors what they owe and records what each boat has paid, but doesn't take payment. Collect it the way your club already does. Put your instructions under **Settings → How to pay the club** (for example "Checks payable to …" or a Venmo handle); sailors see them with every fee.

**The Fees tab:**
- **+ Add item** offers something besides the entry fee: a fee, a ticket, merchandise or anything else. Each item has a price, and optionally sizes (e.g. "S, M, L, XL"), a most-per-boat limit and a description. Sailors pick items when they register, or later from their entry. Changing a price doesn't change what boats already asked for. An item boats have asked for can't be deleted; untick **Offered to sailors** instead.
- **Treasurer's report:** totals requested, collected, outstanding, refunded and waived, broken down by item and size, and the boats that still owe. **⬇ CSV of every line** downloads every fee line for your books.

**On a boat's entry** (Entries tab), the **Fees** section lists each line:
- **Change** sets what happened: **Paid**, **Partly paid** (with the amount), **Refunded** (with the amount returned), **Waived**, **Cancelled**, or back to **Requested**. Add a note such as a check number. Each change is kept with who made it and when.
- **Mark all paid** marks everything still owed as paid in full.
- **+ Add charge** adds a line by hand, such as a burgee sold at the dock or a late fee.

Withdrawing a boat doesn't change its fees; refund or waive them as your club decides.

**QuickBooks.** If your club has connected QuickBooks Online (Admin & Settings → Integrations), each boat's fees can go to your books as an invoice to the skipper:
- On a boat's entry, **Send to QuickBooks** invoices everything still owed: one line per fee, on ReadyHelm's Fees item, with merchandise marked taxable. The skipper becomes a QuickBooks customer; if they might already be one (same email or name), you choose **Use this customer** or **Create a new customer** first.
- The entry then shows the invoice number and its status (**Unpaid**, **Partly paid** with what's due, **Paid**, **Voided**), **View in QuickBooks** and **Refresh**. Status comes back on its own within a day, or straight away with Refresh.
- When QuickBooks says the invoice is paid, its lines are marked **Paid** here, noted "Paid in QuickBooks". A part payment is left for you to record.
- Fees added or changed after sending show "fees changed since sent"; **Update in QuickBooks** puts them on the same invoice. If the invoice was edited in QuickBooks, you're asked before it's replaced.
- On the Fees tab, **Send to QuickBooks** sends every boat that owes and isn't invoiced yet (and updates changed invoices) in one go.

Payments you mark here aren't sent to QuickBooks: record payments in one place or the other.
