> ## Documentation Index
> Fetch the complete documentation index at: https://help.ruddr.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Fixed Fee Revenue Recognition: Automated - Percentage of Billable Hours

The **Percentage of Billable Hours** method recognizes revenue on a fixed fee project based on how much work has been completed.

It uses **billable hours delivered** as a measure of progress.

👉 Use this method when billable hours are a reliable indicator of project completion.

**Best when:**\
All billable hours are roughly equal in value and cost.

**Why you’d choose it:**

* It’s the **simplest and most intuitive** method
* Progress is directly tied to **effort (hours worked)**
* Works well when:
  * Team members have **similar bill rates**
  * Cost differences between roles are minimal
* Easy to explain and predict

In this method, *every billable hour contributes equally to progress*

***

## Before you start

Make sure your project includes:

* A **Services Revenue Budget**
* A **Billable Hours Budget**

Both can be configured at the **summary or detailed** level.

***

## How this method works

Ruddr recognizes revenue based on how much of the total projected work has been completed.

At a high level:

1. Track billable hours worked to date
2. Estimate total project hours
3. Calculate percent complete
4. Recognize revenue based on that percentage

***

## How Ruddr calculates recognizable revenue

For each recognition period, Ruddr:

1. Calculates **total billable hours worked to date**
2. Determines **total projected billable hours** as the greater of:
   * Budgeted hours
   * Actual hours + future allocated hours (if using allocations)
3. Calculates **percent complete**
4. Calculates **total revenue earned to date**
5. Subtracts previously recognized revenue to determine the **current period entry**

#### Important: projects with allocations

If your project uses **resource allocations**:

* Projected hours can increase during the project
* This happens when:
  * Actual hours + future allocations exceed the original budget

When this occurs:

* Revenue recognition adjusts automatically
* Earlier expectations may shift based on the new projection

***

## Key formulas (reference)

**Percent complete**\
Total billable hours worked ÷ Total projected billable hours

**Total projected hours**\
The great of Budgeted billable hours and (Actual billable hours + future allocated billable hours)

**Revenue earned to date**\
Percent complete × Services revenue budget

**Revenue for current period**\
Revenue earned to date − Previously recognized revenue

***

## How automation works

If automated revenue recognition is enabled:

* Runs **weekly or monthly**
* Monthly runs create entries for the **previous month**
* Weekly runs create entries for the **prior week**
* If using allocations:
  * Future **forecasted entries are created**
  * Forecasts are **refreshed each run**

***

# Example 1: Project stays within budget

This example shows the standard behavior when projected hours do not change.

**Project setup:**

* Services Revenue Budget: \$120,000
* Billable Hours Budget: 1,200 hours
* Monthly automation enabled
* Project stays within budget

***

### Month 1

* Hours to date: 240
* Percent complete: 20%
* Revenue earned to date: \$24,000
* **Revenue recognized: \$24,000**

***

### Month 2

* Hours to date: 600
* Percent complete: 50%
* Revenue earned to date: \$60,000
* Previously recognized: \$24,000
* **Revenue recognized: \$36,000**

***

### Month 3

* Hours to date: 900
* Percent complete: 75%
* Revenue earned to date: \$90,000
* Previously recognized: \$60,000
* **Revenue recognized: \$30,000**

***

### Month 4

* Hours to date: 1,200
* Percent complete: 100%
* Revenue earned to date: \$120,000
* Previously recognized: \$90,000
* **Revenue recognized: \$30,000**

***

## Summary table

| Month | Billable Hours to Date | % Complete | Revenue Recognized Through Period | Current Month Rev Rec |
| ----- | ---------------------- | ---------- | --------------------------------- | --------------------- |
| 1     | 240                    | 20%        | \$24,000                          | \$24,000              |
| 2     | 600                    | 50%        | \$60,000                          | \$36,000              |
| 3     | 900                    | 75%        | \$90,000                          | \$30,000              |
| 4     | 1,200                  | 100%       | \$120,000                         | \$30,000              |

## Summary

* Revenue follows **linear progress**
* Each period recognizes the **incremental earned amount**
* Total revenue = **\$120,000**

***

# Example 2: Total forecasted billable hours exceed budgeted billable hours

This example shows what happens when projected hours increase during the project.

**Project setup:**

* Services Revenue Budget: \$120,000
* Original Billable Hours Budget: 1,200 hours
* Monthly automation enabled
* Project uses **resource allocations**

***

## What changes?

In Month 3, projected hours increase because:

* Actual hours + future allocated hours exceed the original budget

Ruddr recalculates total projected hours using:

> max(Budgeted hours, Actual hours + future allocated hours)

***

### Month 1

* Hours to date: 240
* Projected hours: 1,200
* Percent complete: 20%
* Revenue earned to date: \$24,000
* **Revenue recognized: \$24,000**

***

### Month 2

* Hours to date: 600
* Projected hours: 1,200
* Percent complete: 50%
* Revenue earned to date: \$60,000
* Previously recognized: \$24,000
* **Revenue recognized: \$36,000**

***

### Month 3 (projected hours increase)

* Hours to date: 900
* Projected hours: **1,400**
* Percent complete: **64.29%**
* Revenue earned to date: **\$77,142.86**
* Previously recognized: \$60,000
* **Revenue recognized: \$17,142.86**

***

### Month 4

* Hours to date: 1,400
* Projected hours: 1,400
* Percent complete: 100%
* Revenue earned to date: \$120,000
* Previously recognized: \$77,142.86
* **Revenue recognized: \$42,857.14**

***

## Summary table

| Month | Actual Hours to Date | Future Allocated Hours | Projected Total Hours | % Complete | Revenue Recognized Through Period | Current Month Rev Rec |
| ----- | -------------------- | ---------------------- | --------------------- | ---------- | --------------------------------- | --------------------- |
| 1     | 240                  | 960                    | 1,200                 | 20.00%     | \$24,000.00                       | \$24,000.00           |
| 2     | 600                  | 600                    | 1,200                 | 50.00%     | \$60,000.00                       | \$36,000.00           |
| 3     | 900                  | 500                    | 1,400                 | 64.29%     | \$77,142.86                       | \$17,142.86           |
| 4     | 1,400                | 0                      | 1,400                 | 100.00%    | \$120,000.00                      | \$42,857.14           |

## Why revenue decreases in Month 3

If projected hours had stayed at 1,200:

* Percent complete would be: 900 / 1,200 = 75%
* Revenue earned to date would be: \$90,000

But because projected hours increased to 1,400:

* Percent complete becomes: 900 / 1,400 = 64.29%
* Revenue earned to date becomes: \$77,142.86

👉 This results in **less revenue recognized in Month 3**

***

## Key takeaway

When projected hours increase:

* Percent complete **decreases**
* Revenue is spread across **more total hours**
* Current period revenue may be **lower than expected**

***

## Learn more

* [Fixed Fee Revenue Recognition](/projects/fixed-fee-revenue-recognition)
* [The Revenue Recognition Ledger](/projects/the-revenue-recognition-ledger)
