{
  "slug": "vendor-travel-fee-calculator",
  "title": "Wedding Vendor Travel Fee Calculator",
  "heading": "Vendor Travel Fee Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/vendor-travel-fee-calculator",
  "summary": "Convert mileage, drive time, and lodging into a fair travel fee line item.",
  "description": "Vendors frequently underprice travel because it's charged as a flat guess instead of built from real costs. This calculator adds round-trip mileage cost at the current IRS business rate (or your own vehicle cost estimate), paid drive-time hours beyond your free-travel radius, and overnight lodging/per diem for out-of-town events, producing a defensible travel fee you can quote as a line item rather than absorbing into your base price.",
  "formula": "Travel fee = (miles × mileage rate) + (paid drive hours × hourly rate) + lodging + per diem.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=vendor-travel-fee-calculator",
  "inputs": [
    {
      "id": "miles",
      "label": "Round-trip miles",
      "kind": "number",
      "hint": null,
      "default": 90,
      "unit": null,
      "min": 0,
      "max": null
    },
    {
      "id": "mileageRate",
      "label": "Mileage rate",
      "kind": "number",
      "hint": null,
      "default": 0.67,
      "unit": "$/mi",
      "min": 0.2,
      "max": null
    },
    {
      "id": "freeMiles",
      "label": "Free-travel radius (round trip)",
      "kind": "number",
      "hint": null,
      "default": 40,
      "unit": "mi",
      "min": 0,
      "max": null
    },
    {
      "id": "driveHours",
      "label": "Total drive time",
      "kind": "number",
      "hint": null,
      "default": 1.8,
      "unit": "hrs",
      "min": 0,
      "max": null
    },
    {
      "id": "hourlyRate",
      "label": "Hourly rate for paid drive time",
      "kind": "number",
      "hint": null,
      "default": 45,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "lodging",
      "label": "Lodging (if overnight required)",
      "kind": "number",
      "hint": null,
      "default": 0,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "perDiem",
      "label": "Per diem (meals, incidentals)",
      "kind": "number",
      "hint": null,
      "default": 0,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "fee",
      "label": "Total travel fee",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "mileageCost",
      "label": "Mileage cost",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "driveCost",
      "label": "Paid drive-time cost",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "billableMiles",
      "label": "Billable miles (beyond free radius)",
      "format": "number",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Round-trip miles: 90",
      "Mileage rate: 0.67 $/mi",
      "Free-travel radius (round trip): 40 mi",
      "Total drive time: 1.8 hrs",
      "Hourly rate for paid drive time: 45 $",
      "Lodging (if overnight required): 0 $",
      "Per diem (meals, incidentals): 0 $"
    ],
    "outputs": [
      "Total travel fee: $114.50",
      "Mileage cost: $33.50",
      "Paid drive-time cost: $81.00",
      "Billable miles (beyond free radius): 50"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter round-trip miles.",
      "Enter mileage rate ($/mi).",
      "Enter free-travel radius (round trip) (mi).",
      "Enter total drive time (hrs).",
      "Enter hourly rate for paid drive time ($).",
      "Enter lodging (if overnight required) ($).",
      "Enter per diem (meals, incidentals) ($).",
      "Read your total travel fee 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": {
        "miles": 55,
        "mileageRate": 0.402,
        "freeMiles": 25,
        "driveHours": 1.08,
        "hourlyRate": 25,
        "lodging": 0,
        "perDiem": 0
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "miles": 90,
        "mileageRate": 0.67,
        "freeMiles": 40,
        "driveHours": 1.8,
        "hourlyRate": 45,
        "lodging": 0,
        "perDiem": 0
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "miles": 145,
        "mileageRate": 1.072,
        "freeMiles": 65,
        "driveHours": 2.8800000000000003,
        "hourlyRate": 70,
        "lodging": 0,
        "perDiem": 0
      }
    }
  ],
  "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": "What mileage rate should I use?",
      "a": "The IRS standard business mileage rate (updated annually, roughly $0.65-$0.70 per mile in recent years) is a defensible baseline since it already accounts for gas, maintenance, insurance, and depreciation. Vendors with larger vehicles (vans full of gear) sometimes use a higher custom rate to reflect real operating cost."
    },
    {
      "q": "Why set a free-travel radius instead of charging from mile one?",
      "a": "A local radius (commonly 20-30 miles round trip, or about a 20-30 minute drive) is baked into your base price already, since it's assumed for any local booking. Charging travel only beyond that radius keeps your pricing competitive locally while still recovering real cost on distant bookings."
    },
    {
      "q": "Should drive time really be billed at an hourly rate?",
      "a": "Yes for any trip that eats into your available booking hours for the day — a 2-hour round trip could otherwise be another engagement session or admin block. For very short local trips it's usually not worth itemizing, but multi-hour drives should be compensated like any other work time."
    },
    {
      "q": "When is overnight lodging necessary and who should decide?",
      "a": "If the venue is far enough that same-day return before a required call time or after a late load-out isn't realistic (commonly beyond a 2-3 hour drive each way), lodging protects both parties from a no-show risk caused by driver fatigue and should be built into the contract, not decided last-minute."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/dj-hourly-rate-builder",
    "https://www.revenuelab.fyi/toolbox/second-shooter-cost-calculator",
    "https://www.revenuelab.fyi/toolbox/wedding-vendor-profit-margin-calculator"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Wedding Vendor Travel Fee Calculator (https://www.revenuelab.fyi/toolbox/vendor-travel-fee-calculator)"
}