Pabau GO app

The new Pabau GO is heredownload on the App Store

Download on the App Store
Book a demo Book a demo
Billing Codes

HCPCS code J2540: Penicillin G potassium billing guide

Key takeaways

Key takeaways

HCPCS code J2540 covers an injection of penicillin G potassium, and one billing unit equals 600,000 units.

Divide the documented dose by 600,000 and round up, or the claim will underbill the drug you gave.

Medicare Part B pays J2540 under the average sales price method, and CMS refreshes that rate every quarter.

Medicaid and many commercial payers want the 11-digit NDC from the vial on the claim line.

J0540 and J0530 no longer exist, so Bicillin doses now bill under J0561 and J0558.

HCPCS code J2540 covers an injection of penicillin G potassium, up to 600,000 units. That last phrase is where the money goes missing. One billing unit is 600,000 units of drug. A 2.4 million unit dose is therefore four units on the claim, not one. Billers who miss that arithmetic underbill every time the code goes out the door.

The rest is manageable once you know where the payer looks. It checks the NDC, the diagnosis, and the place of service.

Below, the unit math comes first, then the payment rate and the claim path. The four penicillin codes that look interchangeable come last.

Found our content helpful?

The descriptor tells you the drug, the route, and the unit

HCPCS code J2540 is the Level II code for an injection of penicillin G potassium, up to 600,000 units.

CMS maintains HCPCS Level II for drugs, supplies, and services that sit outside the AMA’s CPT set. J-codes cover drugs a provider buys, stocks, and administers, then bills to Medicare Part B and other payers.

The code is active for 2026. It applies to outpatient administration, so an eligible provider has to supply and give the drug in an office or clinic. Drugs the patient takes themselves fall outside J-code coverage under standard Medicare rules.

Field Details
HCPCS code J2540
Official descriptor Injection, penicillin G potassium, up to 600,000 units
Drug name Penicillin G potassium (benzylpenicillin potassium)
Code type HCPCS Level II, J-code (physician-administered drug)
Billing unit Up to 600,000 units per billing unit
Code status Active (valid for 2026)
Primary payer Medicare Part B, Medicaid, commercial payers
Place of service Outpatient clinic or physician office

Medicare pays J2540 on a rate that moves four times a year

Medicare Part B pays J2540 under the average sales price (ASP) method. For most Part B drugs the rate is ASP plus 6%, which covers the drug and a dispensing margin.

CMS refreshes the ASP file quarterly, so the dollar figure behind J2540 changes four times a year. Check the current quarter against the CMS Physician Fee Schedule lookup tool before the claim goes out.

Geography moves the number as well. Medicare runs locality-based fee schedules. The same J2540 claim can pay differently in San Francisco and in rural Oklahoma. The national ASP rate is the starting point, and the local cost index adjusts it from there.

Payer Reimbursement basis Update frequency Notes
Medicare Part B ASP + 6% (typical) Quarterly Subject to sequestration; geographic adjustment applies
Medicaid State-set rate (varies) Varies by state May use WAC, NADAC, or ASP-based methodology
Commercial payers Contract rate Per contract terms Negotiated separately; can differ widely from Medicare ASP

One caveat: the ASP plus 6% figure above is the standard CMS method for most Part B drugs. Individual drug rates can sit outside that formula, depending on manufacturer reporting and payment limits set by statute. Verify the current quarter’s rate for J2540 with CMS directly.

How to bill J2540 without handing the payer a reason to deny

Four fields decide whether a J2540 claim pays. Those are the unit count, the National Drug Code (NDC), the place of service, and the paired diagnosis. Miss one and the claim either denies outright or comes back for correction.

Each one has its own failure mode, so take them in order.

Unit math is where J2540 claims quietly lose money

One billing unit of J2540 equals up to 600,000 units of penicillin G potassium. When the dose runs past that ceiling, bill multiple units so the claim matches what the patient received. Divide the documented dose by 600,000, then round up to the next whole number.

Dose administered J2540 units to bill
Up to 600,000 units 1 unit
600,001 to 1,200,000 units 2 units
1,200,001 to 1,800,000 units 3 units
1,800,001 to 2,400,000 units 4 units

Whether you report the NDC depends on who you bill

Medicaid programs almost always want the NDC on a J-code claim, in the 11-digit format. Many commercial payers ask for the same thing.

Medicare Part B rules differ by claim type, so check current CMS guidance for your submission pathway rather than assuming either way.

Read the NDC off the vial label before it goes in the sharps bin. Once the vial is gone, the number goes with it. A claim held for a missing NDC just ages while someone hunts for a substitute.

