CPT code 90686 represents an intramuscular quadrivalent influenza vaccine. It is preservative free and comes in a 0.5mL pack. A crucial thing to know before you proceed to read the article is that the US moved from quadrivalent to trivalent vaccines. So, the working code of this vaccine is CPT 90656 now. If you are using any of these vaccines, there is a separate administration code (G0008 for Medicare) used.
What is CPT Code 90686?
As the 90686 CPT code description is explained above, it is an intramuscular 0.5 mL vaccine which is quadrivalent (IIV4), split virus and preservative-free.
Code Description & Composition
The term quadrivalent means the four strains (two influenza A and two influenza B). Now, what is a split virus? It means that the virus is broken while manufacturing the vaccine. It comes with a single dose syringes and vials instead of multidose. The 0.5mL, intramuscular is the dose of the vaccine and the route of it. Even the volume differentiates it from its 0.25mL packaging.
Brands Billed Under 90686
The brands billed under this CPT code are Fluzone, Fluarix, FluLaval, and Afluria when the supply was based on quadrivalent vaccines. These brands exist but the 2026-27 labeler table by the CMS show that these brands are billed under CPT 90656. The formulation picks the code instead of the brand.
CPT 90686 Age Limit
The age question resides with the product’s labeling. The code 90686 contains no age at all. The explanation of the descriptor is already mentioned in the previous headings. One thing to note: 90686 has not been deleted. It remains the correct code for a claim whose date of service falls in a season when the quadrivalent product was actually administered, which matters for corrections, appeals, and audit response.
The Full Influenza Vaccine CPT Code Family
Every flu vaccine CPT code in the quadrivalent family has a trivalent counterpart for the 2026–27 season.
| Quadrivalent code (brief’s family) | What it described | Current trivalent code | 2026–27 product |
|---|---|---|---|
| 90686 | IIV4, split virus, PF, 0.5 mL, IM | 90656 | Fluzone / Fluarix / FluLaval Trivalent PF |
| 90685 | IIV4, split virus, PF, 0.25 mL, IM | 90657 | Fluzone Trivalent, pediatric dose |
| 90687 | IIV4, split virus, 0.25 mL, IM | 90657 | Fluzone Trivalent, pediatric dose |
| 90688 | IIV4, split virus, 0.5 mL, IM | 90658 | Fluzone Trivalent |
| 90674 | ccIIV4 (cell culture), PF, 0.5 mL | 90661 | Flucelvax Trivalent PF |
| 90682 | RIV4 (recombinant) | 90673 | Flublok Trivalent PF |
| 90672 | LAIV4 (intranasal) | 90660 | FluMist Trivalent |
| 90694 | aIIV4 (adjuvanted) | 90653 | Fluad Trivalent PF |
| 90662 | IIV, PF, increased antigen | 90662 (unchanged code, now trivalent) | Fluzone High-Dose Trivalent PF |
| — | (no predecessor) | 90616 | mFLUSIVA Trivalent — new for 2026–27, mRNA |
Administration Codes for 90686
The part where revenue is lost is the 90686 administration code sitting on a separate line from the product code. The product code and the administration code, both need to be present on the claim. Otherwise, it will lead to denial.
Commercial: 90471/90472
CPT 90471 is used for the first vaccine administered via injection. 90472 is used for the additional vaccine on the same day. CPT 90472 is not stand alone but an add-on code that comes with 90471.
Under 19 with Counseling: 90460/90461
CPT 90460 is used for patients through 18 years. When a qualified healthcare professional or physician provides face-to-face counseling for the vaccine, 90460 is used for the first component, and 90461 for additional components. The “component” here is the antigen, it is not the dose or the strain. For instance, the flu vaccine has three or four strains, but it protects the patient against influenza only, so it is one component. So, 90460 will only be used without additional components.
Medicare Part B: G0008
In the case of influenza, Medicare does not use CPT codes. It wants G0008. Using CPT 90471 is the biggest reason for claim denials. If the vaccine is administered inside the home of the patient, M0201 is used.
Diagnosis (Z23) & NDC Requirements
Why did the service happen? This information must be part of the medical claim. The ICD-10 code Z23 explains the purpose of the visit, the encounter for immunization. This is a Z code and it does not define a condition. It defines the reason for contact. This diagnostic code is used for both Medicare and commercial payers.
How to Report the 90686 NDC (11-digit):
The NDC (National Drug Code) on the box is 10 digits, but the claims require 11. So, a zero is placed in the front to make it 11 digits. It has a pattern of 5-4-2 (labeler-product-package). This code is reported with N4 qualifier followed by the 11-digit number. The essential thing here: NDC must match the vial which was actually used.
Modifiers Used with 90686 (25, 33, SL, EP)
Four modifiers are used with 90686 and each of them answers a question:
25 Modifier
This modifier clearly shows that a separate evaluation happened. For example, a diabetic patient came for an evaluation and management visit and got the flu shot too. -25 shows that a separate and significantly identifiable evaluation occurred.
33 Modifier
This modifier tells the payer that this is preventive care. No charges should be sent to the patient. So, the patient is not charged for the vaccine. It is just due to the ACA preventive benefit, which requires non-grandfathered plans to cover vaccines recommended by the CDC’s Advisory Committee on Immunization Practices (ACIP) without cost sharing.
SL Modifier
This is used for the VFC (Vaccines for Children) claims which are supplied by the state. These are free of cost. Only the administration of these vaccines are billed, the product part is $0.
EP Modifier
This modifier tells the payer that it was an EPSDT service. It is a Medicaid preventive benefit for patients who are under the age of 21 years. State-specific rules are applied while using this modifier.
VFC Billing – The $0 Rule
Vaccines for Children (VFC) is a federal program that provides vaccines to the practices enrolled in the program for free. Medical practices pay nothing for this vaccine. The eligible kids are uninsured, underinsured, Medicaid or CHIP-enrolled, or American Indian and Alaska Native through the age of 18. For the $0 rule, the practice pays nothing. So, they are not paid for the product part. However, practices bill only the administration part, which is routine work in pediatric billing services where most VFC volume sits. Every dose requires a Vaccine Information Statement (VIS). The parent or guardian gets that. The VIS edition date and the date it was provided must be recorded. The VIS editions change, so recording accurate ones is essential. Managed Care Organizations (MCOs) have separate claim conventions as compared to Medicaid programs. So, a universal rule of $0 product line is followed.
CPT 90686 Reimbursement by Payer
There is no current-season payment allowance, as the CMS publishes the allowances for the products. And there is no quadrivalent product for now. But the more important thing is: how does Medicare pay for products? Medicare pays flu vaccine products at 95% of Average Wholesale Price (AWP), with allowances published annually by CMS and effective August 01 through July 31. For the 2026-27 season, the CPT 90656 pays $23.889. The flu vaccine shot under the G0008 is about $34.62 nationally in 2026. The patient pays nothing, no deductible, no coinsurance. Commercial plans work differently. Under the ACA preventive benefit, the patient owes nothing in-network, but what the plan pays the practice depends on the contract, and rates vary by payer and region. For VFC-eligible children, the product line is $0 and only the administration fee is billed, capped at the state’s maximum.
Billing Two Vaccines the Same Day & Roster Billing
Every product line is related to vaccines. The administration codes count the visits, but not vaccines. If the patient gets two vaccines, flu and the other injectable vaccine on the same date, these are separate product lines. Now, what happens for the administration? 90471 is used once for the first administration and 90472 is used one time for the second administration. Incorrect place of service (POS) code leads to claim denials, so using POS 11 for the physician office is a crucial aspect of billing.
For the roster billing part, this is only for Medicare beneficiaries, it is related to the mass flu clinic. In this scenario, hundreds of patients are vaccinated in one day. Medicare allows mass immunizers to submit rosters that is an approved format for the roster that lists multiple beneficiaries who got vaccines on the same day. For Medicare beneficiaries, each beneficiary has a Medicare Beneficiary Identifier (MBI). Accurate per-patient documentation is essential to get paid for roster billing.
Documentation Requirements
The manufacturer and the lot number are essential parts of the documentation to maintain claim accuracy. In the same way, the Vaccine Information Statement (VIS) is the other important thing, it is the edition date and the date it was given. The site, for example deltoid, and route, for example intramuscular, both are important to keep documentation accurate. Likewise, dose volume is another important part, 0.5mL or 0.25 mL. The name and the credential of the one who is giving the dose should also be mentioned. The counseling should be mentioned when 90460/90461 is used.
Common 90686 Denials & How to Prevent Them
Most denials on a procedure code 90686 claim come from a short list of repeatable mistakes, and each one is preventable before submission rather than a job for denial management services after the fact.
- Right now, the signature claim denial for flu vaccine is wrong product code for the season. If the claim shows that quadrivalent vaccine is used but the vial shows trivalent, it will lead to denial. How to prevent this? Check the CMS season file and stay updated with the changes.
- Not including the administration code in the claim. Every claim has two parts, as discussed earlier, the product and the administration. Not including the administration code leads to denials. How to prevent this? Understand that the claim is incomplete without administration codes and pair codes in the chart.
- Sending 90471 to Medicare instead of G0008 will lead to denial. Medicare does not use the CPT codes for flu vaccines, so use G0008 every time. How to prevent this? Stop selecting the code manually, make it payer-driven.
- NDC missing or not matching the product. The NDC (11-digit) should be correctly mentioned to avoid claim denials. Prevent this by updating the NDCs when the new vaccine stock is added.
- VFC dose is billed at acquisition cost and leads to claim denial. As this vaccine is free from the state, it should not be billed as a product. Prevent this denial by keeping the path of VFC claims separate.
- Using -25 modifier on a vaccine-only visit. If the patient comes for the flu shot solely, no need to append -25 modifier. The prevention of this denial is based on the documentation, no separate evaluation and no -25 modifier on the claim.
- Mismatching dose and age lead to denials. You cannot bill 0.5 mL code for 0.25 mL pediatric dose. Prevent this denial by selecting the code from the dose volume at the time of administration.
How MedCare MSO Keeps Flu-Vaccine Claims Clean
We refresh client vaccine code sets each August against the CMS season file, pair administration lines by payer so Medicare claims carry G0008 automatically, and validate NDCs before submission. It is the same discipline behind our full medical billing services, applied to the season when claim volume triples in six weeks.
Get a Free Billing Assessment