Ssdi Back Pay Calculator

SSDI Back Pay Calculator

The date the SSA determined your disability began.
Use today's date if you haven't been approved yet.

Calculation Results

Total Estimated Back Pay:

*Note: Attorney fees (usually 25% capped at $7,200) and the mandatory 5-month waiting period are included in this logic.


How SSDI Back Pay is Calculated

Understanding Social Security Disability Insurance (SSDI) back pay can be complex because it involves three specific time periods: the 5-month waiting period, retroactive benefits, and back pay for the processing time.

1. The 5-Month Waiting Period

By law, the Social Security Administration (SSA) does not pay benefits for the first five full months of a disability. This period begins on your Established Onset Date (EOD). For example, if your EOD is January 1st, your "entitlement" to payments actually begins on June 1st.

2. Retroactive Benefits

The SSA allows you to claim benefits for the time you were disabled before you actually filed your application. However, this is strictly limited to a maximum of 12 months prior to your application date, excluding the 5-month waiting period.

3. Processing Time Back Pay

This covers the time from your application date until your claim is finally approved. Since the disability process often takes 12 to 24 months (including appeals), this often makes up the largest portion of the back pay lump sum.

Attorney Fees

If you hired a disability attorney, they typically work on a contingency basis. The SSA usually pays them directly from your back pay. The standard fee is 25% of the back pay amount, but it is capped at $7,200 (though this cap can increase periodically per SSA guidelines).

Example Scenario

  • Onset Date: January 1, 2022
  • Application Date: January 1, 2023
  • Approval Date: January 1, 2024
  • Monthly Benefit: $2,000

In this case, the 5-month waiting period ends June 1, 2022. You are entitled to 7 months of retroactive pay (June 2022 to Dec 2022) plus 12 months of processing pay (Jan 2023 to Dec 2023). Totaling 19 months of back pay.

function calculateSSDIBackPay() { var monthlyBenefit = parseFloat(document.getElementById('monthlyBenefit').value); var onsetDate = new Date(document.getElementById('onsetDate').value); var appDate = new Date(document.getElementById('appDate').value); var approvalDate = new Date(document.getElementById('approvalDate').value); if (!monthlyBenefit || isNaN(onsetDate.getTime()) || isNaN(appDate.getTime()) || isNaN(approvalDate.getTime())) { alert("Please fill in all fields with valid data."); return; } // 1. Calculate Entitlement Date (Onset + 5 month waiting period) var entitlementDate = new Date(onsetDate); entitlementDate.setMonth(entitlementDate.getMonth() + 5); // 2. Calculate Retroactive Months (Months between Entitlement Date and Application Date) // Max 12 months var retroMonths = 0; if (appDate > entitlementDate) { retroMonths = (appDate.getFullYear() – entitlementDate.getFullYear()) * 12; retroMonths += appDate.getMonth() – entitlementDate.getMonth(); if (retroMonths > 12) { retroMonths = 12; } } else { retroMonths = 0; } // 3. Calculate Processing Months (Months between Application Date and Approval Date) var processingMonths = (approvalDate.getFullYear() – appDate.getFullYear()) * 12; processingMonths += approvalDate.getMonth() – appDate.getMonth(); if (processingMonths < 0) processingMonths = 0; // 4. Total Months var totalMonths = retroMonths + processingMonths; // 5. Calculate Dollars var grossBackPay = totalMonths * monthlyBenefit; // UI Updates document.getElementById('totalMonthsText').innerHTML = "Total Months of Back Pay: " + totalMonths; document.getElementById('retroactiveMonthsText').innerHTML = "Retroactive Months (pre-app): " + retroMonths + " (Max 12)"; document.getElementById('processingMonthsText').innerHTML = "Processing Months (post-app): " + processingMonths; document.getElementById('totalBackPayAmount').innerText = "$" + grossBackPay.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('ssdiResult').style.display = "block"; }

Leave a Comment