The IRS is subject to a statute of limitations that sets a maximum amount of time that the IRS has to initiate an audit. The default audit window is typically three years. The IRS has six years to audit a business when there are substantial omissions or errors on the return. There is no statute of limitations for fraudulent or false returns or a return that was never filed.The statute of limitations for assessing additional taxes or charges is generally three years after a return is due or filed, whichever is later. If a return was due on April 15 but you filed early, the statute runs for three years from April 15. If you got an extension until October 15, the statute runs for three years from October 15, even if you filed earlier. If you filed your return late but did not have an extension, the statute runs for three years from your (late) filing date.Although the default statute of limitations is three years, the IRS generally tries to audit tax returns as soon as possible after they are filed, so most audits are conducted on returns filed within the past two years.In cases where the IRS deems a return to have "substantial omissions," the statute of limitations increases from the default three-year period to six years. The extended statute of limitations for substantial omissions applies when:Gross income is under-stated by more than 25% At least $5,000 of income related to undisclosed foreign financial assets is omitted from a returnYou should be aware that once the IRS opens an audit due to one of these omissions, they can assess taxes and penalties for any findings resulting from the audit â not only findings directly related to the omission. This means that even if certain errors were reported and not audited within the original three-year audit window, the IRS can include those findings in the current audit. In certain situations, the IRS has no statute of limitations and may assess taxes, penalties, and interest indefinitely. This is the case if:You failed to file a return that was due You filed a fraudulent or false return