Our previous post taught us how Zoho Billing makes life easy for businesses with its automated revenue recognition rule. However, certain businesses have more challenges that an automated system cannot handle, and there are certain situations where automated revenue recognition is not feasible. For example, construction services paid in advance but with uncertain start dates can make the revenue recognition rule look inappropriate. Some manual interventions are needed to handle this scenario.
Manual revenue recognition in Zoho Billing helps you handle these uncertainties. It is used when the timing and amount of revenue cannot be determined accurately through automated rules. This is common in industries such as construction, where project completion is tied to milestones that may occur at irregular intervals.
Example 1:
Imagine a construction firm signs a $50,000 contract to renovate a commercial building. The client pays the entire amount upfront, but the agreement specifies that the revenue will be recognized only as key project stages are completed. Each milestone carries a defined value or percentage of the total contact, say,
Design & Approval Phase: $5000
Demolition & Site Preparation: 30% of the total contract value
Structural & Roofing Work: 40% of the total contract value
Interiors & Handover: 100% of the remaining
Milestone | Recognition | Completion Date | Amount Recognized |
Design & Approval | Fixed Cost | 12/Jan/2025 | $5000 |
Demolition & Site Preparation | 30% of the total contract | 20/Feb/2025 | $15,000 |
Structural & Roofing Work | 40% of the total contract | 25/Apr/2025 | $20,000 |
Interior & Handover | 100% of the balance | 30/Jun/2025 | $10,000 |
Total Revenue Recognized= $50,000 |
The company ensures that its financial statement accurately reflects real project progress by only reporting revenue when each phase is completed, rather than relying on an automated schedule that may not match the actual work done.
If you look at the revenue recognition report, it will show up like this,
i) Recognized Revenue Report
At the end of the project,
Month | Recognized Revenue |
Jan 2025 | $5000 |
Feb 2025 | $15,000 |
Mar 2025 | $0 |
Apr 2025 | $20,000 |
May 2025 | $0 |
Jun 2025 | $10,000 |
Total Recognized | $50,000 |
ii) Deferred Revenue Report
As the project progresses, deferred value gets recognized.
Month | Deferred Revenue |
Jan 2025 | $45,000 |
Feb 2025 | $30,000 |
Mar 2025 | $30,000 |
Apr 2025 | $10,000 |
May 2025 | $10,000 |
Jun 2025 | $0 |
iii) Revenue Waterfall Report
Billing Date | Total Billed | Jan 2025 | Feb 2025 | Mar 2025 | Apr 2025 | May 2025 | Jun 2025 | Recognized Revenue | Deferred Revenue |
Jan 2025 | $50,000 | $5,000 | $15,000 | $0 | $20,000 | $0 | $10,000 | $50,000 | $0 |
The project owner ensures that revenue is recorded accurately only after each milestone is completed, and this is done manually without any specific frequency.
Example 2:
A software consulting firm signs a $120,000 contract to implement an in-house ERP solution with a client. The client pays the amount upfront, but the project involves phases that don't follow uniform timelines/deadlines.
The defined timelines are,
Requirement Analysis & Resource Planning: $10,000
System Customization: 25% of the total contract
Testing & QA: 35% of total contract
Deployment & Support: Remaining contract value
Milestone | Recognition | Completion Date | Amount Recognized |
Requirement Analysis & Planning | Fixed Cost | 15/Jan/2025 | $10,000 |
System Customization | 25% of the contract value | 10/Mar/2025 | $30,000 |
Testing & QA | 35% of the contact value | 25/May/2025 | $42,000 |
Deployment & Support | 100% of the balance | 30/Jul/2025 | $38,000 |
Total Revenue Recognized= $120,000 |
When you look at the revenue recognition report for this software deployment, it will show up as follows,
i) Recognized Revenue Report
At the end of the deployment,
Month | Recognized Revenue |
Jan 2025 | $10,000 |
Feb 2025 | $0 |
Mar 2025 | $30,000 |
Apr 2025 | $0 |
May 2025 | $42,000 |
Jun 2025 | $0 |
Jul 2025 | $38,000 |
Total Recognized | $120,000 |
ii) Deferred Revenue Report
As the development progresses, deferred value gets recognized.
Month | Deferred Revenue |
Jan 2025 | $110,000 |
Feb 2025 | $110,000 |
Mar 2025 | $80,000 |
Apr 2025 | $0 |
May 2025 | $38,000 |
Jun 2025 | $38,000 |
Jul 2025 | $0 |
iii) 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 | $120,000 | $10,000 | $0 | $30,000 | $0 | $42,000 | $0 | $38,000 | $120,000 | $0 |
Manual revenue recognition is critical when automated rules don't serve the purpose. As we saw through construction and IT consulting examples, Zoho Billing allows businesses to recognize revenue at the right amount and time, ensuring financial statements remain aligned with real project progress.
While we learn the manual recognition process, we will explore these specific industry types in future posts and provide a detailed walk-through of how these businesses record their earnings.
Our next post will start with the SaaS industry, where revenue recognition follows a very different pattern. Unlike milestone-based revenue recognition, SaaS depends more on a recurring billing cycle.
Stay tuned as we explore revenue recognition for SaaS businesses in a few days.
Recent Topics
Subform edits don't appear in parent record timeline?
Is it possible to have subform edits (like add row/delete row) appear in the Timeline for parent records? A user can edit a record, only edit the subform, and it doesn't appear in the timeline. Is there a workaround or way that we can show when a user
Knowledge Base Module
How to enable the knowledge base module in zoho crm account. I saw this module in one crm account but unable to find it other zoho crm account. can anyone know about this?
Zoho sign changed Indexing of signing_order
Because I missed this Announcement (is there even one?): when you work with the indexes of actions > signing_order. Previous those started with 0 now starts with 1. Changed somewhere between 15.07 and 23.07
How to Invoice Based on Timesheet Hours Logged on a Zoho FSM Work Order
Hi everyone, We’re working on optimizing our invoicing process in Zoho FSM, and we’ve run into a bit of a roadblock. Here’s our goal: We want to invoice based on the actual number of hours logged by our technicians on a job, specifically using the timesheets
Zoho CRM Community Digest - June 2025 | Part 2
Welcome back to the Zoho CRM Community Digest! We’re wrapping up June with more fresh updates, smart discussions, and clever workarounds shared by the community. Product Updates: Struggling to keep track of scattered customer interactions? Zoho CRM's
Allow Variable Insertion in Prebuilt "Update Record" Action in Schedules
Hi Zoho Creator Team, Hope you're doing well. We’d like to submit a feature request based on our experience using Zoho Creator schedules to manage workflows integrated with Zoho Desk. We currently have an app where Zoho Desk tickets create records in
Rich Text Field Editor in Form Builder is Too Small and Not Resizable
Hello, I am experiencing a significant usability issue with the rich text field in the Zoho Forms builder. The editor window for this field is fixed-size and extremely small. It does not adapt to the screen size, which makes it very difficult to manage
Publicar Formulário
Obs. Não consigo publicar meus formulários, pesquisei alguns artigos, mas me deixou perdido, fala de campo sensível, não consigo entender o que significa. Segue Imagem do problema. Todo formulário que faço sempre termina assim sem o botão de publicar..
Anyone else unable to login to ZMA this weekend?
Hey Is anyone else unable to log into Zoho Marketing Automation at all this weekend? I've been trying on multiple devices - despot and mobile - and multiple browser. I've reset browsing data, gone incognito. Nothing - since Friday I've been unable to
Custom Action for Subform row
Dears, As for now, we only have 2 actions for each subform row: Edit and Delete. I would suggest to have custom action here, instead of create a button with Fx field within the subform. For example, I would create Duplicate button, which duplicates the
Urgent: Unable to Receive OTP Email for Portal User Registration in Zoho Creator
I paid to enable the Portal User feature on 2/25, and followed the official instructions (Youtube video: Customer Portals | Zoho Creator) to set up the Portal User using my Gmail account. However, I am not receiving the OTP email and am unable to successfully
Sole Trader - Financial Advisor (Appointed Representative) - Paid via Capital Account but no Invoicing...
Hi. I'm about to venture into a new business after 12 months of intensive learning/exams. A little chuffed if I may say so especially at 52! I really like the look of ZoHo Books for my modest enterprise but I'm in need of some guidance, please. My services
Display multiple fields in lookup dropdown
I have a module called Technicians and a related module called submissions that registers technicians for different assignments. The lookup in Submissions to Technicians is the Technician ID (auto generated unique number). How do I display in the dropdown
Integrate with Power BI
Hi, How to connect Zoho CRM dashboards & reports with POWER BI ?
No "Import Users" option in Zoho FSM
I recently noticed that there is no option to import Users into Zoho FSM, and this has become a serious challenge for us. When migrating data, especially technicians or other user profiles, we often have hundreds of users to bring into the system. Currently,
Finding "like" projects
Hi Everyone! My team is running into several duplicating deals. I've been trying to get them all to name things the same way ex. State is 2 letters not spelled out. Things like that. What I am wondering if there is anything I can do as the superadmin
Não consigo localizar o Botão de Publicar Formulário no meu app
Depois que finalizar meus formulários, não consigo localizar o botão de publicar para concluir meu aplicativo
DATEV-Export Erfahrungen?
Wir würden gern den DATEV-Export in Books nutzen, jedoch ist dieser nicht wirklich nutzbar. Gibt es positive Erfahrungen von Alternativ-Lösungen?
Kaizen #191: Implementing "Login with Zoho" using Python SDK
Welcome back to another week of Kaizen!! This week, we are diving into how to implement secure user authentication using Login with Zoho and integrate it with Zoho CRM through our Python SDK. To ground this in a real-world scenario, we will look at how
WhatsApp Business Calling API
Dear Zoho SalesIQ Team, I would like to request a feature that allows users to call WhatsApp numbers directly via Zoho SalesIQ. This integration would enable sending and receiving calls to and from WhatsApp numbers over the internet, without the need
Custom modules not showing in developer console
I'm trying to create a custom summing function for a custom module I made in my CRM. When I go to create the function, my module isnt showing up. Do I need to share the custom moldule with my developer console or something of the like?
Following retainer invoice for partial payment of a sales order
HI, We issue sales orders when a client buy a product from us. We also issue multiple retainer invoices for partial payment (2 to 4 depending of the client). Team wants to follow payment of these retainer invoices for this Sales Order. If they are paid
Zoho CommunitySpacesとzoho CRM連携について
お世話になっております。 いつもご質問に丁寧に回答いただき大変助かっております。 今、当団体ではZoho CommunitySpacesを利用しており、利用ユーザ一覧をzoho CRMに自動登録(連携)したいと考えております。 そもそも可能なのか、もしあれば具体的な手順や方法はあるのかをご教授いただきたいです。 上記がないのなら、ユーザ一覧のエクスポート方法(メールアドレスと姓を含む)でもよいです。 お手数となりますが、お願いいたします。
Zoho Wiki or new Zoho Learn
We are currently evaluating if we should move off confluence. At present in Confluence we have multiple levels within our documentation but with learn it looks like you can only have Space - Manual - Chapter Is it possible to have levels below Chapter? Also the same question for the existing wiki, can I have more sub-levels?
New user After moving over from QBO
New user observations/suggestions. QBO took away a lot of features I was used to with the desktop version. Chaos ensued. Zoho Books has a lot of what I was used to and a bit more. Good deal Some things I have run into and suggest some upgrades. 1: The
Sales without an invoice
Sales without an invoice is not included on the “payments received” report. Also, sales without an invoice is not listed in the transactions under the customer’s profile, also making it easy to do a double entry. Is there a way for me to see my sales
Zoho Sign API - Create a document from template.
1. I would like to create a document from a template and send the document to the customer for signing. Is this possible using the Zoho Sign API? If so, please share the api reference link. 2. Is there sand box for Zoho Sign to test the APIs without using
Zoho Sign embedded iframe
Hello, we are looking for any of these options: a) some iframe that we can paste into our website for every signer, for onpage signing document. b) or get direct link for signers from Zoho sign API which we can redirect manually. Is any of these options
Goods in transit
When creating a purchase order in Zoho Books, how can I properly reflect the inventory as "Goods in Transit" until it reaches its final destination?
how to coming soon, holding site, or "under construction"
Hi! I was wandering if was possible to create a website with the simple sign of "Under construction or coming soon" while i work on the site. if possible, how? Cheers
Announcing Agentic AI - Ask Zia!
We are delighted to roll out the new agentic AI capabilities in Ask Zia, where every stage of the BI workflow is assisted by AI. With a human-in-the-loop approach, Ask Zia ensures that you’re in command of the decision, while AI handles the complexity.
Zoho People LMS VS Zoho Connect Manuals VS Zoho Learn
in the past I came accross Zoho WIKI but did not like the platform because it could use a lot of upgrade. Over the time I have noticed Zoho People come out with a LMS module which allows us to created a shared knowledge for our internal team I also came across Zoho Connect which as a knowledge-based for internal team referred to as Manual Now I am seeing Zoho Learn which is a new and fine-tuned version of Zoho Wiki. All of these platforms are very similar but I am wondering what are the differences
Marketing Automation Activities in Zoho CRM
Hello, I've connected Zoho CRM and Marketing Automation, sent a campaign, but no data are displayed in CRM, neither in "campaigns" section inside contact profile. It is possible to display Marketing Automation activities in CRM? Also in CRM Timelines?
How do we get a follow up to Experts 22: Scale up your customer support with integrations & extensibility
Hi, How do we get a followup and answers to the questions we have asked during 'Experts 22: Scale up your customer support with integrations & extensibility'. I have repsonded to the answers but have no way of following up. Thanks Brett
Frustrating Email Duplication and Timeline Issues Between Zoho Mail and CRM
Hi Zoho team, Can someone please help clarify what’s going on here? Here’s what’s happening: I initiate an email to a lead using Zoho Mail. The lead is created in Zoho CRM via the integration, and the email is correctly associated with that lead. Sometimes,
Best Strategy to import contacts and when to create leads
Hi, I'm new to Bigin and looking for a "best" strategy. I had and have the following idea for an use case: 1. Search for websites which I want to contact 2. Create a contact in Bigin with all the required information based on this website (via API if
Better implementation of Item Category on Invoices and Estimates
1) I have added Item Category as a custom field. Honestly, this should be a native part of the item itself, and either required, optional, or not used. 2) When entering an item on an invoice, you have to enter the first character(s) of the item, otherwise
Bulk Update (via the 'Accountant' menu)
Why can't we bulk update Expenses to Owner's Drawings? It always ends in failure with the error "Involved account types are not applicable". If such conversion isn't possible, why make the option available? Better to allow it though.
Set Reply_to parameter for "Email an Invoice" API Endpoint
Is there a way to set "Reply To" email address when using the Email an invoice API endpoint? It doesn't seem to be in documentation, but sometimes there are undocumented parameters. If it doesn't exist, please consider adding it as parameter since all
Zoho Books adaptado a la legislación española. ¿Sustitutos?
Buenas a tod@s No tenemos información sobre la adaptación de Zoho Books a la nueva ley de facturación en España. Me preguntan usuarios de zoho que deberían hacer. Propongo una lista de alternativas, si al final se opta por no desarrollar la funcionalidad
Next Page