Three partner PDFs. Three row formats. One membership price reset due Friday. That is the prescription pricing workflow national telehealth ops teams describe when they try to compare 503A compounders side by side.
You are not bad at procurement. You are running a B2B comparison without a shared worksheet, and every partner quotes on different assumptions.
This guide shows how clinic ops and finance leads compare prescription prices across 503A partners with an outcome-based workflow: same dimensions on every row, landed cost ranked before you quote patients, and a re-run cadence that survives the next formulary change.
Who this is for
This article is for clinic ops leads, pharmacy coordinators, and founder-led telehealth finance owners who evaluate two or more 503A compounders and set cash-pay member pricing.
You are not the audience if you are a patient comparing retail pharmacy coupons or a prescriber asking about clinical dosing. Consumer tools like GoodRx solve a different problem. This is coordinator-side B2B economics only. It is not medical advice.
The scene ops teams describe on vendor calls
On a recent discovery call with a national telehealth ops team, the same pricing friction showed up we hear from scaled weight-loss and hormone brands:
- “Are these base prices?”
- “Shipping fee… processing fee…”
- “How much would it be a month, two months, worth of medication?”
- “We need to compare currently the pricing from our different pharmacy partners.”
They were not asking for a portal tour. They needed a repeatable comparison workflow so leadership could pick partners and reset member tiers without a three-day spreadsheet rebuild every quarter.
We need to compare pricing from our different pharmacy partners on the same strength and supply duration before we commit.
That is a process question with a math requirement, not a feature question.
What comparing across 503A partners actually means
Comparing prescription prices across 503A partners means every compounder quote is expressed on the same comparison dimensions and ranked by landed cost per patient-period before anyone quotes a member or signs a vendor agreement.
The outcome ops buyers name is simple: quote patients from numbers you trust across every partner you might use, not invoice archaeology after orders ship.
A headline vial price from Partner A is not comparable to a bundled program fee from Partner B until both sit on the same row structure.
Outcome-based comparison workflow (five steps)
Use this sequence when you evaluate a new compounder or refresh pricing on your top SKUs.
Step 1: Lock the SKU set
List the 10 to 20 order lines you run every week: semaglutide titration steps, tirzepatide, testosterone cypionate, estradiol, BPC-157, whatever drives volume. Do not start with the full formulary. Start with the lines that move member pricing.
Step 2: Build one worksheet, one row structure
Every partner gets a column on the same rows. No partner-specific shortcuts. If Partner C quotes a 56-day vial and Partner A quotes 28 days, normalize before you rank. The row-by-row math lives in our apples-to-apples 503A pricing guide.
Step 3: Pull landed cost, not catalog teasers
For each partner column, capture base medication price plus every fee through delivery: facilitation, processing, shipping. Ask on every demo: is this number base only or all-in? If fees appear only at checkout, your worksheet is incomplete.
Step 4: Rank per patient-period, then set routing rules
Sort partners by landed cost at the same strength and supply duration. Then decide which SKUs route to which compounder. Lowest cost is not always the right pick if rejection rates, state coverage, or support quality differ. Price comparison informs routing; it does not replace ops judgment.
Step 5: Quote members, then schedule the next refresh
Set membership or per-fill pricing from ranked landed cost plus target margin. Calendar a quarterly re-run on your top lines, and an immediate re-run when you add a partner or change vial size.
That is the workflow scaled telehealth teams use before they adopt multi-pharmacy routing: compare first, route second, quote third.
Comparison dimensions table
Every partner column must fill these rows before you rank vendors. This is the worksheet spec field teams send on whale follow-ups.
| Dimension | What to lock | Why mismatches fool teams |
|---|---|---|
| Medication name | Same API (e.g., semaglutide, tirzepatide) | Brand vs generic naming drift across PDFs |
| Strength | Same dose per vial (e.g., 2.5 mg/mL) | Different concentrations change injections per vial |
| Concentration / package | mL per vial, lyophilized vs liquid | Package size is not a discount tier |
| Approximate days of supply | 28 vs 56 days at your protocol | Cheaper vial on half the supply loses per month |
| Base medication price | Compounder line item | Often quoted without matching supply duration |
| Facilitation / platform fee | Disclosed or bundled in drug | Bundled markup hides real COGS |
| Processing | Per order or per line | Omitted from first quote, visible on invoice |
| Shipping | Flat, zone, or cold chain | Rarely on the same row as base price |
| Estimated landed cost | Sum of fee rows for one vial | The number ops should rank and quote from |
If any dimension is blank for one partner, you are not ready to pick a winner.
Example: three partners, one semaglutide row
| Dimension | Partner A | Partner B | Partner C |
|---|---|---|---|
| Medication + strength | Semaglutide 2.5 mg/mL | Semaglutide 2.5 mg/mL | Semaglutide 2.5 mg/mL |
| Concentration / package | 1 mL vial | 2 mL vial | 1 mL vial |
| Approximate days of supply | 28 days | 28 days (verify SIG) | 56 days |
| Base medication price | $165 | $149 | $189 |
| Facilitation / platform fee | Bundled in drug | $8 disclosed | Bundled in drug |
| Processing | $12 | $0 | $15 |
| Shipping | $29 flat | $19 | $29 flat |
| Estimated landed cost | $206 | $176 | $233 |
| Landed cost per 28 days | $206 | $176 | $116.50 |
Partner B looked cheapest on base price. Normalized to the same 28-day period, Partner C wins on per-month math despite a higher sticker vial price. That is why workflow matters as much as the numbers.
For semaglutide-specific quoting detail, see landed cost per vial before you quote members.
How multi-partner routing changes the evaluation
Many cash-pay clinics do not pick one 503A partner. They route GLP-1 to Compound A, peptides to Compound B, and hormones to Compound C because formulary depth, state licenses, or landed cost differ by category.
That makes comparison harder and more important:
- Compare within category, not across unrelated SKUs on one average number.
- Rank landed cost per line, then map lines to partners in a routing table.
- Demand the same row structure whether you order through three portals or one ops layer.
Multi-pharmacy routing does not remove the comparison step. It removes the hand-splitting after you have already decided which line goes where. You still need trustworthy landed math on every assigned partner before checkout.
Five workflow mistakes that break partner comparisons
1. One spreadsheet per partner with different rows.
Merge into a single worksheet or you will never rank fairly.
2. Comparing on vial sticker price.
Always rank landed cost per patient-period. Base price winners often lose after processing and shipping.
3. Quoting patients before the worksheet is done.
Wrong member pricing is harder to unwind than a slow vendor decision.
4. Treating consumer tools as clinic benchmarks.
Retail price apps answer patient shopping intent, not clinic COGS across compounders.
5. Never re-running the chart.
Formulary changes, vial size updates, and fee table edits drift landed cost even when contracts look stable. Schedule refreshes.
Questions to ask every 503A partner on the comparison call
- Is catalog price base medication only or landed cost?
- What processing fee applies per order vs per line?
- How does shipping work for our states?
- Is there a facilitation fee separate from the drug line?
- Can you match the strength and days of supply we order today?
- Does catalog price match price at checkout?
If answers shift between browse and pay, flag the column as incomplete until checkout confirms.
Where Fizy Health fits (honest framing)
Fizy Health is built for clinics that already use 503A compounders and need one ordering layer with economics you can see before you commit.
Pass-through pricing shows resolved per-vial 503A cost in the medication catalog and on every cart line. Drug cost and disclosed facilitation appear separately at checkout, so your comparison worksheet matches what coordinators see on screen.
When you use more than one assigned partner, multi-pharmacy routing lets you stack lines for different compounders in one cart, pay once, and route fulfillment per line after submit. You compare partners on landed cost first, then run the day without three portal logins.
Telehealth-specific context lives on the telehealth ops page. Platform fee structure is on the pricing page.
We will tell you straight if pass-through economics do not beat your current all-in cost on the lines you order most. Do not switch for a blog post.
Related reading
- How to compare 503A pharmacy pricing apples to apples: row-by-row normalization and fee traps
- Landed cost per vial: semaglutide clinic quoting: GLP-1 member pricing checklist
Bottom line
Clinics compare prescription prices across 503A partners with a shared worksheet, not three incompatible PDFs. Lock the same dimensions on every row, rank landed cost per patient-period, set routing rules, quote members, and refresh on a schedule.
Consumer retail tools will not solve clinic COGS. Build the B2B workflow first. The cheapest line on a sales sheet is rarely the cheapest month once checkout runs.