The claim’s path, from vial label to remittance

  1. Document the dose. Record the exact number of units given, such as 1,200,000, in the patient record at the time of administration.
  2. Convert to billing units. Divide by 600,000 and round up, so a 1,200,000-unit dose becomes 2 units of J2540.
  3. Capture the NDC. Copy the 11-digit code from the vial label and store it with the lot number and expiry date.
  4. Pick the diagnosis. Pair J2540 with the ICD-10 code for the infection you treated, using the table further down.
  5. Set the place of service. Use POS 11 for a physician office or POS 22 for outpatient hospital, since the code can move the rate.
  6. Submit, then reconcile. Send the claim, then match the remittance line by line against the units and rate you expected.

Run these checks before the claim leaves your practice

Most J2540 rejections trace back to five checks a biller can run in under a minute.

  • Does the unit count equal the documented dose divided by 600,000, rounded up?
  • Is the NDC on the claim line in 11-digit format, with the right quantity and unit of measure?
  • Does the ICD-10 code on the claim support penicillin G for this patient?
  • Is the place of service the setting where the drug was actually given?
  • Did the unit count come off a Bicillin claim by mistake? Those codes count in 100,000s.

Payers run the same front-end edits on a J-code line as on any other. The clean claim requirements are worth reading once. They spell out what an automated edit checks before a human opens the file.

Buy-and-bill puts the drug’s margin on your books

Penicillin G potassium given in an office usually moves through the buy-and-bill model. The practice buys the vials, administers the drug, then bills the payer afterwards. Whatever sits between acquisition cost and ASP reimbursement is the practice’s margin on that dose.

Acquisition prices are not fixed, though. They move with contract terms and wholesaler pricing, so a per-vial cost from last year should not drive this year’s revenue projection.

Pro Tip

Audit your J2540 claims against the current CMS ASP file each quarter. When ASP drops, the payment can fall below what you paid for the vial. Every dose after that loses money, so catch it at the quarterly file rather than at year end.

Pair J2540 with a diagnosis the payer already expects

Every J2540 claim needs an ICD-10 code that justifies the drug. Payers read the diagnosis to decide whether penicillin G was indicated for this patient at all.

The codes that pair cleanly follow the drug’s FDA-approved indications, which are bacterial infections caused by penicillin-susceptible organisms.

ICD-10 code Description Clinical context
A51.0 Primary genital syphilis First-line treatment with penicillin G
A51.1 Primary anal syphilis First-line treatment with penicillin G
A52.9 Late syphilis, unspecified Parenteral penicillin G recommended for late or latent syphilis
J02.0 Streptococcal pharyngitis Injectable penicillin G used when oral therapy is not feasible
L03.90 Cellulitis, unspecified Penicillin G for susceptible streptococcal cellulitis
A40.0 Sepsis due to Streptococcus, Group A High-dose IV penicillin G for severe streptococcal sepsis
B95.0 Streptococcus, Group A, as cause of diseases classified elsewhere Secondary code used with the primary infection site code

Those pairings follow FDA labeling, so do not stretch them past the approved indications without documentation that supports the choice. Payers also publish local coverage determinations that narrow the covered list further. Read the applicable LCD before you bill, especially on a high-dose sepsis claim.

Four penicillin J-codes look alike, and two of them are dead

Penicillin G comes in several formulations, and each one carries its own HCPCS code. Reaching for the wrong one is the most common J2540 error after unit math.

Two of the codes billers still quote were retired more than fifteen years ago. The unit denominator catches people out too.

Comparison of penicillin J-codes
The benzathine codes count in 100,000-unit steps, so a dose copied across from J2540 lands six times off. Source: CMS HCPCS Level II descriptors.

J0540 was terminated on 12/31/2009 and J0530 was deleted on 1/1/2010, yet both still turn up in older crosswalks. Bicillin L-A now bills under J0561 and Bicillin C-R under J0558.

Both replacement codes bill in 100,000-unit increments rather than 600,000. A unit count carried over from a J2540 claim therefore comes out six times too low.

HCPCS code Current descriptor When it applies
J2540 Injection, penicillin G potassium, up to 600,000 units Potassium salt, given IV or IM for acute infection
J2510 Injection, penicillin G procaine, up to 600,000 units Procaine salt, an intermediate-acting IM formulation
J0561 Injection, penicillin G benzathine, 100,000 units Bicillin L-A, for syphilis and rheumatic fever prophylaxis
J0558 Injection, penicillin G benzathine and penicillin G procaine, 100,000 units Bicillin C-R, IM only

