{
  "slug": "diagnostic-fee-recapture",
  "title": "Diagnostic Fee Recapture Calculator",
  "heading": "Diagnostic Fee Recapture Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/diagnostic-fee-recapture",
  "summary": "How much of your posted diagnostic fee you're actually collecting after waivers.",
  "description": "Most shops post a diagnostic fee, then waive it whenever the customer approves the repair — a customer-friendly policy that quietly zeroes out diagnostic revenue on the majority of tickets even though the technician's time diagnosing the problem was real and billable-quality work. This calculator compares your posted diagnostic fee against your waive rate to compute actual recapture rate and monthly diagnostic revenue left uncollected, so you can decide whether to move to a partial-waiver policy (crediting only part of the fee toward the repair) or hold the line on fee collection for complex diagnostic work like intermittent electrical issues that take real technician time regardless of whether the customer proceeds.",
  "formula": "Recapture% = (1 − Waive Rate) × 100. Monthly Diagnostic Revenue = Diag Tickets × Fee × (1 − Waive Rate). Uncollected = Diag Tickets × Fee × Waive Rate.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=diagnostic-fee-recapture",
  "inputs": [
    {
      "id": "diagTickets",
      "label": "Diagnostic tickets per month",
      "kind": "number",
      "hint": null,
      "default": 85,
      "unit": null,
      "min": 0,
      "max": null
    },
    {
      "id": "fee",
      "label": "Posted diagnostic fee",
      "kind": "number",
      "hint": null,
      "default": 130,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "waiveRate",
      "label": "Percent of fees waived on approval",
      "kind": "number",
      "hint": null,
      "default": 70,
      "unit": "%",
      "min": 0,
      "max": 100
    },
    {
      "id": "diagLaborCost",
      "label": "Loaded tech labor cost per diagnostic",
      "kind": "number",
      "hint": null,
      "default": 45,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "recapturePct",
      "label": "Diagnostic fee recapture rate",
      "format": "percent",
      "hint": null,
      "primary": true
    },
    {
      "id": "collected",
      "label": "Monthly diagnostic revenue collected",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "uncollected",
      "label": "Monthly revenue waived",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "netAfterLabor",
      "label": "Net after tech diagnostic labor cost",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Diagnostic tickets per month: 85",
      "Posted diagnostic fee: 130 $",
      "Percent of fees waived on approval: 70 %",
      "Loaded tech labor cost per diagnostic: 45 $"
    ],
    "outputs": [
      "Diagnostic fee recapture rate: 30.0%",
      "Monthly diagnostic revenue collected: $3,315",
      "Monthly revenue waived: $7,735",
      "Net after tech diagnostic labor cost: -$510"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter diagnostic tickets per month.",
      "Enter posted diagnostic fee ($).",
      "Enter percent of fees waived on approval (%).",
      "Enter loaded tech labor cost per diagnostic ($).",
      "Read your diagnostic fee recapture 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": {
        "diagTickets": 51,
        "fee": 80,
        "waiveRate": 42,
        "diagLaborCost": 27
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "diagTickets": 85,
        "fee": 130,
        "waiveRate": 70,
        "diagLaborCost": 45
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "diagTickets": 136,
        "fee": 210,
        "waiveRate": 100,
        "diagLaborCost": 72
      }
    }
  ],
  "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": "Should the diagnostic fee ever be fully waived?",
      "a": "A partial waiver (crediting half the fee toward the repair, keeping the rest) protects diagnostic labor cost while still feeling like a discount to the customer. Full waivers on every approved repair essentially mean diagnostic time is only monetized on jobs customers decline, which is backwards."
    },
    {
      "q": "What waive rate is typical?",
      "a": "Shops with a strict no-waiver policy on complex diagnostics (electrical, intermittent, no-start) can hold waive rates under 30%, while shops that waive on any approved repair often run 70-90% waive rates and effectively give diagnostic labor away for free most of the time."
    },
    {
      "q": "How do I raise the recapture rate without upsetting customers?",
      "a": "Reframe the fee as covering the diagnostic time regardless of outcome, similar to a doctor's visit fee, and reserve waivers for simple 15-minute checks rather than multi-hour diagnostic pulls. Clear upfront communication before the diagnostic starts reduces pushback significantly."
    },
    {
      "q": "Does this differ for warranty or comeback diagnostics?",
      "a": "Yes — comeback diagnostics tied to your own prior repair shouldn't be billed to the customer at all; that cost belongs in your comeback cost tracking, not diagnostic fee recapture, since charging twice for the same failure damages trust."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/car-count-aro",
    "https://www.revenuelab.fyi/toolbox/warranty-comeback-cost"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Diagnostic Fee Recapture Calculator (https://www.revenuelab.fyi/toolbox/diagnostic-fee-recapture)"
}