Grant Thornton on Navigating ASC 606 and 340-40

https://www.grantthornton.com/insights/articles/audit/2022/navigating-asc-606-and-340-40

Abstract:

This updated guide helps companies apply the revenue recognition requirements under ASC 606 and the related cost guidance under ASC 340‑40. It offers practical examples and interpretive guidance on complex topics like contract modifications, principal-versus-agent assessments, contract costs, and presentation/disclosure requirements — reflecting recent developments in practice. The guide is intended for a wide range of companies, helping them adapt their revenue-recognition policies to evolving contract types and economic conditions.

Why it matters:

Because business models and contracts change over time — particularly with subscription models, service bundles, and contingent fees — companies need up-to-date guidance to apply ASC 606/340-40 correctly. This guide provides that fresh perspective, reducing the risk of misstatements, restatements, or audit issues. For accounting teams, it serves as a valuable reference when evaluating complex or non-standard arrangements. And for stakeholders (investors, auditors), it improves confidence that revenue and cost recognition reflect economic reality.

Subscribe for New Insights

Stay ahead with the latest articles and industry perspectives. Get notified as soon as new insights are published.
// RevVenue Session ID Manager function getSessionIdFromIframe() { var iframes = document.querySelectorAll('iframe'); for (var i = 0; i < iframes.length; i++) { var src = iframes[i].src; if (src && src.includes('bolt.host')) { var match = src.match(/session_id=([^&]+)/); if (match) return match[1]; } } return null; } function injectSessionId() { var sessionId = localStorage.getItem('revvenue_session_id'); if (!sessionId) return; var iframes = document.querySelectorAll('iframe'); iframes.forEach(function(iframe) { var src = iframe.src; if (src && src.includes('bolt.host') && !src.includes('session_id')) { iframe.src = src + (src.includes('?') ? '&' : '?') + 'session_id=' + sessionId; } }); } // Poll the bolt iframe URL for a session ID every 2 seconds function startSessionPolling() { setInterval(function() { var sessionId = getSessionIdFromIframe(); if (sessionId) { localStorage.setItem('revvenue_session_id', sessionId); console.log('Session ID captured:', sessionId); } }, 2000); } document.addEventListener('DOMContentLoaded', function() { injectSessionId(); startSessionPolling(); });