Pabau Engage inbox

Pabau Engage is here: every patient conversation in one inbox.

Learn more
HCPCS Code

HCPCS code V2020 – Spectacle frames


Code Definition

V2020 is the HCPCS Level II code for frames, purchases. It reports the spectacle frame dispensed with a prescription eyeglass order, while each lens is billed on its own line with a separate V-code.

Medicare Part B excludes routine eyeglasses. It pays for V2020 only as part of one pair of eyeglasses after each cataract surgery with an intraocular lens (IOL) implant. Other payers cover frames through vision plans or state Medicaid benefits, each with its own frequency limits.

Level
Level II
Category
V — Vision and hearing services
Code range
V2020-V2025 Frames
Billable
No
Code also known as
eyeglass frames, optical frames, prescription eyeglass frames
Save time. Improve accuracy. Get paid faster.
Automate coding with Pabau

Let Pabau's smart automation suggest the right codes, reduce claim denials, and keep your practice compliant—effortlessly.

  • AI-powered code suggestions
  • Real-time compliance checks
  • Faster claims, fewer denials
Why practices choose Pabau
Save hours every week

Automate repetitive tasks and focus on what matters most—your patients.

Improve accuracy

Reduce coding errors and ensure compliance with the latest regulations.

Get paid faster

Clean claims, fewer denials, and faster reimbursements.

Grow with confidence

Powerful insights and reporting to help your practice thrive.

HIPAA compliant SOC 2 certified GDPR-compliant Trusted by 4,000+ clinics worldwide

Key takeaways

Key takeaways

HCPCS code V2020 reports the spectacle frame only, and each lens is billed on its own line with a separate V-code.

Medicare Part B excludes routine eyeglasses but covers one pair of eyeglasses after each cataract surgery with IOL implantation. Frames are paid up to the Medicare allowance.

Many payers require modifier NU (new equipment), while LT, RT and RR do not apply to spectacle frames.

Upgraded frames are billed on V2025, and a signed ABN covers the non-covered upgrade amount.

Pabau, the practice management platform we build, checks claims for missing insurer details before submission and tracks each one through to payment.

HCPCS code V2020: Official descriptor and code details

HCPCS code V2020 is the HCPCS Level II code for spectacle frames. The Centers for Medicare and Medicaid Services (CMS) lists it under the official descriptor “Frames, purchases” in the HCPCS code set. V2020 reports the frame dispensed with a prescription eyeglass order. Lenses are never part of it, and each one is billed on a separate claim line.

FieldDetail
CodeV2020
Long descriptorFrames, purchases
Short descriptorSpectacle frames
Code typeHCPCS Level II supply/materials code
CategoryV-series (vision/hearing)
Code setHCPCS Level II (not CPT)
Termination dateNone (active code)

V2020 is a supply code that reports the physical frame dispensed to the patient. The provider’s exam and refraction are billed separately, so V2020 carries only the materials cost on the claim.

What V2020 covers and what it does not

V2020 covers the spectacle frame only. It applies to any frame style dispensed with prescription lenses as part of a complete eyeglass order. Lens costs are always reported on their own lines.

  • Covered: Spectacle frames of any style (full-rim, semi-rimless, rimless) dispensed as part of a prescription eyeglass order.
  • Covered: Replacement frames, when payer policy permits and a new dispensing event is documented.
  • Not covered by V2020: Lens costs. Single-vision lenses use the V2100-V2199 codes, bifocals use the V2200 series, and trifocals use the V2300 series.
  • Not covered by V2020: Contact lenses or contact lens cases.
  • Not covered by V2020: Non-prescription (plano) frames with no corrective lenses.
  • Not covered by V2020: The professional exam or refraction service, which uses a separate CPT code.

A common billing error is combining the frame and lens costs on a single line. V2020 and each lens code must appear on separate lines of the CMS-1500. Payers edit for this, and a bundled submission typically triggers a CO-97 denial.

How V2020 pairs with V-series lens codes

