Skip to main content
All CollectionsBudgetsRevenue Recognition
Fixed Price Revenue Recognition Models
Fixed Price Revenue Recognition Models

Find out about how revenue can be recognized for your fixed billing type services in Productive.

Updated over a week ago

Productive allows you to choose how and when revenue from Fixed billing type services will be recognized, in contrast to Time and Materials billing type services, where revenue is always recognized at the moment when time entries and expenses are logged (and approved) and future bookings are made.

To select your desired revenue recognition method for your Fixed billing type servces, go to Settings > Revenue Recognition.

Here, you can choose between two options:

1) Recognizing all revenue from fixed billing type services on a single date.

2) Spreading the revenue over time as time entries, expenses, and bookings are made.


Revenue from Fixed-Price Services Recognized on a Single Date

By choosing this option, you can set the date on which you want the revenue to be recognized.

You have several options for open budgets:

  • Recognize the revenue on the Budget start date

  • Recognize the revenue on the Budget end date with start date fallback (if no end date is set, the budget start date is used)

  • Do not recognize revenue while the budget is open

  • Budget End date (if none is set, revenue is not recognized while the budget is open; End date with no recognition fallback)

Additionally, you can choose how revenue is recognized upon delivering the budget:

  • On the Budget start date

  • On the Delivery date

  • On the Budget end date with a fallback to delivery date (if no end date is set, the budget delivery date is used)

  • On the Budget end date with a fallback to the start date (if no end date is set, the budget start date is used)

Single Date Recognition Example (click here)

In this example, the revenue recognition settings in Productive are configured to recognize revenue on the budget start date for open budgets and on the delivery date for delivered budgets.

Let's consider a budget with a total of 40 hours, at a rate of €100/hour. Here's how the hours are allocated:

  • 10 hours logged

  • 20 hours scheduled

  • 10 hours remaining

  • Budget start date: May 1

If we generate a Financial Items data source report, we’ll see that all revenue remains in the service (marked as Fixed in the report), despite having logged 10 hours, scheduled 20 hours in Resourcing, and having 10 more hours unaccounted for (no time tracked, no bookings made).

The revenue recognition date, based on the revenue recognition settings, will be May 1. Delivering this budget will switch the revenue recognition date to the delivery date, but all revenue will still be tied to the service.

Revenue from Fixed-Price Services Spread Across Time

Choosing to recognize revenue for fixed billing type services over time means that as you log time, expenses, and create bookings in Resourcing, the revenue is gradually recognized, with any remaining budget marked as "Unrecognized revenue".

For open budgets, you can control how this surplus is handled:

  • Recognize surplus on the Budget start date

  • Do not recognize surplus while the budget is open

  • Recognize surplus on the Budget end date (with the start date as a fallback if the end date is not defined)

  • Recognize surplus on the Budget end date (with no recognition if the end date is not set)

For delivered budgets, options include:

  • Recognizing the surplus on the Budget start date

  • Recognizing the surplus on the Budget delivery date

  • Recognizing the revenue on the Budget end date (with a fallback to the delivery date if the end date is not defined)

  • Recognizing the revenue on the Budget end date (with a fallback to the start date if the budget end date is missing)

Revenue Spread Over Time Example (click here)

In this scenario, revenue is set to be distributed over time, with any surplus (unrecognized) revenue being recognized on the budget start date while the budget is open.

Consider a budget with a total of 40 hours, at a rate of €100/hour. Here's how the hours are allocated:

  • 10 hours logged (and recognized) in May

  • 20 hours scheduled (and recognized) in June

  • 10 hours remaining

  • Budget start date: May 1

The revenue from the service (marked as Fixed; see the screenshot) is spread over the time entries and the future scheduled bookings as they occur (marked as Time entry and Booking in the report).

However, since the budget is for 40 hours in total, there is a surplus of €1,000 left.

Due to the revenue recognition settings, this surplus remains linked to the service and is recognized on the budget start date.

When the budget is delivered, the recognition date for the surplus would switch to the budget end date, if defined. Otherwise, it would revert to the budget start date, as defined in the revenue recognition settings.

Did this answer your question?