# Revenue Recognition MCP

> US GAAP & IFRS 15 Revenue Recognition automatically implements the complex five-step accounting model for finance professionals. It helps your agent analyze contracts, figure out what revenue streams are owed, distribute total contract prices across obligations, and calculate exactly how much earned versus deferred revenue you should report.

## Overview
- **Category:** finance
- **Price:** Free
- **Tags:** us-gaap, ifrs-15, revenue-recognition, asc-606, accounting-automation

## Description

Calculating revenue under ASC 606 or IFRS 15 isn't simple arithmetic; it involves deeply analyzing the underlying promises made in a client contract. This MCP takes that complexity away from your team. You can use the `identify_performance_obligations` tool to analyze raw contract items and determine how many separate services or goods are actually being sold. Next, you run the `allocate_transaction_price` function to distribute the total deal value across those obligations based on market rates. Finally, by using `calculate_revenue_recognition`, your agent determines what percentage of revenue is earned out over time versus what needs to be deferred until later. When you connect this specialized engine via Vinkius, it means your AI client has access to a best-in-class accounting tool that handles the hardest parts of modern financial reporting.

## Tools

### allocate_transaction_price
Distributes the total amount paid in a contract across all the separate goods or services provided.

### calculate_revenue_recognition
Determines which portion of revenue has been earned and which portion must be kept as deferred until future milestones are hit.

### identify_performance_obligations
Analyzes contract wording to pinpoint every distinct, measurable promise the company makes to the client.

## Prompt Examples

**Prompt:** 
```
I have a contract with two items: 'Software License' and 'Support Services'. How many performance obligations are there?
```

**Response:** 
```
The `identify_performance_obligations` tool identifies 2 distinct performance obligations: Software License and Support Services.
```

**Prompt:** 
```
Allocate a $10,000 total price between 'License' ($8,000 SSP) and 'Support' ($2,000 SSP).
```

**Response:** 
```
The allocated amounts are: License: $8,000 and Support: $2,000.
```

**Prompt:** 
```
If I have an allocated amount of $5,000 and I am 40% complete, how much revenue is recognized?
```

**Response:** 
```
$2,000 has been recognized as revenue, and $3,000 remains as deferred revenue.
```

## Capabilities

### Determine Contract Obligations
The MCP analyzes contract details to identify every distinct service or good promised, establishing clear performance obligations.

### Distribute Total Deal Value
It calculates how a single, large payment amount should be proportionally spread across multiple separate revenue streams.

### Calculate Earned Revenue vs. Deferred Funds
The system determines the exact dollar amounts of revenue that are earned based on progress and those that must be held back until performance is complete.

## Use Cases

### Structuring a Multi-Part Software Deal
A SaaS company signs a contract covering software access, implementation support, and future maintenance. The agent first uses `identify_performance_obligations` to separate these three items. Then, it calls `allocate_transaction_price` to determine the fair value split for each service before finally running `calculate_revenue_recognition` to ensure the right revenue is booked monthly.

### Analyzing a Consulting Agreement
The firm has a large retainer fee but performance is milestone-based. The agent uses `identify_performance_obligations` to confirm the primary service deliverable, then uses `calculate_revenue_recognition` to ensure payment only hits revenue when specific milestones are verifiable.

### Handling Bundled Services
A client buys a bundle of product licenses and premium support. The analyst feeds the contract data into the MCP, which first uses `identify_performance_obligations` to separate the license from the support. It then calls `allocate_transaction_price` to split the cost fairly before calculating revenue.

### Year-End Revenue Review
The controller needs to verify all remaining deferred revenue accounts. They use the MCP's tools in sequence, starting with `identify_performance_obligations` on historical contracts, and ending with `calculate_revenue_recognition` to confirm balances for the audit.

## Benefits

- Instead of manually reviewing contracts to separate services, use `identify_performance_obligations` to automatically build a definitive list of every promise made under the contract.
- You don't have to guess how to split a payment. The `allocate_transaction_price` tool ensures the total revenue amount is correctly distributed across all identified obligations based on relative market value.
- Stop worrying about timing differences. Running `calculate_revenue_recognition` tells you exactly what percentage of revenue belongs in this month versus next quarter's books, saving crucial compliance time.
- The MCP enforces complex accounting standards (ASC 606 and IFRS 15) that are notoriously hard to interpret consistently across departments or business units.
- It provides a single point of truth for revenue reporting. Your AI client performs the entire multi-step calculation chain, from obligation identification right through to final journal entry amounts.

## How It Works

The bottom line is you get an automated, auditable calculation that follows international accounting standards for revenue reporting.

1. Feed the MCP a client contract or list of items needing accounting treatment.
2. The system first identifies all distinct, separate obligations within the contract using one tool. Then, it allocates the total price across these obligations and finally computes the recognized revenue based on completion progress.

## Frequently Asked Questions

**How does US GAAP & IFRS 15 Revenue Recognition help with complex contracts?**
It automates the five-step model required by accounting standards. It guides your agent through identifying obligations, allocating prices, and calculating the earned revenue amount for any contract structure.

**Do I need to use all three tools in order with US GAAP & IFRS 15 Revenue Recognition?**
Yes, they work as a chain. You should run `identify_performance_obligations` first; that output feeds into `allocate_transaction_price`, which then provides the necessary input for `calculate_revenue_recognition`.

**What happens if my contract has variable consideration?**
The MCP can process these scenarios. While complex, you use the tools to model how the total transaction price changes based on performance triggers or bonuses defined in the agreement.

**Can I use US GAAP & IFRS 15 Revenue Recognition for non-accounting tasks?**
No. This MCP is highly specialized for finance and accounting rules (GAAP/IFRS). It cannot process general business logic or operational data outside of contract financial terms.

**What does the `calculate_revenue_recognition` tool need to run?**
It needs two main inputs: a total allocated amount and a measure of completion progress (e.g., 40% complete). It then outputs the precise recognized and deferred revenue amounts.