V2020 usually appears with a lens code on the same claim. Frame-only claims are valid for replacement frames when the payer allows it. Knowing which lens codes pair with V2020 prevents a missing lens line, and it stops V2020 being billed when only lenses were dispensed.

CodeDescriptor summaryBilled with V2020?Notes
V2020Spectacle frames, any styleN/A (this code)Frame only, on its own line
V2100Single vision, sphere only, plano to +/-4.00d, per lensYesMost common lens pairing, one code per lens
V2101Single vision, sphere only, +/-4.12 to +/-7.00d, per lensYesHigher-power single-vision sphere
V2103Single vision, sphero-cylindrical, plano to +/-4.00d sphere, .12 to 2.00d cylinderYesPost-cataract prescriptions frequently fall here
V2115Single vision, lenticular (myodisc)YesHigh-minus prescriptions
V2199Single vision, not otherwise classifiedYesUse when no specific V21xx code applies

Each lens is billed on its own line. A single-vision pair usually means V2020 on line one and V2100 or another V21xx code on lines two and three, one per eye. Bifocal lenses use the V2200-series codes.

Progressive lenses take the base lens code plus the add-on V2781, which reports a progressive lens, per lens. Check lens code selection against the prescription before you submit, because payers audit lens type against refraction data in the record.

Medicare coverage rules for V2020

Medicare Part B does not cover routine eyeglasses or spectacle frames. The exclusion is statutory, under Social Security Act Section 1862(a)(7). Billing V2020 to Medicare for routine vision correction results in a CO-96 denial.

The exception is narrow. Medicare covers one pair of eyeglasses or contact lenses after each cataract surgery in which an intraocular lens (IOL) is implanted. The rule sits in Social Security Act Section 1861(s)(8) and Medicare Benefit Policy Manual Chapter 15, Section 120. The surgery itself is usually billed on 66984.

  • Trigger: Cataract surgery with IOL insertion must be documented in the medical record.
  • Frequency: One pair of eyeglasses or contact lenses after each cataract surgery with IOL. Surgery on the second eye starts a new benefit, and the allowance applies per benefit, not annually.
  • Frame allowance: Medicare pays frames up to a set allowance. Check the current figure in the CMS DMEPOS fee schedule, because it changes each year and must not be hard-coded into claim templates.
  • Participating suppliers: Only a Medicare-enrolled DME supplier or optical dispenser can bill the post-cataract benefit.
  • Assignment: Suppliers must accept assignment for the post-cataract eyeglass benefit.
  • ABN: Upgraded frames are billed on V2025 (deluxe frame), not V2020. An Advance Beneficiary Notice of Noncoverage (ABN), signed before dispensing, covers the non-covered upgrade amount.

Three checks decide whether Medicare pays for the frame at all, and whether the claim takes V2020 or V2025.

Decision diagram for Medicare frame claims: 1. cataract surgery with IOL implant, if no it is a routine exclusion (CO-96); 2. first pair since that surgery, if no the benefit is used; 3. standard frame bills V2020, upgraded frame bills V2025 with a signed ABN for the upgrade amount
A standard frame after cataract surgery goes on V2020, while an upgrade moves to V2025 with an ABN. Rules from Medicare Benefit Policy Manual Chapter 15, Section 120.

Medicare Advantage plans may extend coverage beyond the statutory exception. Each plan sets its own optical benefit, including frame allowances, covered frequencies, and in-network dispensers. Verify the member’s plan benefit before you submit a V2020 claim under Medicare Advantage.

Pro Tip

Before you submit any V2020 claim for a Medicare patient, confirm the cataract surgery date and IOL implantation in the operative note. Payers audit this retroactively. A copy of the surgical report or a summary note from the operating surgeon, kept in the dispensing record, satisfies most post-payment review requests.

Medicaid and commercial payer policies for V2020

