US Federal Net Operating Loss (NOL) Carryforward Calculator

This tool calculates carryforward for NOLs generated in Tax Years 2018 or later, which are generally subject to the 80% taxable income limitation and have an indefinite carryforward period.

Enter Carryforward Year Details

Enter the taxable income *before* considering any NOL deduction for each subsequent year you wish to apply the NOL. Add years in chronological order for clarity, though the tool will sort them for calculation.

Years Added for Calculation:
  • No years added yet.

Calculation Results:

Enter NOL details and carryforward years in the other tabs, then click "Calculate Carryforward".

Note on US Federal NOL Rules (Post-2017 Losses):
  • NOLs generated in tax years beginning after Dec 31, 2017, generally cannot be carried back (exceptions apply for certain farming losses and insurance companies).
  • These NOLs can be carried forward indefinitely.
  • The NOL deduction in any tax year is limited to 80% of your taxable income (calculated before the NOL deduction).
  • This calculator models the carryforward and 80% limitation for NOLs generated in 2018 or later. It assumes no carryback is applicable.
  • Consult a qualified tax professional for advice specific to your situation, as complex rules, exceptions, and potential legislative changes may apply.

${calculationResultsData[1][0]} ${calculationResultsData[1][1]}

`; // Loss Year html += '
'; // end summary html += '

Carryforward Calculation Details:

'; html += ''; // Table headers from data[3] const tableHeaders = calculationResultsData[3]; for(const header of tableHeaders) { html += ``; } html += ''; // Table rows from data[4] onwards for(let i = 4; i < calculationResultsData.length; i++) { html += ''; for(const cell of calculationResultsData[i]) { html += ``; } html += ''; } html += '
${header}
${cell}
'; // Display final remaining balance below the table if not fully utilized in the last shown year const lastRow = calculationResultsData[calculationResultsData.length - 1]; if (lastRow[3] !== 'NOL Fully Utilized' && parseFloat(lastRow[4].replace('$', '').replace(/,/g, '')) > 0) { html += `

Final Remaining NOL Carryforward: ${lastRow[4]}

`; } else if (lastRow[3] === 'NOL Fully Utilized') { html += `

Final Remaining NOL Carryforward: ${formatCurrency(0)} (NOL Fully Utilized)

`; } else { html += `

Final Remaining NOL Carryforward: ${lastRow[4]}

`; } calculationResultsDiv.innerHTML = html; } function downloadPdf() { // Ensure jsPDF and AutoTable are loaded if (typeof window.jspdf === 'undefined' || typeof window.jspdf.API.autoTable === 'undefined') { console.error('jsPDF or AutoTable library not loaded.'); alert('PDF generation library not loaded. Please try again.'); return; } const { jsPDF } = window.jspdf; const doc = new jsPDF({ orientation: 'landscape' // Use landscape for wider table }); let yPos = 15; // Starting Y position // Title doc.setFontSize(18); doc.setTextColor(0, 86, 179); // RGB for #0056b3 (Accent color) doc.text('US Federal Net Operating Loss (NOL) Carryforward Calculation', 15, yPos); yPos += 20; // Check if calculation results are available if (calculationResultsData.length < 5 || calculationResultsData[3][0] !== 'Carryforward Year') { // If no calculation results (e.g., error or info message is displayed) doc.setFontSize(12); doc.setTextColor(51, 51, 51); // Text color // Get the current text content from the results div const textContent = calculationResultsDiv.textContent.trim(); const splitText = doc.splitTextToSize(textContent, 250); // Wider width for landscape doc.text(splitText, 15, yPos); yPos += (splitText.length * 7) + 10; const lossYr = lossYearInput.value.trim() || 'Info'; doc.save(`us_nol_info_${lossYr}.pdf`); return; } // Add Summary Details from calculationResultsData doc.setFontSize(12); doc.setTextColor(51, 51, 51); // Text color doc.text(`${calculationResultsData[0][0]} ${calculationResultsData[0][1]}`, 15, yPos); yPos += 8; doc.text(`${calculationResultsData[1][0]} ${calculationResultsData[1][1]}`, 15, yPos); yPos += 15; // Space after summary // Prepare table data for AutoTable from calculationResultsData const tableHead = calculationResultsData[3]; const tableBody = calculationResultsData.slice(4); // Data rows start from index 4 // Add table to PDF using AutoTable doc.autoTable({ startY: yPos, head: [tableHead], body: tableBody, theme: 'striped', // Use striped theme for alternating rows headStyles: { fillColor: [0, 86, 179], textColor: 255, fontStyle: 'bold' }, // Header matches primary-accent bodyStyles: { textColor: [51, 51, 51], fontSize: 9 }, // Body matches text-color, slightly smaller font alternateRowStyles: { fillColor: [248, 249, 250] }, // Matches secondary-bg styles: { cellPadding: 3, rowPageBreak: 'avoid' }, margin: { left: 15, right: 15 }, didDrawPage: function(data) { // Optional: Footer - Add page numbers // let pageCount = doc.internal.getNumberOfPages(); // doc.setFontSize(8); // doc.setTextColor(150); // doc.text('Page ' + data.pageNumber + ' of ' + pageCount, data.settings.margin.left, doc.internal.pageSize.height - 10); } }); yPos = doc.autoTable.previous.finalY + 15; // Position after the table // Add the Note below the table doc.setFontSize(9); doc.setTextColor(85, 85, 85); // RGB for #555 (Note text color) // Get the note content from the HTML const noteElement = document.querySelector('#results-tab .note'); if (noteElement) { const noteText = noteElement.textContent.trim(); const splitNote = doc.splitTextToSize(noteText, 250); // Wider width for landscape doc.text(splitNote, 15, yPos); } // Save the PDF const lossYr = nolLossYear || 'NOL'; doc.save(`us_nol_carryforward_${lossYr}.pdf`); } // Initial state setup downloadPdfBtn.style.display = 'none'; // Hide PDF button initially renderCarryforwardYearList(); // Render empty list initially // Set initial results area content calculationResultsDiv.innerHTML = '

Enter NOL details and carryforward years in the other tabs, then click "Calculate Carryforward".

'; });

The US Federal Net Operating Loss (NOL) Carryforward Calculator is a powerful tool designed to help businesses and taxpayers estimate the tax benefits of carrying forward a net operating loss to future tax years. An NOL occurs when a company’s tax-deductible expenses exceed its taxable income in a given year, creating a loss that can offset taxable income in other years.

This calculator allows you to enter your current NOL amount, taxable income in future years, and other relevant details to estimate how much of your NOL you can apply as a deduction against future taxable income. It accounts for IRS rules regarding NOL carryforward periods and limitations under the Tax Cuts and Jobs Act (TCJA), including the 80% taxable income limitation.

Using this tool helps you plan your tax strategy by understanding how to maximize the benefits of your losses over multiple years. Proper management of NOL carryforwards can significantly reduce your future tax liabilities, improve cash flow, and enhance financial forecasting.

The calculator is ideal for businesses of all sizes, tax professionals, and accountants who want to ensure accurate tax planning and compliance. It simplifies the complex calculations involved in NOL application, saving time and reducing errors.

By leveraging the US Federal Net Operating Loss (NOL) Carryforward Calculator, you gain valuable insights into your tax position and can make informed decisions to optimize your tax savings.

Start using this calculator today to estimate your NOL carryforward benefits and take control of your business’s tax planning.

Scroll to Top