The formulation split matters clinically as well as on the claim. Benzathine penicillin G is dosed monthly for syphilis prophylaxis, while penicillin G potassium is given far more often for acute infection.

Billing J2540 for a benzathine dose creates a payment error and a documentation mismatch that auditors pick up quickly. To confirm any descriptor, the AAPC HCPCS lookup carries current CMS data.

Prior authorization rarely blocks J2540, but check anyway

Medicare Part B does not require prior authorization for J2540 in most standard outpatient settings.

Medicaid and commercial payers are less predictable, and their rules shift by state, plan, and covered indication. Some commercial plans want authorization whenever penicillin G is used outside a narrow covered list.

  • Medicare Part B: authorization is generally not required, though your regional Medicare Administrative Contractor is the one to confirm it
  • Medicaid: rules vary by state, so check the preferred drug list and any step therapy requirement before the dose is given
  • Commercial payers: read the plan’s coverage policy, because some require authorization for any outpatient parenteral antibiotic
  • Supporting documentation: clinical notes naming the susceptible organism, the treatment history, and the ICD-10 code that justifies the indication

When an authorization comes back denied, read the reason before resubmitting. Incorrect indication coding, thin treatment history, and step therapy non-compliance cause most injectable antibiotic denials.

Tracking denial codes across a run of claims shows you which of the three keeps recurring in your practice.

Pro Tip

Build a short authorization checklist for your top five J2540 commercial payers. Note the hotline number, the usual turnaround time, and the documentation fields each plan asks for. Ten minutes of prep beats a multi-day delay in treatment.

How Pabau keeps a J2540 claim moving from note to payment

A standalone HCPCS lookup gives you the code and stops there. Someone then retypes the code, the unit count, the NDC, and the diagnosis into a separate claim form. That handover is where J2540 claims pick up their errors.

Practice management software like Pabau closes the handover. Our claims software for billers sits on the same record as the clinical note.

The code reaches the claim from a lookup rather than from memory, and required fields get validated before submission. Claims then go out electronically to the payer network for your region.

Pabau checkout screen with a completed payer invoice raised from the same visit record
Pabau raises the payer invoice straight from checkout, so a J2540 charge never gets retyped into a separate billing tool.

For a practice buying and billing penicillin G potassium, that means fewer claims bouncing back for a missing field. It also means less time spent reconciling what was administered against what was billed.

Keep J-code claims moving without retyping

Pabau’s claims management puts code lookup, required-field validation, and electronic submission on the same record as the clinical note. Billers stop rekeying J2540 claims between two systems.

Pabau claims management dashboard

Conclusion

J2540 is a simple code with an expensive detail. The unit denominator does the damage, and it does it quietly, because an underbilled claim pays without complaint. Build the division into the workflow rather than into somebody’s memory, and most of the code’s risk disappears.

Watch the quarterly ASP file as well. A rate that drops below your acquisition cost turns every dose into a small loss. The claim itself gives no warning.

Retyping between a code lookup and a claim form is where most J2540 errors start, so the fix belongs in the workflow. Book a demo to see how Pabau handles code entry, field validation, and claim submission on one record.

Continue your research

Continue your research

Need a broader picture of how medical billing works? Medical billing fundamentals explained covers the full claims lifecycle, from patient encounter to payment posting.

Struggling with claim rejections on J-codes? Denial management in healthcare walks through common denial codes, root cause analysis, and appeal workflows.

Want to know what payers check first? What makes a clean claim outlines the submission requirements payers apply before processing any HCPCS code.

Frequently asked questions

Do you bill an administration code with J2540?

Yes. J2540 pays for the drug only, so the injection or infusion is billed separately. Most practices add a therapeutic injection code such as 96372 for an intramuscular dose. An intravenous course takes an infusion code instead.

Is J2540 covered under Medicare Part B or Part D?

Part B. J2540 is a physician-administered drug, so it falls under the Part B drug benefit rather than the Part D pharmacy benefit. Part D covers drugs a patient takes themselves, which is why self-administered products sit outside the J-code family.

Is there a daily unit limit on J2540?

CMS publishes a Medically Unlikely Edit for most J-codes, which caps the units payable per patient per day. Check the current MUE file before you submit a high unit count. Attach supporting documentation when the dose genuinely exceeds the limit.

Can a hospital bill J2540 for an inpatient?

No. Drugs given during an inpatient stay are bundled into the facility’s Part A payment, so J2540 is not billed separately. The code belongs to outpatient and office settings, where the drug is billed alongside the administration service.

Found our content helpful?
×