Medicaid optical benefits vary significantly by state. Some state Medicaid programs cover annual frame replacements for adults, while others limit coverage to children under a set age or to medically necessary replacements. There is no national Medicaid rule for V2020 beyond what CMS mandates for mandatory benefit populations.

  • Children (EPSDT): Most state Medicaid programs cover frames under Early and Periodic Screening, Diagnostic, and Treatment (EPSDT) vision benefits. Frequency varies by state.
  • Adults: Coverage ranges from annual benefits in some states to full exclusion in others. Check the state Medicaid optical fee schedule before dispensing.
  • Prior authorization: Several state Medicaid programs require prior authorization for frames above a set cost threshold. Submit the PA request before dispensing, not after.
  • Commercial payers: Most vision plans (VSP, EyeMed, Spectera, Davis Vision) cover frames on an annual or biennial frequency. Verify member eligibility and remaining benefit before the appointment.
  • Coordination of benefits: When a patient has both a medical plan and a vision plan, the medical plan is primary for post-cataract benefits. The vision plan may cover a routine prescription in the same calendar year, depending on plan rules.

Documentation requirements for V2020 claims

V2020 claims are supply-based, so the documentation must show that a frame was physically dispensed. A prescription in the record is necessary but not sufficient on its own.

  • Valid written prescription: Signed by a licensed optometrist or ophthalmologist and dated within the payer’s validity window, typically 12-24 months.
  • Itemized dispensing receipt: Shows the specific frame dispensed, its cost, and the date of dispensing.
  • Patient delivery confirmation: A patient signature or documented acknowledgment that the eyeglasses were received. The delivery date is the date of service for V2020, not the prescription date.
  • NPI of the dispensing provider or supplier: Enter the optical dispenser’s NPI (or DMEPOS supplier number, where required) in Box 33 of the CMS-1500.
  • Date of service: The date the frames were dispensed to the patient (Box 24A), not the examination date.
  • Place of service code: Typically 11 (office) for dispensing in an optometry or ophthalmology office. Use the code that matches where the patient received the frames.
  • ABN (Medicare only): For an upgraded frame billed on V2025, a properly executed ABN must be signed before dispensing and kept on file. It covers the non-covered upgrade amount.
  • Surgical documentation (Medicare post-cataract): An operative report or surgical summary confirming IOL implantation.

Keep the itemized dispensing receipt and delivery confirmation in the patient chart. These are the two documents most often requested during post-payment audits of V2020 claims. Missing either can lead to full recoupment of the allowed amount.

Modifiers used with V2020

Modifier selection for V2020 is often misunderstood. Frames are not side-specific and are never rented, so the most common modifiers in other HCPCS categories do not apply here.

ModifierApplies to V2020?When appliedNotes
NUYesNew equipment dispensedRequired by many payers, including Medicare for DMEPOS claims. Verify payer policy.
RRNoRentalSpectacle frames are not rented, so never apply RR to V2020.
LTNoLeft sideFrames are not unilateral items, so LT or RT on V2020 triggers a denial.
RTNoRight sideFrames cover both eyes, so lateral modifiers do not apply.
RAPayer-specificReplacement of a lost or stolen itemSome Medicaid and DME payers require RA for replacement frames. Verify state or payer policy.

The NU modifier is the one billing staff most often omit. Several Medicare Administrative Contractors and vision payers require NU on all DMEPOS supply codes to confirm the item is newly dispensed. Check the applicable Local Coverage Determination (LCD) or payer billing guide before you default to no modifier.

How to bill HCPCS code V2020 step by step

The billing sequence for V2020 follows a set path on a CMS-1500 or 837P electronic claim. Each step matters, because payers run automated edits on optical claims before any human reviewer sees them.

