Revenue Management: #7 Revenue Recongition in Construction & Real Estate Industry

Revenue Management: #7 Revenue Recongition in Construction & Real Estate Industry

If you are in the construction or real estate business, you are used to long project timelines and progressive invoicing to keep up with your billing. But when does revenue get recognized? Will it happen when the contract gets signed? At different milestones or only at the end of the project? Each phase has its own pace, and the revenue needs to be tracked carefully throughout the end.


How do long-term projects and contract-driven businesses recognize revenue?   

Revenue Recognition Scenario in Construction & Real Estate

With long-term projects and multiple deliverables in place, construction and real estate businesses often stretch the process across months or even years. Revenue recognition in these industries is less about timing and more about progress.


Long-Term, Multi-Phase Projects

Construction projects often span many months or years. Recognizing revenue based solely on billing milestones (say 30% upfront, 40% midway, and 30% on completion) doesn't reflect the actual progress or value delivered. Companies must track and report revenue based on performance progress, not payment terms.


Example: $5,00,000 real estate development, $1,00,000 recognized after land acquisition, $2,00,000 during construction in progress and remaining during handover.

Percentage of Completion Method

This industry often uses the percentage of completion method, where revenue is recognized based on the cost incurred or work completed relative to the entire project. Misjudging this percentage can result in misstated finances.


Example: For a $1 million project, if 40% of the work is completed, $4,00,000 is recognized regardless of its payment terms.

Retainage Clauses

In construction, it's common for clients to withhold a portion of the contract until completion. Although the work is completed, the revenue may remain deferred depending on the contract terms.

Example: 10% of the $2,00,000 contract is retained as a deposit. That is, $20,000 will be kept as deferred revenue until completion.

Change Orders and Delayed Delivery

Projects might include design, foundation, electrical, plumbing, and landscaping. Each component might have a separate delivery schedule and must be tracked as a performance obligation. When the scope changes during the progress, companies must reassess the total contract value and the revenue allocation accordingly. On the other hand, if the project execution is postponed, all the revenue earned will remain deferred even if an upfront payment was made.


Example: If a client makes a $5,00,000 upfront payment but the work is delayed, the entire amount will stay in deferred revenue until the obligations are fulfilled.

Proper recognition in this space depends more on accurately tracking project progress and billing terms. It's hard for any business to track all these manually, as any deviation in this might lead to the risk of under- or over-recognition. Sometimes, automated recognition rules may not fit a construction contract, specifically when project timelines are uncertain, milestones don't follow a uniform schedule, or the scope frequently changes.

Businesses may prefer manual revenue recognition to mitigate the risk of miscalculation or inappropriate revenue recognition. This ensures revenue is recorded only when specific deliverables are actually completed.


Info

Scenario:

A construction company signs a $600,000 contract to build a commercial warehouse. The client pays the full payment upfront, but the contract specifies that revenue will only be recognized at key stages of the project completion and not based on the period.

Project stages are defined as:

  •  Site Preparation & Foundation: $100,000

  • Structural Framework: 30% of contract value

  • Roofing & Utilities Installations: 40% of the contract value

  • Interior Finishing & Handover over: Remaining balance


Revenue Recognition with Zoho Billing

Zoho Billing enables businesses like the one above to create flexible revenue recognition rules tied to the project progress and with several deliverables.


Companies rely on manual revenue recognition in most construction projects because project timelines and deliverables are often unpredictable. Manual recognition ensures revenue is recorded only when specific milestones are completed. Automated rules like the percentage of completed or scheduled milestones can still be configured where timelines are more predictable, but manual recognition remains the default approach in this industry. In such cases, rules don't need to be pre-configured; the revenue is recognized manually when the milestone is completed.

Reports in Zoho Billing

At the end of the project, recognition happens only at milestone completions based on the manual entry made by the project management team.


Recognised Revenue Report: 

Phases

Completion Date

Recognized Revenue

Site Preparation & Foundation

15/Jan/2025

$100,000

Structural Framework

10/Mar/2025

$180,000

Roofing & Utilities Installation

25/May/2025

$240,000

Interior Completion & Handover

30/Jul/2025

$80,000

Total Recognized

 

$600,000

 


Deferred Revenue Report: 

Month

Deferred Amount

Jan 2025

$500,000

Feb 2025

$500,000

Mar 2025

$320,000

Apr 2025

$320,000

May 2025

