Free template, no email wall

The Excel session tracker for personal trainers, and when to stop using it

Track pack size, sessions left, expiry, payments, and balances. Download the real sheet first. Decide about software later.

ClientPackUsedLeftExpires$ Paid$ OwedLast
Jamie O.1091Sep 46500Aug 25
Maya T.1073Oct 126500Aug 19
Dan K.1028None325325Aug 20

The XLSX opens in Excel, Numbers, or Google Sheets. The CSV is the roster tab on its own. No signup is required. See what each column means.

A 10-pack, three visits, and a partial payment

Suppose Jamie buys 10 sessions for $650 and pays $325 today. After three completed visits, the session balance is 10 − 3 = 7. The amount still owed is $650 − $325 = $325. When the second payment arrives, the money balance becomes zero; the session balance stays at seven.

The download has three tabs. Clients is the roster, and its eight columns are the ones the importer reads. Sessions is a dated log of who trained, when, and whether it was a completed session, a late cancel, or a no-show, which is what settles an argument that a single remaining number cannot. How this works explains every column. The preview above illustrates extra working columns such as used, paid, and owed; those are not separate imported payment-history fields. Keep your original history when moving a roster.

Follow the complete partial-payment example

Open the tracker in Google Sheets

Download the XLSX, upload it to Google Drive, and open it with Google Sheets. Save your own copy before adding client information. The CSV is also available if you prefer a plain table. If you add calculations to your working copy, protect the formula cells and retain the supported column names for import.

Where the sheet breaks

These are gym-floor problems. The spreadsheet is only where they become visible.

The locker problem

The session ends while your phone stays put. The row never gets updated.

The disputed count

Your sheet says one. Their memory says three. Nobody can verify the difference.

Sunday reconciliation

You rebuild the week from a calendar instead of doing work you can bill.

The missing payment

Venmo cleared, but the sheet still says owed. Sometimes it is the other way around.

How the columns work

Client

name
Whatever you call them. First name is fine.
email / phone
Optional. Use these when you want to send the client their private link.

Pack

pack_count
The number of sessions they bought, such as 5, 10, or 20.
remaining
Sessions left right now. This is the number the sheet exists to track.
expires_on
Leave blank if the pack does not expire.

Money

price
The full price of the pack, in dollars. Not the amount paid so far.
source
How it was paid in full: cash, Venmo, Zelle, bank, Stripe, or comp. Leave it blank if the client still owes part of the price. The pack imports without a payment, and you record each payment as it arrives.

When you are done with the sheet

PacksLeft adds one-tap logging, a shared client record, payment history, and Stripe Checkout. No workout library or client download.

$29 / month

Import these rows

14-day trial. The importer accepts this exact sheet.

More help with the record