The correct comparison between Botox Cosmetic, Dysport, and Daxxify is cost per completed treatment. The FDA prescribing information for all three products states that "units of biological activity cannot be compared to or converted into units of any other botulinum toxin product." A Botox unit and a Dysport unit measure different things. Comparing their per-unit prices is like comparing the price per ounce of gasoline to the price per liter of diesel to decide which one is cheaper to drive on.
For the same treatment, glabellar lines (the frown lines between the eyebrows), the FDA-approved doses are 20 units for Botox Cosmetic, 50 units for Dysport, and 40 units for Daxxify (prescribing information, AbbVie, Galderma, and Revance respectively). A 100-unit Botox vial delivers 5 complete glabellar treatments. A 300-unit Dysport vial delivers 6. A 100-unit Daxxify vial delivers 2.5, which means every other patient leaves 20 units on the table unless the schedule pairs two patients who together use the full vial the same day.
None of this appears in a standard QuickBooks report. Most practices code the vial invoice to a supply expense account on the date of purchase, and the cost never gets matched against the treatments it generated. The result is an injectable gross margin number that is structurally wrong. For the full calculation on how injectable margin gets overstated, see the injectable gross margin guide. The sections below work through the brand comparison: cost per completed treatment for each product, how vial size and approved dosing interact with your procurement cost, and the QuickBooks entry that matches COGS to the treatment period.
What neurotoxin cost per treatment means
Neurotoxin cost per treatment is the product cost allocated to a single completed treatment session, calculated as vial invoice price divided by the number of complete treatments that vial delivers at the FDA-approved dose for the indication performed. It belongs in your injectable COGS account when the vial is opened, dated to that treatment session.
Vendor invoices arrive on a schedule that has nothing to do with treatment delivery. A practice might receive an Allergan shipment on the 3rd, use vials across 15 treatments over the following three weeks, and receive the next shipment on the 28th. Coding the full invoice to supply expense on the 3rd pushes all the cost into the first week of the month regardless of when the revenue was earned. That misalignment overstates early-period expenses and understates them later. Across a full year, the totals may balance, but month-by-month P&L analysis by service line loses its accuracy.
The fix requires two inputs: the vial cost from the invoice and the number of treatments per vial. The FDA data gives you the second input cleanly. The first comes from your Allergan, Galderma, or Revance account statements. For a detailed walkthrough of pulling and reconciling Allergan invoices, see the Allergan invoice reconciliation guide.
Vial sizes, approved doses, and treatments per vial by brand
This table is derived from the FDA-approved prescribing information for each product. The treatments-per-vial column uses the approved glabellar dose for each brand. Actual treatments per vial will vary if the practice performs other indications (forehead lines, crow's feet, masseter reduction, hyperhidrosis) that carry different approved doses.
| Brand | Manufacturer | Standard Vial Sizes | FDA Glabellar Dose | Treatments per Standard Vial |
|---|---|---|---|---|
| Botox Cosmetic | AbbVie / Allergan | 50U, 100U | 20 Units | 5 per 100U vial; 2.5 per 50U vial |
| Dysport | Galderma | 300U, 500U | 50 Units | 6 per 300U vial; 10 per 500U vial |
| Daxxify | Revance | 50U, 100U | 40 Units | 2.5 per 100U vial; 1.25 per 50U vial |
The Daxxify column is where most practices discover a procurement problem. A 100-unit Daxxify vial used for glabellar treatments delivers 2.5 complete treatments at 40 units each. The first patient uses 40 units. The second patient uses 40 units. The third patient's treatment requires 40 units, but only 20 remain. The practice either books that patient on a day a second vial is already open, splits the treatment fee, or absorbs the 20-unit waste as a cost against that vial. All three approaches have different COGS implications and need to be tracked explicitly.
Botox Cosmetic 50U vials present the same fractional problem on a smaller scale: 2.5 glabellar treatments per vial. Practices using 50U vials typically schedule two patients back-to-back and accept that one 50U vial serves one complete treatment plus half of another. If the second patient does not arrive, 30 units are wasted. The 100U Botox vial, by contrast, delivers exactly 5 complete glabellar treatments with no remainder.
How to calculate cost per treatment from your vendor invoices
Run this calculation once per vial when the vial is opened, not when the invoice arrives. Enter the result as a COGS line against the treatment revenue for that session.
-
1Pull the invoice for the vial from your vendor account. Botox Cosmetic is in your Allé Business portal or the Allergan Aesthetics ordering system. Dysport is in the Galderma Aspire portal. Daxxify is in your Revance account. Find the line-item price for the specific vial size purchased. Use the net price after any rebates applied at the time of purchase, not the list price if your account receives a volume tier discount.
-
2Confirm which indication you performed and look up the FDA-approved dose for that indication. The 20U / 50U / 40U figures in this article apply to glabellar lines. If you performed a forehead treatment, crow's feet, or masseter reduction, pull the approved dose for that specific indication from the prescribing information. The treatments-per-vial calculation changes by indication.
-
3Divide the vial invoice price by the number of complete treatments that vial delivers. For a 100U Botox vial treating glabellar lines: vial price divided by 5. For a 300U Dysport vial: vial price divided by 6. For a 100U Daxxify vial: vial price divided by 2.5. This gives you cost per complete glabellar treatment for that vial, at that day's invoice price.
-
4Account for vial waste before entering the COGS figure. If a vial was only partially used (fractional treatment, patient cancellation, or dose adjustment), the total vial cost still occurred. Two approaches: (a) enter the full vial cost against the treatments delivered from that vial, which raises the per-treatment COGS for that vial; (b) enter the remainder as a waste expense to a separate supplies line. Option (a) produces cleaner treatment-level margin data.
-
5Enter the per-treatment cost in QuickBooks against the treatment revenue in the same period. Create a dedicated account (e.g., 5020 Injectable COGS -- Neurotoxins) under Cost of Goods Sold. Enter a journal entry debiting that account and crediting the corresponding supply or accounts payable account, dated to the treatment date, not the invoice date. Do this for each vial opened. Month-end reconciliation then matches the COGS entries against the service revenue they generated.
Worked example: comparing three vials at your actual cost
The example below uses placeholder vial prices labeled as [your cost]. Fill in the actual figure from your vendor account. The formula and the COGS implications are the same regardless of what you pay per vial.
The brand with the lowest cost per treatment depends on your actual vendor invoice prices, your volume tier, and whether you pair Daxxify patients to avoid vial waste. No general answer exists without your numbers. Run the numbers from your account.
How the Daxxify 6-month duration changes the cost comparison
Daxxify's FDA-approved labeling describes a longer duration of effect than Botox Cosmetic or Dysport for glabellar lines. That duration difference has a real cost implication, but not the one most practices calculate.
The typical framing is: if Daxxify lasts 6 months and Botox lasts 3, a patient needs two Botox treatments for every one Daxxify treatment, so Daxxify's effective per-treatment cost needs to be compared against two Botox visits. That math holds only if the practice captures both Botox visits. A patient who rebooks at 3 months and 6 months generates two treatments of revenue at two Botox-level costs. A patient who switches to Daxxify generates one treatment of revenue at Daxxify's cost for the same 6-month period.
The financial question is whether Daxxify's higher cost per treatment is offset by a higher treatment fee, and whether the longer interval between visits reduces rebooking volume enough to affect total annual revenue per patient. Both answers sit in your POS and your invoices.
What vial waste does to the Daxxify economics
A 100-unit Daxxify vial loses 20 units every third glabellar treatment if the practice does not pair patients to use the full vial. Two complete treatments from a 100U vial means the effective cost per treatment is 50% higher than the two-complete-treatment calculation suggests. A practice running Daxxify on an unoptimized schedule with frequent fractional vials is paying more per treatment than the vial price alone implies. The Botox 100U vial runs to zero remainder on a five-treatment schedule. No waste cost.
Comparing Botox, Dysport, and Daxxify by cost per unit. Dysport's per-unit price is typically lower than Botox's. That comparison means nothing. Dysport requires 50 units to treat the same area that takes 20 Botox units. A Dysport price that is one-third of the Botox per-unit price produces the same per-treatment cost, not a cheaper result.
The same logic applies to Daxxify. Daxxify's per-unit price typically runs higher than Botox. That comparison is also meaningless without knowing how many units go into a treatment and how many complete treatments come from a vial. Cost per completed treatment, divided by your vial invoice price and treatments per vial, is the only number that tells you which brand costs your practice more to deliver.
Run the calculation in step 3 for each brand you carry. If you carry all three, you can compare the three per-treatment cost figures directly. That comparison belongs in your procurement decision.
How to track neurotoxin COGS by brand in QuickBooks
Most QuickBooks med spa setups code all injectable product purchases to a single "Supplies" or "Medical Supplies" expense account. That setup produces a blended supply expense number with no brand-level detail and no connection to the treatments that generated the revenue.
A better structure uses sub-accounts under Cost of Goods Sold, one per brand, each receiving a journal entry on the treatment date. Suggested account structure:
- 5020 Injectable COGS -- Neurotoxins (parent, does not receive direct entries)
- 5021 Injectable COGS -- Botox Cosmetic
- 5022 Injectable COGS -- Dysport
- 5023 Injectable COGS -- Daxxify
- 5024 Injectable COGS -- Neurotoxin Waste (for partial-vial write-offs)
The journal entry workflow: when a vial is opened, create a journal entry dated to the first treatment date. Debit the appropriate COGS sub-account for the per-treatment cost. Credit the supply inventory or accounts payable account where the vial was originally received. Repeat for each treatment from that vial.
At month end, each COGS sub-account shows total neurotoxin product cost for that brand, matched to the period the treatments were delivered. Divide that figure by the neurotoxin service revenue from the same period to get gross margin by brand. That number tells you whether a procurement or pricing decision is worth making.
If manual journal entries are not practical at the per-treatment level, batch them weekly: tally all treatments delivered per brand for the week, calculate total COGS from vials opened that week, and enter one journal entry per brand. Weekly matching produces accurate monthly P&L data by brand without a transaction per injection.
Injectable COGS coded by brand, matched to treatment revenue, updated every week
Spa Ledger reconciles your Allergan, Galderma, and Revance invoices against treatment delivery each week and enters COGS at the brand level in QuickBooks. You see gross margin by neurotoxin brand on your Monday P&L, not at year-end when the procurement window is closed.
Get Started