$80,000

Jun 2025

$80,000

Jul 2025

$0

 


Revenue Waterfall Report

Billing Date

Total Billed

Jan 2025

Feb 2025

Mar 2025

Apr 2025

May 2025

Jun 2025

Jul 2025

Recognized Revenue

Deferred Revenue

Jan 2025

$600,000

$100,000

$0

$180,000

$0

$240,000

$0

$80,000

$600,000

$0

 


Zoho Billing can efficiently handle change orders, as revenue is recognized manually (Manual Recognition Method). It also allows contract amendments and dynamic revenue reallocation based on project alignment.

Idea

Best Practices for Construction & Real Estate Firms' Revenue Recognition

  • Break Down Phases as Obligations: Identify architecture and construction as distinct deliverable components.
  • Use Percentage of Completion Metrics: Set the base recognition based on cost or time progress, not on the invoicing period.
  • Handle Change Orders: Adjust the revenue schedule dynamically when the scope of the project changes. 
    • Sticky Posts

    • Community Learning Series | Digest #5 — September 2020

      Dear customers, We're happy to bring you the September edition of our #CommunityDigest! Keep track of your subscription KPIs right from your smartphone: Last month, we enhanced our Android mobile app to help our customers get daily updates on their business health. We got to know from a lot of customers that this has made their job much more easier because they no longer have to keep a reminder to manually check on the previous day's revenue or activations. If you have not downloaded it yet, here's
    • Community Learning Series | Digest #4 - August 2020

      Dear customers, We hope you're staying safe and healthy. I'm happy to bring you the fourth edition of our #CommunityDigest with some brand-new updates from us. 1. Daily Business Updates (for Android users) The Zoho Subscriptions Android app has got a cool new update: You can now get a push notification to your smartphone that lets you know how many activations and cancellations have taken place, and what's the net revenue for the previous day. The best part is, you can tell the app when exactly you
    • Community Learning Series | Digest #3 - July 2020

      Dear customers, We hope you're staying safe and healthy. We're glad to bring you the July edition of our #CommunityDigest. New community members can view our previous newsletters here. This time, we have two major updates and three interesting topics for you: 1. Zoho Subscriptions Developer Community Since the inception of Zoho Subscriptions, our team believed that the recurring billing platform we provide should be able to offer an extensive API library that empowers businesses to automate most
    • Introducing: Community Learning Series | Digest #1 - May 2020

      Dear customers, We hope you are staying safe and healthy. Helping businesses manage their customer subscriptions more efficiently has always been, and always will be, our goal at Zoho Subscriptions. We strongly believe this is possible if we grow together as a community and share what we know with each other. To nurture this shared learning experience, here is our brand-new Community Learning Series! ​ Welcome to the first edition of our digest! Each edition of our community digest includes guides
    • Recent Topics

    • Quick Item Search & Auto-suggestion for Invoices

      Hi Team, I am facing an issue while creating invoices in Zoho Books. Currently, I have to type the full item name in the correct sequence and spelling for it to appear. For example, my item name is: "Distemper Acri Silk Special White 10kg" If I type something
    • Empowered Custom Views: Cross-Module Criteria Now Supported in Zoho CRM

      Hello everyone, We’re excited to introduce cross-module criteria support in custom views! Custom views provide personalized perspectives on your data and that you can save for future use. You can share these views with all users or specific individuals
    • Ticketbai! en el Pais Vasco

      Hola a todos, En enero de 2.022 se va a implantar en el país vasco un nuevo sistema de facturación, denominado ticketbai!, ¿hay alguna previsión de realizar las adaptaciones en zoho books o zoho invoices? Ignoro la cantidad de clientes que tienen estas
    • Zoho CRM mobile app feature update: home page widgets, field tooltips and user image upload

      Hello everyone! Your business doesn't pause when you're on the move, and neither should your CRM. That's why in our latest update, we've introduced a few new features to make your mobile CRM experience smoother and more efficient. Let's take a quick look
    • Zoho CRM Plain Text Template: Line Breaks and Formatting Issue

      Hello, I'm following the instructions to create email templates in Zoho CRM, but I'm having a problem with the plain text version. https://help.zoho.com/portal/en/kb/zoho-sign/integrations/zoho-apps/zoho-crm/articles/zoho-crm-email-templates#Steps_to_create_a_custom_email_template
    • Optimizing Task Handling: Auto-Remove Recurrence for cancelled Tasks.

      Hello Everyone, A Custom function is a user-written set of code to achieve a specific requirement. Set the required conditions needed as when to trigger using the Workflow rules (be it Tasks / Project) and associate the custom function to it. Requirement:
    • Important updates to your connectors

      Hello everyone, Greeting from Zoho Creator! We're excited to announce that we'll be rolling out significant backend updates to Zoho Creator's built-in connectors to enhance security by following the latest frameworks. The existing version of some of the
    • Create, collaborate, and manage agreements with Zoho Sign

      Agreements drive business. We launched Zoho Sign in 2017 as a simple digital signature tool to sign agreements from anywhere, at any time. Over the years, we've learned that most agreements go through last-minute changes before they're signed. Our users
    • Function #25: Automatically generate purchase orders from a sales order

      We kicked off the "Function Fridays" series with the goal of helping you automate your everyday accounting tasks. As we delve into today's post, I'm delighted to announce that we're here to present the 25th custom function in this series. While it is
    • Has Anyone successfully integrated Zoho and Sage Intact?

      Hey all, We’re evaluating Zoho One + Sage Intacct and I’m trying to connect with anyone who has actually implemented the two together.Specifically, I’d love to know: -- Which functions you kept in Zoho vs. Intacct (e.g., Product Catalog, AR/AP, invoicing,
    • 5名限定 課題解決型ワークショップイベント Zoho ワークアウト開催のお知らせ (9/25)

      ユーザーの皆さま、こんにちは。Zoho ユーザーコミュニティチームの藤澤です。 9月開催のZoho ワークアウトについてお知らせします。 今回はZoomにて、オンライン開催します。 ▷▷参加登録はこちら:https://us02web.zoom.us/meeting/register/6OSF2Bh6TumsMIlDwaY_PQ ━━━━━━━━━━━━━━━━━━━━━━━━ Zoho ワークアウトとは? Zoho ユーザー同士で交流しながら、サービスに関する疑問や不明点の解消を目的とした「Zoho
    • hiding a topic from all but one segment (or list)

      My organization sends out a number of newsletters using Zoho Campaigns. One of those newsletters is for volunteers. In order to become a volunteer, a person has to first go through our volunteer orientation (training). After that, they can receive newsletters
    • How do I set up this automation correctly?

      When contacts enter my Subscribers list, I want it to reference a custom field to see if it is empty. Then I want it to do two things: If empty: Assign a tag based on a different custom field. If that custom field is empty, assign a different tag. If
    • Custom confirmation message

      How can I change the message that users see after they submit the booking form? I have to confirm some details before their appointment is officially "confirmed", so I want to change it where it doesn't say their appointment is "confirmed" but rather
    • Has anyone integrated SMS well for Zoho Desk?

      Our company does property management and needs to be able to handle inbound sms messages which create a ticket for Zoho Desk. We then need to be able to reply back from Zoho desk which sends the user an sms message. This seems like a fairly common thing
    • Desk x CRM Integration

      Howdy! We currently use SalesIQ but we are considering moving across to Desk as it seems to have more functionality that we want. One of the pulls is the ability for our customers to self serve. But, I might be getting over excited and not actually need
    • Client Script refuses to set an initial value in Subform field

      I tried a very simple, 1 line client script to set a default value in a custom subform field when the "Add Row" button is clicked and the user is entering data. It does not work - can someone tell me why? ZDK documentation suggests this should be doable.
    • Issue with Save & Share Link – Works for Others but Not Creator

      I’ve enabled the "Save and Share" feature in Zoho Forms, and it works correctly for all users accessing the public link—except for me (the form creator). Issue Details: When I save and share the link, recipients see a “no permission” error. The form is
    • Save the pdf report from a registration form in a Folder

      Through Zoho Forms I created a registration form with quite a lot of rules to handle different variables (TEAM types, payment in installments, etc.), and the result is pretty good. The automatic PDF that is sent to the respondent upon submission is already
    • zoho forms integration to zoho work drive

      Scenario: A user fills out a Zoho Form, entering details such as email, mobile number, and other required information, and uploads supporting documents like PAN, Aadhaar, etc. Upon submission, the data is available in Zoho Forms Reports. Requirement:
    • Zoho Forms to Zoho CRM Integration failed - can I restart it?

      The integration of Zoho Form to Zoho CRM has failed. Is there a way for me to restart it for the impacted entry?
    • insert an equation, but in document, it shows an image not available.

      I'm new to Zoho writer and used Zoho writer in desktop app version . When I inserted an equation, I got an image not available sign. Any help is appreciated. Thanks, Charles
    • Zoho Desk Android app update - Swipe action customization

      Hello everyone! We have brought in support for the swipe action customization in latest version(v2.9.13) of the Zoho Desk Android app update, enabling you to configure left and right swipe gestures on tickets to carry out the actions swiftly without opening
    • Import KB template OR Export template for zoho desk?

      Greetings. Can you tell me if there is a way to get an EXPORT of my KB articles? OR is there a template you supply for importing KB articles into my zoho desk? I am looking for a method of understanding what fields can be imported, and what their possible
    • XML format to import knowledgebase into Zoho Desk

      Hi, We just started to use Zoho Desk and want to import our knowledgebase from our old support system (Freshdesk) to Zoho Desk. Can anyone give us information about the format of xml file to import? There is no explanation on the related page.
    • Zoho Desk integration with Power BI

      Hi, I want to be able to create a Power BI report which has live updates of ticket data from zoho desk, is this possile at all? Thanks Jack
    • Arranging Ticket Templates

      Is there any way to arrange our ticket templates? It doesn't look very organised when it's just arranged according to when they were created. We want the list to look more organised, by arranging/grouping them by topics, or even just by alphabetical
    • New Mandatory One-Click Unsubscribe Link Overshadowing Custom Unsubscribe Link

      I was recently informed by Zoho CRM Support that they are now mandated by the large email service providers like Google and Yahoo to provide a one-click unsubscribe option in the header (not the body) of all mass emails. I have a custom unsubscribe link
    • What they mean with "Portal"?

      I just downloaded this app to take my personal notes on digital art studio because it seemed to me the most comfortable app to do it, I use it very often, what do they mean by “no activity on your portal”? I have about 1 year of work here and I don't
    • Inactive User Auto Response

      We use Zoho One, and we have a couple employees that are no longer with us, but people are still attempting to email them. I'd like an autoresponder to let them no the person is no longer here, and how they can reach us going forward. I saw a similar
    • favorites no longer listed

      Hello, I can no longer navigate to my Favorites from the pulldown at the top of my grid view (see attached screenshot). I wasn't able to find it anywhere! Please help me display my Favorites. Thank you!
    • Notecards Disappeared

      Got a new phone. Downloaded and signed in Zoho Notebook. Not finding the Note cards. Just Empty Note books. Frustrating.
    • Table Errors

      Hello, I'm new to Zoho Notebook and using it on several Mac/Apple devices. My question is regarding tables: Why do they become broken, and how to fix the error without retyping all my data? (Please see the screenshot attached.)
    • Aggregating the First Value in the Group By of a dataset

      Hi I am trying to get the following Aggregate Formula to work in my chart, but cannot seem to get the right format. I have a series of data that I am running an include_groupby and want to SUM only a column in the first row of each group. So for example.
    • Zoho Tables instead of Zoho Creator Spreadsheet reports <3

      That would make my day for sure. Zoho Creator is create, but miss data entering as AirTable/Spreadsheet can. Seeing Zoho putting effort in this makes me think maybe one day we could see a similar interface for Zoho Creator spreadsheet reports. B.
    • Zoho Sheet - Desktop App or Offline

      Since Zoho Docs is now available as a desktop app and offline, when is a realistic ETA for Sheet to have the same functionality?I am surprised this was not laucned at the same time as Docs.
    • Notebook Stack

      Hi Everyone I Hope you´re fine, I´m sorry if this idea was posted before (I made a search but I haven´t find anything related). So, Having the possibility of stacking notebooks would be an interesting way to order notebooks that correspond to the same
    • Writing on sketch cards is bugged when zoomed in

      When zoomed in, it writes a noticeable distance above or to the side of where you're actually trying to write. The further you're zoomed in, the more noticeable it is. Zooming is also entirely absent on the desktop version.
    • Swipe between notes on iPhone

      It'd be convenient if I could move from one note to the next in a notebook simply by swiping left to right.
    • Sales IQ chat is not working in signed android apk

      I have integrated ZOHO sales IQ support chat and i have followed each step and its working fine in my development build but when i create signed APK for it. Chat does not work in it and showing awaiting for detail. I previously asked the same query but
    • Next Page