Pabau checkout screen showing a completed invoice routed to the patient’s insurer
Pabau’s invoicing routes each completed invoice to the insurer saved on the patient record, so frame and lens lines reach the claim without re-keying.
  1. Confirm payer coverage before dispensing. Check the member’s optical benefit or Medicare post-cataract eligibility. A frame dispensed without confirmed coverage is unlikely to be reimbursed retroactively.
  2. Verify the Medicare post-cataract exception if you bill Medicare. Confirm IOL implantation in the surgical record, and check that this is the patient’s first pair since that surgery.
  3. Enter V2020 in Box 24D on the CMS-1500. Append modifier NU if the payer requires it. Bill one unit, and keep the lens cost off this line.
  4. Enter lens codes on separate lines. Use one line per lens per eye. For most post-cataract claims, V2020 goes on line one, with the single-vision lens code on lines two and three, each with NU if required.
  5. Set the date of service to the dispensing date in Box 24A, not the examination date or the surgery date.
  6. Enter the dispensing provider’s NPI in Box 33 (billing provider) and Box 24J (rendering provider NPI). If you bill as a DMEPOS supplier, include the supplier’s Medicare-assigned provider number where required.
  7. Attach supporting documentation as the payer requires. For Medicare post-cataract claims, some MACs want the surgical report with the initial claim or on request. Keep it in the patient file regardless.

For a clean claim, check that no field is missing or invalid before you send it. The usual clean-claim failures on V2020 are a wrong date of service, a missing NPI, and a missing modifier the payer’s LCD requires.

Common V2020 denial reasons and how to fix them

V2020 denials cluster around four root causes, which are coverage exclusions, duplicate submissions, missing modifiers, and frequency violations. The denial code on the Explanation of Benefits shows which issue triggered the edit. Sorting denials by category with structured denial management shortens the resolution cycle.

Denial codeRoot causeCorrective action
CO-96Non-covered charge. The Medicare routine vision exclusion applies.Confirm whether the post-cataract exception applies. If it does not, bill the patient directly.
OA-18Exact duplicate of a claim already adjudicated.Do not resubmit the same claim. If the original was denied in error, file a corrected claim or an appeal with supporting documentation.
CO-97Bundling edit. The frame cost was submitted with a lens code on the same line.Split V2020 and the lens codes onto separate claim lines, then resubmit as a corrected claim.
CO-50Not medically necessary as billed, often because IOL documentation is missing for Medicare.Appeal with the operative note confirming IOL implantation. Make sure the surgical ICD-10 aftercare code is on the claim.
CO-4Missing or invalid modifier.Add modifier NU (or RA for a replacement, if applicable), then resubmit as a corrected claim.
CO-119Benefit maximum reached, or the frequency limit for the plan year exceeded.Verify eligibility and benefit usage before dispensing. If the limit is exhausted, bill the patient or apply secondary payer COB rules.
CO-15Prior authorization missing or not obtained.Obtain PA retroactively if the payer permits, or appeal showing PA was not required. Add a PA check to intake before dispensing.

OA-18 (duplicate claim) deserves special attention. It appears when a claim is resubmitted too soon after the original. If the first submission is still pending, wait for the remittance before acting. A second identical claim sent during processing is denied as OA-18 and can flag the account for payment integrity review.

Pro Tip

Build a V2020 denial tracker in your practice management system. Log each denial by CARC code, note the root cause, and review the log monthly. Recurring denials usually trace back to a handful of causes, and each one can often be fixed with a single change before claim submission.

How claims management software prevents V2020 claim errors

Most V2020 denials start in the dispensing record. When the frame order, the insurer details and the claim live in separate systems, billing staff re-key the dispensing date, NPI and modifiers by hand.

Pabau’s medical claims management keeps the claim in the same system as the patient record and the invoice. Insurer and policy details sit on the patient record, so each invoice routes to the right payer without re-keying.

  • Validation before sending: Pabau checks that insurer details such as membership numbers and authorization codes are in place. The claim cannot be sent until they are.
  • US claim submission: Pabau connects to Claim.MD, so your team can run real-time eligibility checks and submit claims electronically to payers.
  • Claim status tracking: Every claim moves through pending, submitted, processing, paid or error stages in one dashboard.
  • Remittance posting: ERA remittances post against the right invoice, so claims and billing stay in sync.
  • Denial review: Filter claims by date, insurer or invoice ID to see which rejections recur and fix the cause upstream.

