The Pet Services Spreadsheet That Stopped Us From Chasing Vaccination Records at Check-In
Stop digging through emails for pet vaccination records. Build a Google Sheets system for boarding, grooming, and daycare that keeps vet docs attached to every pet.
Last Tuesday a client showed up for a 5-day boarding drop-off at 7:15 a.m., two dogs in tow, and I couldn't find either dog's rabies certificate. I knew she'd emailed it. I knew I'd saved it. But somewhere between the Gmail search, the Google Drive folder labeled "Client Docs 2024" (it was 2025), and the subfolder called "Vaccines - Maybe," I lost six minutes while her dogs barked at the cat boarder walking past the lobby. Six minutes doesn't sound like much until you multiply it by every check-in, every day, for the three years I've been running this place.
If you run a boarding kennel, grooming shop, daycare, or any combination of those, you already know: the actual pet care isn't what buries you. It's the paper trail. Vaccination records. Signed liability waivers. Feeding instructions that change every visit. Medication schedules scribbled on sticky notes. Photos of skin conditions the owner wants you to monitor. None of it lives in one place, and all of it is urgent the moment a dog walks through your door.
Why Pet Services File Chaos Is Different From Other Industries
I've talked to friends in construction and real estate who complain about document management. They have it rough, sure. But here's what makes pet services uniquely messy: we're dealing with documents that belong to someone else's animal, that expire on rolling schedules, that vary by municipality, and that we need to produce on demand — sometimes for a county inspector who shows up unannounced, sometimes for an owner who's panicking because their dog got into a scuffle and wants proof of the other dog's vaccination status.
Most kennel management software (looking at you, Gingr and PetExec) handles some of this. But at $150–$300/month, it's hard to justify when you're a 12-run boarding facility with two groomers. And even if you do pay for software, the vaccination tracking is often clunky — you still end up with a folder full of PDFs that aren't actually linked to the pet's profile in any useful way.
So here's what I built in Google Sheets. It's not glamorous. It won't win any design awards. But I haven't lost a vaccination record at check-in since March, and my county inspection last month took 20 minutes instead of the usual hour of frantic folder-diving.
The Core Sheet: One Row Per Pet, Everything Attached
The fundamental mistake I made for two years was organizing by owner. That seems logical — Jane Smith has two dogs, so Jane Smith gets a folder. But when Biscuit shows up for grooming and you need his rabies cert, you're not thinking about Jane Smith. You're thinking about Biscuit. So the sheet is organized by pet, one row per animal, with the owner as a column — not the other way around.
Here's what each row captures:
- Pet name, breed, weight, age, and any medical notes (allergies, medications, behavioral flags)
- Owner name, phone, emergency contact, and vet clinic name + number
- Rabies vaccination date and expiration
- DHPP/Bordetella vaccination dates and expirations
- Signed liability waiver (attached as a file, not just a checkbox)
- Feeding instructions (updated per visit if needed)
- Special care notes — "Biscuit resource-guards his bowl" is the kind of thing you need to see instantly, not buried in an email thread
The magic isn't in the columns. Any spreadsheet can have columns. The magic is that every document — the actual rabies certificate PDF, the signed waiver scan, the photo of Biscuit's hot spot that his owner wants monitored — is attached directly to Biscuit's row. Not in a Drive folder somewhere. Not in an email I'll never find again. Right there, in the cell, one click away.
The Vaccination Expiration Problem (and the Formula That Solved It)
Having vaccination dates in a spreadsheet is table stakes. The real problem is knowing which ones are about to expire — before the dog shows up for boarding and you're the one telling a client at 7 a.m. that their stay is canceled because Bordetella lapsed two weeks ago. That's a conversation nobody wants to have, and it's one that loses you a rebooking.
I set up a simple conditional formatting rule that highlights vaccination expiration dates in three tiers:
- Green: Valid for 60+ days — no action needed.
- Yellow: Expiring within 60 days — time to send the owner a reminder.
- Red: Expired or expiring within 14 days — do not accept for boarding without updated records.
The conditional formatting formula for the yellow tier looks like this (assuming the expiration date is in column F and starts on row 2):
For red:
Apply those to the rabies, DHPP, and Bordetella expiration columns, and suddenly your spreadsheet is telling you what to do instead of you scanning 80 rows trying to remember who's due. Every Monday morning, I glance at the sheet, filter for yellow and red, and send a batch of texts. Takes five minutes. Has saved me at least a dozen awkward check-in conversations.
Tab Two: The Grooming and Service Log
If you only do boarding, you can probably stop at one tab. But most of us are running multiple service lines — boarding, daycare, grooming, maybe training. Our grooming revenue is about 40% of the business, and for the longest time I tracked grooming appointments in a separate Google Calendar with notes pasted into the description field. It was technically functional in the way that a leaking faucet is technically running water.
Now I have a second tab: the service log. One row per visit. Columns: pet name (linked to the master pet tab via a dropdown), service date, service type (groom, bath, nail trim, teeth cleaning, etc.), groomer name, price, payment status, and notes. The notes column is where we track things like "matting on hindquarters, owner informed, will need shorter interval next time" — the kind of operational detail that makes you look professional when the owner comes back in six weeks and you already know what happened last time.
For grooming specifically, before-and-after photos are gold. Clients love them for social media, and they're useful for us when a client disputes a cut style. ("You shaved him too short!" — here's the photo we took before we started, ma'am, that's how short he already was.) Having those photos attached to the service log row instead of floating in someone's phone camera roll is a game-changer.
The Waiver and Liability Document Problem
Let me tell you about the worst 45 minutes of my professional life. A dog got bitten during playgroup — not badly, a scrape and some bruised pride — and the bitten dog's owner wanted to see the biting dog's vaccination records and our signed liability waiver. Totally reasonable request. The county animal control officer showed up an hour later and wanted the same things. I knew we had the waiver. I knew the owner had signed it. I could not find it.
It turned out the waiver was in a manila folder in the filing cabinet, which is great if you're running a business in 1997. It was not in our digital system because we didn't have a digital system for waivers — we had a filing cabinet and a prayer.
Now every signed waiver gets scanned (phone scan, nothing fancy) and attached directly to the pet's row in the master sheet. When animal control shows up — and they will, eventually, if you're in this business long enough — I can pull up the waiver in about four seconds. The vaccination records are right next to it. The officer last month actually said, "I wish every kennel was this organized." I almost cried.
Making It Work With Multiple Staff Members
I have three part-time staff. Two of them are great with animals and terrible with computers. That's a common combination in this industry — we didn't get into pet care because we love data entry. So the system had to be dead simple or it was going to die.
Here's what I did:
- Data validation dropdowns on every column that could be standardized — service types, payment status (Paid / Invoiced / Waived), pet size categories, vaccination status.
- A color-coded status column on the master pet tab: Green = all docs current, Yellow = something expiring soon, Red = missing or expired documents. Staff can see at a glance whether a pet is cleared for boarding.
- One rule: if a client hands you a piece of paper, you scan it with your phone and drag it into the pet's row before the end of your shift. Not tomorrow. Not "when I get to it." Today.
- Protected ranges on the master pet tab so nobody accidentally deletes the vaccination formulas. (This happened. Twice.)
The dropout rate on new systems is brutal — I've introduced three different "organizational systems" to my staff over the years, and two of them lasted about a week. This one stuck because the barrier to entry is so low. They already know Google Sheets. The dropdowns prevent typos. And dragging a file into a cell is genuinely faster than navigating to a Drive folder, creating a subfolder, and uploading it there.
The Dashboard Tab: What Needs My Attention Right Now
Once I had the pet master tab and the service log humming along, I added one more tab — a simple dashboard. It pulls three numbers:
- Number of pets with vaccinations expiring in the next 30 days (=COUNTIF formula against the expiration columns).
- Number of pets with missing or expired waivers.
- Today's check-ins and check-outs (pulled from a simple booking log).
That's it. Three numbers. I check them when I unlock the front door with my coffee in hand, and I know exactly what kind of day I'm walking into. If the vaccination count is above zero, I handle it before the first dog arrives. If there's a missing waiver, I call the owner before they're standing in my lobby.
The dashboard formula for counting pets with rabies expiring within 30 days (assuming expiration dates in column F of the "Pets" tab):
Not fancy. Doesn't need to be. The best dashboard is one you actually look at, and you'll look at it if it answers the question "what's about to go wrong" in under three seconds.
What This System Won't Do (and When to Upgrade)
I'm not going to pretend a Google Sheets setup replaces real kennel management software for everyone. If you're running 50+ runs, multiple locations, or need integrated online booking and payment processing, you'll eventually outgrow this. Tools like Gingr, PetExec, or Time To Pet handle booking flows and client portals that a spreadsheet just can't replicate.
But here's the thing — I know operators running 30-run facilities who are still on spreadsheets because the software options are either too expensive or too rigid. And I know operators who pay for Gingr AND still keep a side spreadsheet because the software's document management is frustrating. If that's you, this system handles the gap: vaccination tracking, waiver storage, and service documentation that's actually findable.
The first thing to do — today, before you close this tab — is open a new Google Sheet and make one row for every pet that's booked to come in this week. Add their vaccination expiration dates. Attach their rabies certificate to the row. Just that. Don't try to build the whole system at once. Build the row, feel how much faster check-in gets, and let the rest follow.
Frequently Asked Questions
How do I attach vaccination records directly to a Google Sheets row?
You can use the FileFox add-on to drag and drop PDFs, photos, and scanned documents directly into any cell in Google Sheets. Each file stays linked to that specific row — so a pet's rabies certificate lives right next to their name, not in a separate folder. No formulas or coding required.
What's the best free template for tracking pet boarding and grooming clients in Google Sheets?
The veterinary boarding and kennel tracker template is a strong starting point — it includes columns for pet details, owner info, feeding instructions, vaccination dates, and file attachments per row. You can add or rename columns to cover grooming services, daycare, or training without rebuilding the whole thing.
How do I set up automatic vaccination expiration reminders in Google Sheets?
Use conditional formatting with a formula like =F2-TODAY()<=60 to highlight cells that are approaching expiration. You can set up multiple tiers — green for current, yellow for expiring within 60 days, red for expired or within 14 days. For actual email reminders, you'd need a simple Google Apps Script, but a weekly manual scan of highlighted rows works for most small facilities.
Can Google Sheets replace kennel management software like Gingr or PetExec?
For small to mid-size operations (under 30 runs), Google Sheets can handle pet records, vaccination tracking, service logs, and document storage effectively. It won't replace online booking portals or integrated payment processing that dedicated software offers. Many operators use both — software for client-facing booking and Sheets for internal document management.
How do I organize pet service records by pet instead of by owner in Google Sheets?
Create your master tab with one row per pet, not per owner. Include the owner's name and contact info as columns within the pet's row. Use data validation dropdowns to link pets to their owners, and use Google Sheets' filter function to quickly pull up all pets belonging to one owner when needed.