Per Diem Calculator

Per Diem Reimbursement Calculator

Calculate travel allowances based on GSA standards

Meals & Incidental Expenses
Usually arrival and departure days

Meals Provided (Deductions)

Reimbursement Summary

Total Lodging: $0.00
Total M&IE (Before Deductions): $0.00
Meal Deductions: -$0.00
Estimated Total: $0.00

Understanding Per Diem Calculations

Per diem is a daily allowance paid to employees for lodging, meals, and incidental expenses incurred during business travel. In the United States, these rates are typically set by the General Services Administration (GSA).

How the Calculation Works

This calculator follows the standard methodology used by federal agencies and many private corporations:

  • Lodging: Calculated based on the number of nights stayed at the destination's specific rate.
  • M&IE (Meals and Incidental Expenses): A flat daily rate covering breakfast, lunch, dinner, and small costs like tips.
  • The 75% Rule: On the first and last day of travel, employees are generally eligible for only 75% of the standard M&IE rate.
  • Meal Deductions: If a meal is provided by the government, a conference, or included in the hotel stay, the M&IE amount is reduced by a specific portion (roughly 15% for breakfast, 25% for lunch, and 40% for dinner).

Example Calculation

If you travel to a city with a $60 M&IE rate for 3 days (2 travel days, 1 full day) and stay 2 nights at a $150 lodging rate:

  1. Lodging: 2 nights × $150 = $300
  2. M&IE Full Day: 1 day × $60 = $60
  3. M&IE Travel Days: 2 days × ($60 × 0.75) = $90
  4. Gross Total: $450
  5. If one lunch was provided, approximately $15 (25% of $60) would be deducted from the total.
function calculatePerDiem() { var lodgingRate = parseFloat(document.getElementById('lodgingRate').value) || 0; var numNights = parseFloat(document.getElementById('numNights').value) || 0; var mieRate = parseFloat(document.getElementById('mieRate').value) || 0; var fullDays = parseFloat(document.getElementById('fullDays').value) || 0; var partialDays = parseFloat(document.getElementById('partialDays').value) || 0; var incidentalOnlyDays = parseFloat(document.getElementById('incidentalOnlyDays').value) || 0; var breakfasts = parseFloat(document.getElementById('breakfastsProvided').value) || 0; var lunches = parseFloat(document.getElementById('lunchesProvided').value) || 0; var dinners = parseFloat(document.getElementById('dinnersProvided').value) || 0; // Calculation Logic var totalLodging = lodgingRate * numNights; // Standard GSA M&IE Breakdown Percentages (Approximate) // Breakfast: 15%, Lunch: 25%, Dinner: 40%, Incidental: 20% var breakfastVal = mieRate * 0.15; var lunchVal = mieRate * 0.25; var dinnerVal = mieRate * 0.40; var incidentalVal = 5; // Standard flat incidental often around $5 var grossMie = (fullDays * mieRate) + (partialDays * mieRate * 0.75) + (incidentalOnlyDays * incidentalVal); var totalDeductions = (breakfasts * breakfastVal) + (lunches * lunchVal) + (dinners * dinnerVal); var totalReimbursement = totalLodging + grossMie – totalDeductions; // Display Results document.getElementById('resLodging').innerText = '$' + totalLodging.toFixed(2); document.getElementById('resGrossMie').innerText = '$' + grossMie.toFixed(2); document.getElementById('resDeductions').innerText = '-$' + totalDeductions.toFixed(2); document.getElementById('resTotal').innerText = '$' + totalReimbursement.toFixed(2); document.getElementById('perDiemResult').style.display = 'block'; document.getElementById('perDiemResult').scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }

Leave a Comment