{
  "slug": "shop-supplies-recovery",
  "title": "Shop Supplies Recovery Calculator",
  "heading": "Shop Supplies Recovery Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/shop-supplies-recovery",
  "summary": "See if your shop supplies fee actually covers what consumables really cost.",
  "description": "Shop supplies fees — rags, degreaser, gloves, disposal, small fasteners, cleaning solvents — get set once and left alone for years while consumable costs quietly climb. This calculator compares what you actually spend monthly on shop consumables against what your fee structure is recovering across your repair order volume, so you can see whether your percentage cap or flat fee is keeping pace. Most states allow a shop supplies fee as a percentage of labor (commonly capped around 5-10%) or a flat per-RO amount; either way, the fee should track actual consumable spend, not just sit at whatever number was copied from a competitor's invoice years ago. Undercharging shop supplies is a silent margin leak because it's rarely reviewed the way labor and parts pricing is, and it compounds every single RO.",
  "formula": "Recovery% = Total Supplies Fee Collected ÷ Total Actual Consumable Cost. Fee per RO Needed = Actual Consumable Cost ÷ RO Count.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=shop-supplies-recovery",
  "inputs": [
    {
      "id": "monthlyConsumableCost",
      "label": "Actual monthly consumable spend",
      "kind": "number",
      "hint": null,
      "default": 3200,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "roCount",
      "label": "Repair orders per month",
      "kind": "number",
      "hint": null,
      "default": 380,
      "unit": null,
      "min": 1,
      "max": null
    },
    {
      "id": "feePerRO",
      "label": "Current average shop supplies fee per RO",
      "kind": "number",
      "hint": null,
      "default": 6.5,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "capPct",
      "label": "State cap on shop fee as % of labor (0 = none)",
      "kind": "number",
      "hint": null,
      "default": 10,
      "unit": "%",
      "min": 0,
      "max": 100
    },
    {
      "id": "avgLaborPerRO",
      "label": "Average labor charge per RO",
      "kind": "number",
      "hint": null,
      "default": 210,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "recoveryPct",
      "label": "Current recovery rate",
      "format": "percent",
      "hint": null,
      "primary": true
    },
    {
      "id": "feeNeeded",
      "label": "Fee per RO to fully recover cost",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "capDollarPerRO",
      "label": "Max fee allowed under state cap",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "monthlyShortfall",
      "label": "Monthly shortfall at current fee",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Actual monthly consumable spend: 3200 $",
      "Repair orders per month: 380",
      "Current average shop supplies fee per RO: 6.5 $",
      "State cap on shop fee as % of labor (0 = none): 10 %",
      "Average labor charge per RO: 210 $"
    ],
    "outputs": [
      "Current recovery rate: 77.2%",
      "Fee per RO to fully recover cost: $8.42",
      "Max fee allowed under state cap: $21.00",
      "Monthly shortfall at current fee: $730"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter actual monthly consumable spend ($).",
      "Enter repair orders per month.",
      "Enter current average shop supplies fee per ro ($).",
      "Enter state cap on shop fee as % of labor (0 = none) (%).",
      "Enter average labor charge per ro ($).",
      "Read your current recovery rate on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "monthlyConsumableCost": 1900,
        "roCount": 230,
        "feePerRO": 3.9,
        "capPct": 6,
        "avgLaborPerRO": 125
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "monthlyConsumableCost": 3200,
        "roCount": 380,
        "feePerRO": 6.5,
        "capPct": 10,
        "avgLaborPerRO": 210
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "monthlyConsumableCost": 5100,
        "roCount": 610,
        "feePerRO": 10.4,
        "capPct": 16,
        "avgLaborPerRO": 335
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "Is a shop supplies fee legal everywhere?",
      "a": "Rules vary by state — many require it be disclosed as an estimate, capped as a percentage of labor, or itemized rather than a vague catch-all. Check your state's consumer protection or auto repair statute before setting or raising the fee; some states prohibit it outright on certain repair types."
    },
    {
      "q": "What should be included in 'consumable' cost?",
      "a": "Shop rags, degreasers and cleaners, disposable gloves, small hardware not itemized on the RO, brake cleaner, penetrating oil, and disposal fees for absorbents. It should not include items you already bill separately, like disposal fees for oil or tires which usually have their own line item."
    },
    {
      "q": "My fee is capped below what I actually spend — now what?",
      "a": "Build the shortfall into your labor rate instead of trying to exceed the legal cap. It's the same dollar recovered from the customer, just moved into a line item that isn't capped, and it keeps you compliant."
    },
    {
      "q": "How often should this be reviewed?",
      "a": "Annually at minimum, or whenever a major consumable cost jumps — brake cleaner and nitrile glove prices moved significantly in recent years, and a fee set five years ago is very likely under-recovering today."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/car-count-aro",
    "https://www.revenuelab.fyi/toolbox/diagnostic-fee-recapture"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Shop Supplies Recovery Calculator (https://www.revenuelab.fyi/toolbox/shop-supplies-recovery)"
}