revenue-recognition
Skill9 starsChanged 8 months agoMITView on GitHub
name: revenue-recognition description: Revenue recognition — IFRS 15 five-step model, ASC 606 Both standards follow an identical framework. This skill covers both, noting differences where they exist. A contract exists when ALL of the following are met: - Both parties have approved the contract (written, oral, or implied by business practice) - Each party's rights are identifiable - Payment terms are identifiable - The contract has commercial substance (future cash flows change) - Collection is probable (IFRS: probable = more…
2 other projects use a version of this.
Adopted by
Most recently taken up by
- hazlijohar95/skillstheir own version, first seen Sep 25, 2026
- GAJETOso/financeskillstheir own version, first seen May 2, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- GAJETOso/financeskills★ 47same name
- hazlijohar95/skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository52 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- consolidationSkill
- deferred-taxesSkill
- gaap-standardsSkill
- hgb-standardsSkill
- ifrs-standardsSkill
- lease-accountingSkill
- balanced-scorecardSkill
- deckungsbeitragsrechnungSkill
- investitionsrechnungSkill
- kostenrechnungSkill
- aml-kycSkill
- basel-iiiSkill
- mariskSkill
- sox-complianceSkill
- kpi-systemsSkill
- wertschoepfungskettenSkill
- covenant-analysisSkill
- credit-scoring-modelsSkill
- rating-methodologiesSkill
- econometricsSkill
- fiscal-policySkill
- labor-marketsSkill
- monetary-policy-analysisSkill
- trade-economicsSkill
- earnings-modelsSkill
- sector-analysisSkill
- budgetingSkill
- cash-flow-forecastingSkill
- rolling-forecastsSkill
- scenario-planningSkill
- variance-analysisSkill
- solvency-iiSkill
- comparable-analysisSkill
- dcf-valuationSkill
- deal-structuringSkill
- lbo-modelingSkill
- pitch-book-creationSkill
- precedent-transactionsSkill
- corporate-tax-planningSkill
- international-taxSkill
- transfer-pricingSkill
- vat-optimizationSkill
- working-capitalSkill
- cap-table-analysisSkill
- lbo-modeling-detailSkill
- portfolio-management-peSkill
- startup-valuationSkill
- term-sheet-analysisSkill
- asset-allocationSkill
- estate-planningSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 4 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 77
Use rate that would be reflected in a separate financing transaction
- Distinctive: line 94
Residual approach (restricted use): Only when SSP is highly variable or uncertain.
- Distinctive: line 181
Contract losses: If total estimated costs exceed transaction price, recognize the entire expected loss immediately (onerous contract).
- Distinctive: line 277
Before finalizing revenue recognition, verify:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Revenue Recognition
name: revenue-recognition description: Revenue recognition — IFRS 15 five-step model, ASC 606
When to Activate
- User needs to apply the five-step revenue recognition model
- Identifying performance obligations in complex contracts (bundled, multi-element)
- Determining standalone selling prices and allocating transaction price
- Evaluating principal vs agent considerations
- Accounting for SaaS, licensing, construction, or subscription revenue
- Assessing variable consideration constraints
Core Concepts
The Five-Step Model (IFRS 15 / ASC 606)
Both standards follow an identical framework. This skill covers both, noting differences where they exist.
Step 1: Identify the Contract
A contract exists when ALL of the following are met:
- Both parties have approved the contract (written, oral, or implied by business practice)
- Each party's rights are identifiable
- Payment terms are identifiable
- The contract has commercial substance (future cash flows change)
- Collection is probable (IFRS: probable = more likely than not; US GAAP: similar threshold)
Contract modifications:
- Treated as a separate contract if: scope increases by distinct goods/services AND price increases by SSP
- Otherwise: prospective adjustment (reallocate remaining consideration) or cumulative catch-up
Contract combinations:
- Combine contracts if negotiated as a package, consideration depends on other contract, or goods/services form a single PO
Step 2: Identify Performance Obligations
A performance obligation is a promise to transfer a distinct good or service (or a series of distinct goods/services that are substantially the same and transferred with the same pattern).
Distinctness test (both criteria must be met):
- Capable of being distinct: Customer can benefit from the good/service on its own or with readily available resources
- Distinct within the contract: The promise is separately identifiable from other promises (not highly interrelated, not significantly modified/customized, not highly dependent)
Common PO identification judgments:
| Scenario | Typically Distinct POs | Typically Combined |
| Software license + implementation | If implementation is standard | If significant customization required |
| Hardware + installation | If installation is simple | If integration is essential |
| Product + warranty | Standard warranty = not a PO; extended warranty = separate PO | — |
| SaaS subscription | Single PO (series of daily services) | — |
| Product + training | If customer can use without training | If training is essential to functionality |
| Construction contract | Typically single PO (integrated output) | Multiple POs if separable buildings |
Step 3: Determine the Transaction Price
Components of transaction price:
Variable consideration:
Estimate using:
Expected value method — probability-weighted amounts (best for large number of outcomes)
Most likely amount — single most likely outcome (best for binary outcomes)
Constraint: Include variable consideration only to the extent that it is
highly probable (IFRS) / probable (US GAAP) that a significant reversal
of cumulative revenue will NOT occur.
Examples: performance bonuses, penalties, rebates, price concessions,
rights of return, milestone paymentsSignificant financing component:
- Adjust for time value of money if > 12 months between payment and transfer
- Practical expedient: ignore if ≤ 12 months
- Use rate that would be reflected in a separate financing transaction
Non-cash consideration: Measure at fair value
Consideration payable to customer:
- Reduce transaction price (unless payment for distinct good/service from customer)
- Examples: slotting fees, cooperative advertising, volume rebates
Step 4: Allocate the Transaction Price
Allocate to each PO based on relative standalone selling prices (SSP).
SSP estimation methods (in order of preference):
- Observable SSP: Price when sold separately to similar customers in similar circumstances — most reliable
- Adjusted market assessment: What the market would pay — use competitor pricing, market data
- Expected cost plus margin: Forecast costs plus appropriate margin
- Residual approach (restricted use): Only when SSP is highly variable or uncertain; total price minus observable SSPs of other POs
Discount allocation:
- Allocate discount proportionally to all POs
- Exception: if discount relates entirely to one or more (but not all) POs AND observable evidence supports this, allocate discount only to those POs
Variable consideration allocation:
- Allocate variable consideration to specific PO if: variable payment relates specifically to satisfying that PO AND allocation is consistent with the objective
Step 5: Recognize Revenue
Over time recognition (if ANY ONE criterion is met):
- Customer simultaneously receives and consumes benefits (e.g., cleaning services, SaaS)
- Entity's performance creates or enhances a customer-controlled asset (e.g., construction on customer's land)
- Entity's performance creates an asset with no alternative use AND entity has enforceable right to payment for performance completed to date (e.g., custom manufacturing)
Measuring progress (over time):
- Output methods: Units delivered, milestones reached, surveys of performance completed
- Input methods: Costs incurred relative to total expected costs (cost-to-cost method), labor hours, machine hours
- Cost-to-cost is most common for construction and long-term contracts
Point in time recognition (all other situations): Indicators of transfer of control:
- Entity has present right to payment
- Customer has legal title
- Physical possession transferred
- Customer has significant risks and rewards
- Customer has accepted the asset
Principal vs Agent
Principal: Controls the good/service before transfer to customer → recognizes gross revenue
Agent: Arranges for another party to provide → recognizes net revenue (commission/fee)
Indicators of principal:
- Primary responsibility for fulfillment
- Inventory risk (before or after transfer, during shipping, on return)
- Pricing discretion
This determination significantly impacts reported revenue (not profitability).
Licensing
Right to access (over time): IP that is dynamic — entity undertakes activities that significantly affect the utility of IP AND customer is exposed to those effects AND those activities do not transfer a good/service. Examples: franchise rights, brand licenses with ongoing marketing requirements.
Right to use (point in time): IP that is static — functional IP such as software, patented technology, completed media content. Revenue at the point the license is transferred.
IFRS 15 and ASC 606 are aligned on this framework, but ASC 606 provides more detailed application guidance for software licensing.
SaaS-Specific Guidance
Typical SaaS contract elements:
1. Cloud hosting / access to software → Single PO (series), over time
2. Implementation / configuration → Distinct if standard; combined if customization
3. Data migration → Usually distinct PO
4. Training → Usually distinct PO
5. Support and maintenance → Often combined with hosting (same pattern)
6. Professional services (ongoing) → Distinct PO
Revenue recognition pattern:
- SaaS subscription: straight-line over contract term (daily obligation in a series)
- Implementation: over implementation period or at go-live depending on distinctness
- Setup fees: if non-refundable upfront fee with no distinct PO → allocated to SaaS PO
and recognized over contract term (including expected renewals if material right)Construction Contracts
Typically recognized over time using cost-to-cost method:
Revenue recognized = (Costs incurred to date / Total estimated costs) × Total transaction price
Period revenue = Cumulative revenue recognized - Revenue recognized in prior periods
Example:
Total contract price: $10,000
Total estimated costs: $8,000
Costs incurred to date: $3,200
% complete: $3,200 / $8,000 = 40%
Revenue recognized: 40% × $10,000 = $4,000Contract losses: If total estimated costs exceed transaction price, recognize the entire expected loss immediately (onerous contract).
Methodology
Revenue Recognition Decision Framework
Step 1: Is there a valid contract?
→ No: defer until criteria met (or recognize to extent of costs recoverable)
→ Yes: proceed
Step 2: How many POs?
→ Identify each distinct promise
→ Apply the distinctness test (capable + separately identifiable)
Step 3: What is the total transaction price?
→ Fixed + variable (constrained) + financing + non-cash - consideration payable to customer
Step 4: How to allocate?
→ Relative SSP for each PO
→ Special rules for discounts and variable consideration
Step 5: Over time or point in time for each PO?
→ Test three over-time criteria
→ If none met: point in time (assess indicators of control transfer)Contract Cost Capitalization (ASC 340-40 / IFRS 15.91-104)
Incremental costs of obtaining a contract:
- Costs that would not have been incurred if the contract had not been obtained
- Primarily: sales commissions
- Capitalize and amortize over the period of benefit (contract term or longer if renewals expected)
- Practical expedient: expense if amortization period ≤ 12 months
Costs to fulfill a contract:
- Capitalize if: relate directly to a contract, generate/enhance resources used for satisfaction, expected to be recovered
- Examples: setup costs, mobilization costs, pre-production design costs
Templates
Revenue Recognition Assessment
=== REVENUE RECOGNITION ASSESSMENT ===
Contract: [Description]
Customer: [Name]
Total Consideration: $____
Contract Term: ____ months
--- Performance Obligations Identified ---
PO# | Description | Distinct? | SSP | Allocated Price | Timing
1 | [Software license] | Yes | $____ | $____ | Point in time
2 | [Implementation] | Yes/No | $____ | $____ | Over time
3 | [Support 12 months] | Yes | $____ | $____ | Over time (straight-line)
4 | [Training] | Yes | $____ | $____ | Point in time
Total Allocated: $____ (= transaction price)
--- Variable Consideration ---
Type: [Performance bonus / rebate / penalty]
Estimation method: [Expected value / Most likely amount]
Estimated amount: $____
Constrained amount included in TP: $____
Reassessment trigger: [Quarterly / at milestone]
--- Recognition Schedule ---
Period | PO1 | PO2 | PO3 | PO4 | Total
Q1 | $____ | $____ | $____ | $____ | $____
Q2 | — | $____ | $____ | — | $____
Q3 | — | — | $____ | — | $____
Q4 | — | — | $____ | — | $____
Total | $____ | $____ | $____ | $____ | $____Principal vs Agent Assessment
=== PRINCIPAL VS AGENT ANALYSIS ===
Arrangement: [Description]
Goods/Services: [What is being provided to the end customer]
Indicator | Assessment | Supports
Primary fulfillment obligation | [Entity/Supplier] | [Principal/Agent]
Inventory risk | [Yes/No] | [Principal/Agent]
Pricing discretion | [Yes/No] | [Principal/Agent]
Credit risk | [Entity/Customer] | [—]
Conclusion: [Entity is Principal/Agent]
Revenue presentation: [Gross $____ / Net $____]Quality Gate
Before finalizing revenue recognition, verify:
- All five steps are documented for each material contract or contract type
- Performance obligations pass both distinctness criteria (capable + separately identifiable)
- SSP is determined using the best available method with documentation
- Variable consideration is estimated and constrained at the individual contract level
- Over-time recognition criteria are tested — at least one must be met for over-time
- Input method (cost-to-cost) uses total estimated costs that are reviewed and updated regularly
- Principal vs agent assessment is performed for all intermediary/reseller arrangements
- Non-refundable upfront fees are allocated to POs (not recognized at contract inception unless a PO is satisfied)
- Contract modifications are assessed as separate contracts or prospective adjustments
- Material rights (renewal options below SSP) are identified as separate POs
- Contract costs are capitalized and amortized per ASC 340-40 / IFRS 15
- Disclosures include disaggregated revenue, contract balances, and remaining POs
- Consistent treatment across similar contracts (policy, not ad hoc decisions)
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

