The club operating system

The whole club, on one system.

Golf and the tee sheet. Tennis, the pool, the range, the dock. The dining room and the kitchen behind it, the pro shop, the grounds crew, the staff roster, the board, the back office — and the app in your members' pockets. One platform underneath all of it, and one ledger where every charge lands and actually balances.

Most of it is built and running today. The gaps that are left are named on every page — here is exactly where we are.

The scope

Not an accounting package. Not a tee sheet. The club.

A private club is a restaurant, a retailer, a golf course, a racquets programme, an aquatics centre, a shooting ground, a marina, a wedding venue, an employer of two hundred seasonal staff and a member-owned institution — at the same time. Most clubs run that on four vendors and a spreadsheet. We built it as one system.

Back office & ERP

Live

General ledger, accounts receivable, member billing, dues and statement runs, aging and dunning, departmental P&L, accounts payable with approval thresholds, purchase orders with a three-way match, banking and reconciliation, and a tax engine with 17 countries pre-registered.

Member experience

Live

The club's own app under the club's own name. A home screen that answers what your week looks like from every department at once, the statement and the balance, the scorecard that goes round with you, booking a lane, signing a waiver, and control over what the club may send you.

Food & beverage

Live

A terminal with open tabs, seats, splits and comps. Menus with effective-dated prices and one-tap eighty-sixing. And the half most club software skips: the kitchen's own inventory, its recipes, what a plate costs, and theoretical usage against what the shelf actually lost.

Golf & course management

Live

Tee sheet and booking, digital scorecards, handicaps, competitions with leaderboards and a season of standings, guest play — plus the superintendent's half: pin positions, the maintenance queue, lightning evacuation, and a spray log an inspector can rely on.

Pro shop & retail

Live

A till with inventory behind it: size and colour variants, stock on hand per outlet, an append-only move ledger, reorder points, and cost of goods sold at weighted average posted per ticket — so margin is readable inside the month.

Racquets, water & sport

Live

Courts with privileges and overlap rules. The pool: deck sheet, lanes, the gate, lifeguard coverage, the swim school. The range: squads, a versioned waiver, clays and club guns. The marina: slips, leases, the waiting list, the fleet. Fitness is not built.

Personnel & labour

Live

Scheduling by department and shift, time tracking with variance against the roster, PTO with an append-only balance, leave liability on the balance sheet, and labour cost posted into the ledger weekly rather than a month late. Payroll integrates out.

Operations & facilities

Live

Purchase orders and receiving that matches what actually arrived, inventory by department, grounds scheduling and condition reporting, access credentials, and four background workers each visibly alive. Equipment maintenance logs are not built.

Governance & communication

Live

By-laws as citable, enforceable data. Committees the club creates itself, meetings, motions with the club's own thresholds, assessments that need a member vote. The notification spine is built — no carrier is connected yet, so nothing is delivered.

Read the badges — they still mean something. Nine modules say Live on this page, and Live means a table, a route, a screen and a test that tries to break it. It does not mean finished. Notification delivery, the kitchen display, member self-service ordering, the weddings portal, fitness programmes, equipment logs, budgeting and reciprocal access are all named in the row where you would look for them, on the modules page and on the roadmap. A general manager who discovers a gap on a demo call is a lost deal.

The problem

Four vendors.
Two balances.
One week of month-end.

The club system, the tee sheet, the point-of-sale and the scheduling app were all bought separately, from four companies, in four different decades. Each one is defensible on its own. Together they mean the same member exists four times, the same shift is costed in two places, and nothing reconciles without someone reconciling it.

The systems that do bundle it usually started as a point-of-sale and grew an accounting package afterwards to close a deal. That order of construction is why balances drift, why month-end takes a week, and why a board question ends in a spreadsheet.

BetterClub is built the other way round. The ledger came first, and every module since — every department, every court, every lane, every outlet — was built to post into it. That is why the kitchen's food cost and the grounds crew's hours show up in the same P&L as the dues.

Why it holds together

One ledger, every module

A suite is only a suite if the numbers meet somewhere. Here they meet in one place, by construction — not overnight, and not in a reconciliation report somebody has to read.

One ledger, every module Every surface in the club — golf and the tee sheet, the dining room and bar, the pro shop, racquets and courts, the pool and aquatics, the beverage cart, shooting sports, the marina and dock, lessons and clinics, and the dues run with its food and beverage minimums — posts through a single idempotent charge intake into one append-only double-entry ledger. The ledger in turn produces member statements, departmental profit and loss, aging and dunning, the trial balance, and an optional QuickBooks Online journal. EVERY DEPARTMENT, EVERY SURFACE Golf & tee sheet Dining & bar Pro shop Racquets & courts Pool & aquatics Beverage cart Shooting sports Marina & dock Lessons & clinics Dues & minimums GREEN FEES F&B REVENUE RETAIL REVENUE COURT FEES F&B REVENUE F&B REVENUE CLAYS & RANGE SLIP & DOCK FEES PROGRAM FEES DUES & FORFEITURE One door in — idempotent charge intake ADDING AN OUTLET, A COURT OR A DEPARTMENT IS A CONFIGURATION ROW, NOT A CODE CHANGE One double-entry ledger Append-only, enforced by database constraints and triggers — not application code. A posted entry cannot be edited or deleted by anyone. Corrections are reversing entries. FORTY INVARIANT SUITES PROVE THE GUARDRAILS REJECT THE BAD CASE Member statements Departmental P&L Aging & dunning Trial balance QuickBooks Online itemised, with history by department, always one rung per run in balance, on demand optional, per club NOTHING RECONCILES BECAUSE SOMEONE RECONCILED IT

