A patient walks in for a routine exam. Halfway through, you notice early diabetic retinopathy. Suddenly the visit shifted from a $55 routine refraction billable to VSP into a $150 medical evaluation billable to her Blue Cross plan — with a refraction kicker still owed by the vision plan. If your books treat both encounters as one undifferentiated "exam revenue" line, you've already lost the ability to see whether your medical billing program is actually working.
This is the everyday reality of running an independent optometry practice in 2026. You sell prescription glasses, fit contact lenses, perform medical eye exams, dispense pharmaceuticals, and run an in-house finishing lab — five distinct business lines that share one waiting room and one accounting system. Each line has its own margins, its own billing pathway, and its own KPI buyers and lenders care about. Bookkeeping that lumps them together leaves money on the table and, worse, hides it from you.
Here's a practical guide to building a chart of accounts, billing workflow, and reporting cadence that matches how an optometry practice actually earns and spends.
Why Optometry Bookkeeping Is Different From Other Healthcare
Most medical practices bill a single category of payer: health insurance. Optometry practices bill two distinct insurance universes that follow entirely different rules.
Vision plans like VSP, EyeMed, Davis Vision, Spectera, and Superior Vision are eyewear benefit programs. They cover a routine refractive exam, a frame allowance, a lens allowance, and a contact lens fitting on a 12- or 24-month frequency cycle. Reimbursement runs $45 to $70 per encounter for the exam, plus wholesale-cost reimbursement plus a fixed markup on materials. Many use capitation: VSP pays a per-member-per-month fee for the panel, then layers fee-for-service on top.
Medical insurance — Medicare, Medicaid, Aetna, Blue Cross, United — pays $120 to $180 for the same chair time if the visit is documented as medically necessary (dry eye, diabetic exam, glaucoma workup, foreign body removal, etc.). There's no frequency cap, but there's also no eyewear allowance.
Patients routinely carry both. Your front desk decides which gets billed first based on chief complaint and diagnosis, and that decision moves real dollars. The CMS CY 2026 Medicare Physician Fee Schedule final rule set the qualifying APM conversion factor at $33.57 and the non-qualifying factor at $33.40, with a 2.5% efficiency adjustment applied to most non-time-based services — so medical billing math changed again this year, and your fee schedule masters need to keep up.
The accounting consequence: you need at minimum two parallel revenue streams in your chart of accounts (medical and routine vision), and ideally a third for self-pay so you can see which channel is growing.
Building a Chart of Accounts That Matches the Five Profit Centers
A clean chart of accounts for an independent optometry practice separates revenue and COGS into the five lines that have meaningfully different margins. Anything less granular and you can't run a real P&L by segment.
Revenue Accounts
- Professional Services — Routine (refractions billed to vision plans and self-pay)
- Professional Services — Medical (medical exams, diagnostic testing, in-office procedures)
- Optical — Frames (frame revenue net of vision plan allowances)
- Optical — Lenses (single vision, progressive, premium AR, photochromic)
- Contact Lenses (annual supplies, fittings, online dispensing)
- Ancillary (specialty lenses, low-vision aids, dry-eye products, supplements)
Contra-Revenue Accounts
- Insurance Adjustments — Vision
- Insurance Adjustments — Medical
- Refunds and Allowances
Contra-revenue accounts matter because gross charges and net collections differ by 30 to 50 percent in most practices. If you only book net, you lose the ability to see your write-off pattern by payer and you'll never catch when one carrier silently tightens its fee schedule.
Cost of Goods Sold
- COGS — Frames
- COGS — Stock Lenses and Lab Fees
- COGS — Contact Lenses
- In-House Lab Supplies (edger blades, blocking pads, polish, layout sheets)
Industry guidance generally targets total COGS at no more than 30 percent of gross revenue, and the consensus among optometry CPAs is to track frames, lenses, and contact lenses on three separate sub-ledgers. Contact lens economics — sometimes 10 to 15 percent gross margin on annual supplies because of competition with online discounters — are so different from frame economics (45 to 60 percent gross margin) that blending them creates a misleading "optical margin" number.
Liability Accounts You Probably Don't Have Yet
- Patient Credits Payable (overpayments awaiting refund)
- Deferred Revenue — Contact Lens Annual Supplies (paid but not yet shipped)
- Deferred Revenue — Spectacle Deposits (paid but order not yet delivered)
- Vision Plan Capitation — Unearned (PMPM payments not yet earned by service)
Capitation receipts are not revenue when they hit the bank — they're earned as the panel uses the benefit during the month. Patient deposits for unfinished glasses are a liability until the patient picks them up. These are textbook ASC 606 contract liabilities, and they're the number one source of overstated income in optometry books bookkept by general bookkeepers who don't know the industry.
Billing the Two-Plan Patient: The Workflow That Captures Both Checks
Coordination of benefits (COB) is where independent practices either thrive or quietly leak cash. The mechanical workflow looks like this:
- Verify both plans at scheduling. Front desk pulls eligibility on the routine vision plan (VSP, EyeMed, etc.) and the medical plan. Many practice management systems automate the first; the second often requires a payer portal login and is the more frequent miss.
- Document chief complaint in the patient's own words. "Annual check, vision blurry at distance" is routine. "Eyes burning, eye pain, family history of glaucoma" is medical. The chief complaint dictates which plan gets the primary claim.
- Bill the medical plan first when supported by diagnosis. A medical evaluation and management code (e.g., 92004, 92014, or 99203–99215 depending on practice) with an ICD-10 diagnosis like H40.11X1 for primary open-angle glaucoma generates the higher reimbursement.
- Coordinate the refraction (92015) to the vision plan. Medicare doesn't cover refraction, and most commercial medical plans don't either. Vision plans do. Submitting 92015 separately to the routine vision carrier recovers $25 to $55 that would otherwise become a write-off or a patient balance.
- Apply patient responsibility cleanly. Co-pays, coinsurance, and deductibles should be collected at check-out, before the patient leaves. Industry data consistently shows the probability of collecting a patient balance falls below 50 percent within 30 days of the visit.
Misclassifying medical visits as routine — usually because the chart didn't document medical necessity — is the single largest revenue leak in optometry billing, easily $40,000 to $100,000 per OD per year in a practice with a strong medical patient mix.
Tracking Frame, Lens, and Contact Lens Inventory Without Drowning
A 1,000-piece frame board represents $60,000 to $200,000 of capital sitting on display. Treating it like a single inventory number is dangerous because frames have radically different velocities — your top 20 percent of SKUs turn five or six times a year while the bottom 20 percent might not turn once.
Frames
Track frames at the brand and collection level at minimum, ideally at the SKU level if your practice management system supports it. The metrics that matter:
- Turn rate: cost of frames sold ÷ average frame inventory at cost. Healthy practices run 1.5 to 2.5 turns annually on the board overall, with top sellers turning four-plus times.
- Sit time: average days a frame sits before it sells. Anything older than 365 days is a candidate for a trunk show clearance or a return-to-vendor (RTV) if the rep allows.
- Margin by vendor: some luxury houses give you 50 percent off keystone, others 40 percent — the difference compounds at the case level.
Book frame purchases to an inventory asset, not to expense at the time of purchase. Run a physical count at least annually (quarterly is better for high-end practices), and book the variance to Frame Shrinkage. A 1 to 2 percent shrinkage rate is normal; 5 percent suggests theft, board mismanagement, or — most commonly — a clerical lag between dispensing and inventory deduction in the practice management system.
Lenses and In-House Lab
If you partner with an outside lab, your "stock lenses" expense is largely lab invoices. Book them as COGS in the period the corresponding frames were dispensed, not the period the lab billed you. This is a matching-principle issue that trips up cash-basis practices: a $400 progressive lens billed by the lab in March against a frame that won't dispense until April creates a fake March loss.
If you have an in-house finishing lab, capitalize the edger (typically $15,000 to $40,000) and depreciate it over five to seven years under MACRS. Lab supplies — blocking pads, alloy, polishing compound — are expensed as consumed, and lab time should be tracked because it's the comparison point for the make-versus-buy decision against an outside lab.
Contact Lenses
Most practices run a hybrid model: dispense diagnostic trial lenses from in-office stock, then drop-ship annual supplies from a distributor like ABB Optical or directly from the manufacturer. The drop-shipped piece is critical for accounting:
- When the patient pays for a year's supply up front, that's deferred revenue until the boxes actually ship.
- When the manufacturer ships, recognize revenue and the matching COGS.
- For "shipping over time" subscription models (some practices push these), recognize ratably across the supply period.
Skip this and you'll overstate March revenue by every contact lens supply not yet shipped, then understate April when the boxes arrive but no revenue posts.
The KPIs Buyers and Lenders Ask About
When a practice broker, lender, or acquirer like Vision Source or MyEyeDr. requests financials, they don't just want the P&L — they want the operating ratios. If your books can produce these in five minutes, you've already differentiated yourself from 80 percent of practices on the market.
- Revenue per comprehensive exam: total practice revenue ÷ refractive eye exams. National median is around $285. Top performers exceed $350. Below $250 means weak optical capture or under-billed medical.
- Optical capture rate: complete pairs of glasses dispensed ÷ exams with refraction. Industry-good is 65 percent; top practices hit 75 percent. Every point of capture is worth roughly $15,000 to $30,000 annually for a typical practice.
- Frames-to-exams ratio: frames dispensed ÷ exams. Tracks whether multiple-pair selling is working; healthy ratios run 1.05 to 1.25.
- Refractions per OD hour: 1.7 is the sweet spot most consultants cite — high enough for chair productivity, low enough to leave the optical time to dispense.
- COGS as percent of net revenue: aim for 28 to 32 percent total, with frames 18 to 22 percent and contact lenses tracked separately.
- Staff cost as percent of net revenue: 22 to 28 percent excluding the owner-OD.
- Patient retention: returning patients ÷ patients due. Target 85 to 90 percent.
Buyers also want a practice EBITDA normalized for owner compensation — meaning the seller's compensation is added back and replaced with a market-rate associate-OD salary. A practice that throws off $700K in cash to a single owner-OD might EBITDA at $250K once a $180K replacement OD salary, the owner's vehicle, and a spouse's "office manager" payroll line are normalized away. Build your books from day one to make that normalization easy — discrete accounts for owner compensation, owner perks, and non-recurring items — and a sale process takes weeks instead of months.
Common Bookkeeping Mistakes That Cost Optometry Practices Real Money
A few patterns we see again and again in practices that come in with messy books:
- Booking insurance receipts to revenue net of contractual adjustments, then having no way to analyze adjustment rates by payer. Always book gross charges and the contractual adjustment separately.
- Treating capitation checks as revenue on receipt instead of recognizing as the panel uses the benefit. Overstates Q1, understates Q4.
- Mixing patient credits with deposit liabilities. A patient who paid $400 for glasses not yet picked up is a liability. A patient who overpaid by $40 on a finished sale is a credit waiting to be refunded or applied. They're different liabilities and they shouldn't sit in one account.
- Expensing frames at purchase instead of capitalizing inventory. Cash-basis is acceptable for small practices for tax purposes, but you still need an accrual view internally — otherwise margin reporting is fiction.
- Failing to track contact lens revenue and COGS separately from optical, which buries a low-margin product line inside a high-margin one and disguises whether contacts are profitable at all.
- Owner expenses paid through the practice without isolation: vehicle, phone, "consulting" to a spouse. Fine for tax planning, fatal for an eventual sale because you can't prove EBITDA.
Keep Your Practice's Financial Story Clean From the First Patient
Whether you're opening a cold-start practice, buying into a partnership, or running an established multi-location group, the difference between a practice that scales and one that stalls usually shows up first in the books. Clean revenue segmentation, real inventory accounting, capitalized assets, and KPI-ready reporting let you make pricing, hiring, and expansion decisions on facts instead of feelings.
Beancount.io provides plain-text, version-controlled accounting that gives optometry practice owners full transparency into where every dollar comes from and where it goes — no proprietary file formats, no vendor lock-in, and a structure that maps cleanly to the multi-segment chart of accounts an optometry practice needs. Get started for free and see why owner-ODs and practice CPAs are switching to plain-text accounting for clarity that survives every audit, sale, and partnership conversation.