A 40-run kennel that fills every Friday night and sits at 35% midweek occupancy is not the same business as one that fills every night at 80%. Same revenue on the P&L, completely different economics — but only if your books are wired to show it. Most pet care owners do not lose money on grooming or boarding because the prices are wrong. They lose it because their chart of accounts blends services with retail, scheduling software runs on a calendar instead of a fiscal period, and "deposits" sit in revenue weeks before the dog arrives.
This guide walks through how kennel, daycare, and grooming operators should structure their books so that every run-night, every nail trim, and every bag of kibble lands in the right account on the right date — and how to reconcile what Gingr or PetExec reports against the bank deposits that actually hit your account.
Why pet care bookkeeping is harder than it looks
A boarding facility with a small grooming salon and a retail front desk is really three businesses sharing a building:
- Services (boarding, daycare, grooming, training) — earned over time as the dog is in your care, with deposits collected weeks in advance.
- Retail (food, treats, leashes, toys) — earned at the moment of sale, with cost of goods sold and inventory to track.
- Pass-throughs (sales tax, tips for groomers, prepaid packages) — never your revenue, but easy to misclassify as such.
Each of those has different revenue recognition rules, different margins, and in many states, different sales tax treatment. If you let your scheduling platform dump one big "deposit" number into a single "Sales" account each day, you will never be able to answer the questions that drive a pet care business: which service line is actually profitable, what is happening to grooming margin, and whether your $59 standard suite or your $99 luxury suite is carrying the kennel.
Build a chart of accounts that separates revenue by service line
Start with the principle that revenue and direct costs should be split by service line — not by location, not by employee. A useful baseline structure looks like this:
Revenue (4000s):
- 4010 Boarding — Standard
- 4020 Boarding — Luxury / Suite
- 4030 Daycare — Single Day
- 4035 Daycare — Multi-Day Packages
- 4040 Grooming — Full Service
- 4045 Grooming — Bath & Brush
- 4050 Training — Group Classes
- 4055 Training — Private Sessions
- 4090 Add-Ons (medication, extra walks, peanut butter Kongs, photo updates)
- 4100 Retail — Food
- 4110 Retail — Toys & Accessories
- 4200 Tips Collected (contra account; offsets payroll)
Cost of Services / COGS (5000s):
- 5010 Direct Labor — Boarding Attendants
- 5020 Direct Labor — Groomers
- 5030 Direct Labor — Trainers
- 5040 Pet Food & Treats Consumed (kennel-supplied meals)
- 5050 Cleaning & Sanitation Supplies
- 5100 Retail COGS — Food
- 5110 Retail COGS — Toys & Accessories
Liability accounts (2000s) that pet care owners often miss:
- 2300 Deferred Revenue — Boarding Deposits
- 2310 Deferred Revenue — Grooming Deposits
- 2320 Deferred Revenue — Daycare Packages (unredeemed days)
- 2330 Deferred Revenue — Training Programs
- 2400 Sales Tax Payable
- 2410 Gratuities Payable (tips owed to groomers/trainers)
Set those up before you import a single transaction. If your books cannot tell you the gross margin on grooming separately from boarding, you cannot make a pricing decision on either one.
Recognize boarding revenue per run-night, not per booking
Here is where a lot of small kennels get into trouble: a customer books a 10-night stay over the holidays, pays a 50% deposit on December 1, and arrives December 22. If you book that deposit as December revenue, you have:
- Overstated December income.
- Understated January income (when the dog actually stays half the trip).
- Triggered sales tax in the wrong period in states that tax boarding services.
- Created a misleading occupancy comparison against last year.
The right treatment is per-run-night revenue recognition — essentially the same model hotels use:
- When the deposit is collected, debit Cash, credit 2300 Deferred Revenue — Boarding Deposits.
- For each night the dog is actually on premises, recognize 1/N of the booking value (where N is the number of nights) as boarding revenue.
- On checkout, recognize the remaining nights plus any incidental add-ons (medication administration, extra walks, take-home grooming).
If you operate on a cash basis for tax purposes, you still need this discipline for management reporting — otherwise occupancy reports, RevPAK trends, and per-suite margin analysis will be garbage. Most accounting platforms let you keep cash basis for the tax return and accrual basis for internal P&Ls; use both.
A simple revenue-per-night example
Booking: 6 nights at $65 standard suite, $50 deposit on the date of booking, balance due at checkout. Two add-on baths at $35 each on day 5.
- Booking date: Cash $50 / Deferred Revenue $50.
- Each of nights 1–6: Deferred Revenue $50/6 = $8.33 plus a receivable of ($65 − $8.33) per night for the unpaid balance, recognized as revenue.
- Day 5: Bath services recognized $70 to 4045 Grooming — Bath & Brush (not boarding).
- Checkout: collect remaining balance, clear AR.
The total ($65 × 6) + $70 = $460 flows through, but each dollar lands in the right service line on the right night. That is what makes "boarding gross margin" a real number.
Allocate add-ons to the service that actually produced them
A medicated bath added to a boarding stay is not boarding revenue — it consumed groomer time, used grooming products, and should land in 4045 Grooming — Bath & Brush (or a dedicated 4046 Medicated Bath account, if volume justifies it). Same logic for:
- Extra play time / one-on-one walks → 4090 Add-Ons (or a Daycare sub-account if the staff is from daycare).
- Medication administration → 4090, with a corresponding 5040 expense bump if the meds came from your inventory.
- Take-home food packs → Retail (4100), not boarding — even if you billed them on the same invoice.
- Photo updates and webcam access → 4090 (essentially pure margin; track separately to evaluate uptake).
If your software lumps all of these under "boarding," you will systematically overstate boarding margin and starve the grooming or add-on lines of the investment they deserve.
Treat vaccination records as operational records, not accounting records
Rabies, DHPP, and Bordetella documentation are required by most facilities, with Bordetella typically needing to be current within 12 months and administered at least 48 hours before check-in. These records are operational compliance documents — they belong in your scheduling software (Gingr, PetExec, Kennel Connection, Revelation Pets) or a dedicated client management system, not in QuickBooks.
That said, your bookkeeper should know they exist because:
- Expired vaccinations on file are a legal and insurance exposure. Most facilities are required to keep vaccine records on file for at least 12 months for each animal boarded.
- A missed-stay refund due to expired vaccinations is a revenue adjustment that should be tracked (a "Refunds & Concessions" contra-revenue account is useful here).
- Insurance audits, USDA APHIS inspections, and state-level kennel inspections may pull records, and your accounting trail needs to match the operational record of who was on premises when.
Build a simple monthly close checklist that includes a vaccination-records audit alongside the bank reconciliation — owners who treat compliance as part of close avoid the worst version of this problem: a bite incident with a dog whose Bordetella expired three weeks earlier and whose record was never updated.
Reconcile Gingr / PetExec with the general ledger every week
Both Gingr and PetExec offer QuickBooks integrations, but "integration" almost never means "perfect mirror." The integration usually pushes a daily summary entry, not individual invoices, and there are four predictable places where it drifts from the bank deposit:
- Stripe / merchant processor fees — Gingr or PetExec reports gross revenue; your bank deposit is net of processor fees. You need a recurring entry to 6200 Merchant Processing Fees to bridge the gap.
- Tips collected — Tips are not your revenue; they should land in 2410 Gratuities Payable and clear when you pay the groomer or trainer through payroll. If they flow into a sales account, you will overpay payroll tax on yourself.
- Deposits collected for future stays — These should hit 2300 Deferred Revenue, not boarding revenue, until the stay occurs. Most software does not handle this automatically; you will need a recurring journal entry.
- Refunds and credits — Software often nets these against gross sales in the daily summary; your bank statement shows them as separate debit transactions. They need to be split out.
A weekly reconciliation routine that works:
- Pull the Gingr/PetExec daily sales summary report for the week.
- Compare the gross revenue line to the sum of credit card batches that hit the bank, plus cash deposits, plus check deposits.
- Identify and journal: processor fees, tip pass-throughs, deposits → deferred revenue, refunds.
- Confirm the deferred revenue balance ties to the open bookings report from the software (every dollar in 2300 should correspond to a future stay or unredeemed package).
Owners who skip the weekly cadence end up doing this once a year for the tax return and discovering that "boarding revenue" includes $14,000 of unrecognized deposits and $4,800 of groomer tips.
Track KPIs that actually drive decisions
With the chart of accounts above wired correctly, you can produce the operating metrics that pet care owners need:
- Revenue per available kennel night (RevPAK) — gross boarding revenue divided by (kennels × nights in period). Borrowed from hotels; the single best measure of pricing power.
- Occupancy rate — booked nights divided by available nights. Track separately for standard vs. suite — they are different markets.
- Effective rate per night — recognized boarding revenue divided by booked nights, after discounts. A drop here without an occupancy drop means promo cannibalization.
- Add-on attach rate — percentage of stays that include at least one add-on. Strong operators run 35–50%; under 20% means staff are not asking.
- Grooming revenue per groomer-hour — gross grooming revenue divided by groomer labor hours. The grooming side stands or falls on this number.
- Retail gross margin — retail revenue minus retail COGS, as a percentage. Anything under 35% means you are selling food at supermarket prices without supermarket volume.
Premium facilities with webcams, climate control, and individualized care plans commonly price at $50–$75 per night versus $25–$40 for traditional kennels; profit margins across the industry typically fall in the 10–30% range, with diversified facilities (boarding + daycare + grooming + retail) clustering at the higher end. Those headline numbers only mean something if your books can show you which of your service lines is doing the work.
A close checklist for pet care owners
A monthly close that takes a small kennel two hours, done well, looks like:
- Reconcile bank and merchant processor to the GL.
- Roll deferred revenue: every open booking ID in the software should have a matching deferred balance.
- Confirm tips payable balance matches what is owed to groomers/trainers.
- Inventory count for retail (cycle counts weekly if you can; full count monthly minimum).
- Sales tax accrual entry — separating service revenue from retail revenue based on your state's rules.
- Review vaccination compliance report from Gingr/PetExec; flag expirations.
- Pull RevPAK, occupancy, attach rate, and grooming-per-hour reports; compare to prior period.
- Sign off on the P&L by service line.
Owners who run this checklist make pricing decisions on data. Owners who skip it usually find out a year too late that the daycare program they thought was their flagship has been subsidized by the boarding side the whole time.
Keep Your Pet Care Books as Disciplined as Your Operations
You enforce vaccination records, run sanitization checklists, and verify that every dog goes home with the right family. Your bookkeeping deserves the same discipline. Beancount.io gives pet care operators a plain-text, version-controlled ledger where every run-night, every deposit, and every reconciliation entry is auditable and yours forever — no vendor lock-in, no opaque black box behind the dashboard. Get started for free and bring the same operational rigor to your books that you already bring to your kennel.