The ledger is the spine. Every surface along the top posts into it, and each one carries its own build status — status on every module.

The foundation

The ledger came first

Built and tested before anything was sold, because it is the part of a club platform that is hardest to retrofit and most expensive to get wrong. Every module added since has had to post through one door, and none of them was allowed to keep its own balance.

That is an architectural claim, so here is how to check it: pick any department on the modules page, ask what it posts and where, and then ask to see the trial balance afterwards.

176database migrations, applied in order and never edited afterwards
40SQL invariant suites that try to break the rules and confirm the database refuses
52screens across every department, one staff application
  • The ledger is append-only, and the database enforces it A posted entry cannot be edited or deleted by anyone — including a superuser at a psql prompt.
  • Cash posts when it settles, not when the member clicks A card authorisation is a promise and ACH can fail days later.
  • The processor's fee is the club's expense Never a quietly smaller payment. The member's balance falls by exactly what they paid.
  • Statements checked figure by figure Generated statements were validated line by line against a real club's printed statement.
  • No floating-point number goes anywhere near money Cost is held to four decimal places and rounded once, at the point a figure is posted.
Where one system leads

A club that can see Saturday coming.

This is the reason to run the whole club on one platform rather than four. The tee sheet, the roster, the kitchen, the courts, the lanes and the ledger are now the same system — so the data these need is finally being produced.

Not built

Predictive staffing

The closest to real, and still rules rather than a model: frost and rain thresholds the club edits already propose a delay, and the roster and the pay rates already put a dollar figure on what holding the course costs.

Predictive food ordering

Forecast covers by outlet and daypart, turned into prep lists and purchase orders. Unblocked now — the orders, the recipes, the plate costs and the usage variance all exist. Nothing analyses them yet.

Course & facility utilisation

Where the tee sheet, the courts, the lanes and the dining room are genuinely full and where they only feel full — the question a board asks before every capital decision.

Member preference intelligence

What this member orders, plays and books, surfaced to the right staff member at the right moment — so a seasonal hire in week two looks like a twenty-year veteran.

None of this is built, and the reason has changed. It used to be that the operational modules did not exist, so there was no data. They exist now — orders down to the modifier, bookings across six departments, shifts, conditions, a season of weather. What is missing is a season of a real club running on them. So the sequence is unchanged: run the modules in real clubs, then build the models on what they produce. A model trained on nothing is a demo, and a board can tell the difference. You will not find the word on the front of this site until it is true.

Status, stated plainly

What is finished, and what is honestly not

Most club software vendors show you a feature grid and let you find the gaps on the demo call. We would rather you found them here.

Live today
  • Financial backboneLedger, AR, dues, statements, dunning, AP with approvals, purchasing, banking, tax engine (US pack)
  • Golf & the courseTee sheet, scorecards, handicaps, competitions, spray log, lightning
  • Two points of salePro shop till with stock and COGS, F&B terminal with open checks
  • The kitchen's own numbersInventory, recipes, plate cost, usage variance
  • Racquets, aquatics, shooting, marinaEach its own module, its own rate card, its own revenue
  • Personnel & labour costRoster, time, PTO, leave liability, hours posted to the GL
  • GovernanceBy-laws as data, committees, meetings, motions, member votes
  • The member's own halfHome screen, account, scorecard, bookings, consent
Partial — gap named
  • Member self-service orderingStaff can ring a poolside order; a member cannot place one yet
  • Facilities queueReal, but it lives under grounds rather than club-wide
  • Daily overtimeFederal forty-hour rule computed; the four daily-OT states are not
  • Document storageObject store built; the bucket is not provisioned
  • Stocktake screen in the shopWorks through the API, no counting UI
Specified, next up
  • Notification deliveryThe spine, consent and the outbox are built. A carrier is the missing piece, and it is the most consequential one
  • Card tenderOn the processor’s own hardware, with tap-to-pay on low-volume surfaces. The processor is not chosen yet
  • Kitchen & expediter displayPrep station routes as data already
  • Shareable member-facing menus
Not built
  • Weddings & events portalNeeds an external guest and vendor access layer
  • Fitness & personal training
  • Equipment maintenance logsAnd preventive schedules by asset
  • Budgeting and fixed assets
  • Suggestions, complaints, referrals
  • Reciprocal club access
  • The predictive layerGated on a season of real operating data
The member experience

Your members open your club, not our software.

Everything above exists so that this part is good. The app on a member's phone carries the club's name, the club's crest and the club's colours — a club founded in 1912 gets "Club 1912", on its own subdomain. BetterClub sits underneath, credited quietly and nowhere else.

One app for the whole club: see the week across every department at once, book the court and the tee time and the lane, keep the scorecard on your phone, sign the kids up for swim lessons, read the statement. Not four logins and a paper form at the desk.

Why this matters to a board. A private club spends a century building a name. Members should not have to learn a vendor's brand to book a tee time, and a board should not have to explain why the club's app is called something else.

The credit line is the only mark we ask for:

by BetterClub

Where it is running

The pilot is a private country club founded in the 1890s, with a membership that has been billed the same way for decades.

Statement output was validated figure by figure against that club's own printed statement before a single member saw it. We will name them here when they are ready to be named.

Forty minutes, no slides.

We open the back office, run a dues preview against a club chart of accounts, post a charge from the pro shop till, close a check to a member account, look at what the kitchen thinks it used against what the shelf says it lost, and show you the trial balance afterwards. Bring your controller.