Your billing team still selects V2020 and the lens codes. Pabau makes sure the claim carrying them is complete, so fewer frame claims come back for missing information.

Send complete V2020 claims the first time

Pabau’s claims management checks insurer details before submission, tracks every claim’s status, and posts remittances against the invoice. Fewer V2020 claims come back for missing information.

Pabau claims management dashboard

Conclusion

V2020 itself rarely causes a denial. The claims that fail usually miss a payer rule around it. The usual culprits are the Medicare post-cataract exception, the NU modifier, and a frame upgrade that belongs on V2025.

Build those rules into dispensing, not billing. Confirm the IOL surgery and the remaining benefit before the frame is ordered, and record the delivery date as the date of service. The claim then leaves the practice complete, and nobody has to rebuild it from a denial.

The cost is a few extra checks at the dispensing desk, and the return is frame claims that get paid the first time. Book a demo to see how Pabau checks V2020 claims for missing details before they reach the payer.

Continue your research

Continue your research

Billing bifocal lenses alongside the frame? HCPCS code V2200 covers the bifocal lens code that pairs with V2020 on multifocal orders.

Checking optical benefits before the frame is ordered? Insurance eligibility verification walks through confirming coverage and remaining benefit before the visit.

Dealing with recurring HCPCS claim denials? Denial management in healthcare walks through how to categorize, track, and systematically reduce denial rates.

Want to reduce claim errors before submission? Submitting a clean claim outlines the field-level requirements that keep optical claims out of the denial queue.

Need to understand the full revenue cycle? What is revenue cycle management covers the end-to-end process from patient intake to collected payment.

Frequently asked questions

What does HCPCS code V2020 cover?

HCPCS code V2020 covers spectacle frames of any style dispensed as part of a prescription eyeglass order. It covers the frame only. Each lens is billed separately on its own claim line with the matching V-code.

Is V2020 covered by Medicare?

Medicare Part B does not cover routine eyeglasses or spectacle frames. The exception is cataract surgery with intraocular lens (IOL) implantation. Medicare then covers one pair of eyeglasses or contact lenses after each surgery, with frames paid up to the Medicare allowance for that benefit.

What is the difference between V2020 and V2100?

V2020 covers the spectacle frame itself, and V2100 covers a single-vision sphere lens from plano to +/-4.00 diopters, per lens. Both codes appear on the same claim when a complete pair of eyeglasses is dispensed, each on its own line.

What modifiers are used with V2020?

Modifier NU (new equipment) is required by many payers, including Medicare, for DMEPOS supply codes like V2020. Modifier RA may be required for replacement frames under certain Medicaid and DME policies. LT, RT and RR do not apply, because spectacle frames cover both eyes and are never rented.

Can V2020 be billed without a lens code?

Yes, in some cases. V2020 usually appears with a lens code, but frame-only claims are valid for replacement frames when the payer allows it. For a new pair of eyeglasses, bill the lens codes on separate lines next to V2020.

What are common denial reasons for HCPCS code V2020?

The most common denials are CO-96 (routine vision excluded by Medicare), OA-18 (duplicate claim) and CO-97 (frame and lens bundled on one line). CO-4 (missing NU modifier) and CO-119 (frequency limit exceeded) are also frequent. Each maps to a fix, such as coverage verification, splitting frame and lens lines, adding the modifier, or checking eligibility before dispensing.

How do I bill V2020 for Medicaid patients?

Medicaid optical coverage for spectacle frames varies by state. Check the state Medicaid optical fee schedule and confirm whether prior authorization is required before dispensing. Children are typically covered under EPSDT vision benefits, and adult coverage depends on the state plan. Enter V2020 with the modifier your state requires, and document the dispensing event.

Avatar photo
Maja Popovska
Content Writer

Maja is a Senior Content Writer at Pabau, where she covers everything from practice management and compliance to medical aesthetics and patient experience. Off the clock: binging true crime docuseries, baking and dreaming about travel.
×