Form 1042-S: Foreign Person's U.S. Source Income Subject to Withholding

The form used to report income paid to foreign persons, including nonresident aliens, that is subject to withholding or is exempt under a tax treaty.
Jimmy Law

What is Form 1042-S?

Form 1042-S, Foreign Person's U.S. Source Income Subject to Withholding, is used to report income paid to foreign persons (nonresident aliens, foreign corporations, etc.) that is subject to U.S. tax withholding or exempt from withholding under a tax treaty.

Who Must File Form 1042-S?

Withholding agents must file Form 1042-S if they pay U.S. source income to foreign persons, including:

When is Form 1042-S Due?

Withholding agents must:

What is Reported on Form 1042-S?

The form reports:

Chapter 3 vs. Chapter 4 Withholding

Form 1042-S is used for both:

Tax Treaty Benefits

When a foreign person is eligible for reduced withholding under a tax treaty, this is documented on Form 1042-S. The recipient typically provides Form W-8BEN or another Form W-8 to claim treaty benefits.

Relationship to Form 1042

Form 1042-S is filed along with Form 1042, Annual Withholding Tax Return for U.S. Source Income of Foreign Persons. Form 1042 summarizes the total tax withheld, while Form 1042-S provides details for each recipient.

Official Source: IRS Form 1042-S

Fast to set up. Easy to use.
Get your team up and running with Breakroom in 60 seconds. Or schedule a free, personalized demo today.
// Function to update active link function updateActiveLink(activeSectionId) { // Remove active class from all links navigationLinks.forEach(function(link) { link.classList.remove('is-active'); }); // Add active class to the corresponding link var activeLink = document.querySelector('a[href="#' + activeSectionId + '"]'); if (activeLink) { activeLink.classList.add('is-active'); } } // Set up intersection observer for scroll-based active states if (navigationLinks.length > 0) { var observerOptions = { root: null, rootMargin: '-20% 0px -80% 0px', // Trigger when section is 20% from top threshold: 0 }; var observer = new IntersectionObserver(function(entries) { entries.forEach(function(entry) { if (entry.isIntersecting) { updateActiveLink(entry.target.id); } }); }, observerOptions); // Observe all H2 sections headers.forEach(function(header) { observer.observe(header); }); }