Revenue Management: #6 Revenue Recognition in Professional Services Industry

Revenue Management: #6 Revenue Recognition in Professional Services Industry

If you run a consulting firm, agency, or any service-based business, you have a situation where you have signed the contract, maybe even sent the invoice, and have received some initial payments. So, can you consider this as revenue? What if the project spans several months? What if there is a revision or unplanned scope creep in?


How do service-based businesses recognize revenue for time, materials, and milestones?

Revenue Recognition Scenarios in the Professional Services

This can happen to any service-based firm, like legal advisors, consultants, marketing agencies, and IT services providers, as they don't sell physical goods. Instead, they provide time, expertise, and deliverables with different timelines. This means, the revenue is recognized as work is performed and not when the invoices are sent. Here are some of the common scenarios that a service-based company faces:

Time & Material Billing

Many firms work on time and material contracts, where billing is based on hours logged. In contrast, fixed-fee projects promise a set scope for a lump sum. Revenue must be recognized based on the work delivered, not simply how much time has passed or been billed.

Example: A consultant bills $150/hour. If 40 hours are worked in April, $6000 is recognized for that month.

Bundled Services

Like SaaS, A contract might include onboarding, implementation and support. Each has a different timeline and must be recognized separately. Without clear performance obligations, firms risk misstating their revenue.


Example: A network provider sells routers, installs them, and provides support for a one-year period for $50,000. Here, the revenue earned by routers is recognized immediately; revenue from installation will be recognized as and when it is done. However, the revenue for support will be recognised only at the end of the year.

Milestone-Based Deliverables

Some contracts are milestone-based. Even if the client pays upfront or monthly, revenue must be recognized only when the milestone is met. This leads to uneven revenue patterns and complex tracking.


Example: A $20,000 marketing strategy contract has different stages, starting with $500 for discovery, $10,000 for planning, and $5000 at the time of delivery. Revenue aligns with each milestone.

Different Start Date

There can be cases where the client pays upfront for a project that begins after a few weeks. The revenue cannot be considered recognized until the project begins, and it will be deferred until the actual start date.


Example: $10,000 was paid in June for a project that starts in August. The revenue will have to be maintained as a liability/deferred until August.

Scope Changes & Goes for Rework

Projects often evolve with new tasks, changes in timeline, or even the entire deliverable gets changed. These contract modifications require updated revenue allocation and potentially re-recognition of previously booked revenue.


Example: A legal advisory firm signs a six-month contract for $60,000. After two months, the clients expanded the scope by adding training and doubling the reviews from the earlier contract, which required reallocating revenue for the remaining months.

Since service delivery isn't always linear, tracking obligation completion is essential. Manually doing this for a large-scale contract is going to be close to impossible.


Info
Scenario:

A digital consultancy service signs a contract for $60,000 with a client that includes $10,000 worth of an upfront discovery workshop. Additionally, System implementation is planned for $30,000 and will take three months to complete. Technical assistance will be offered at $20,000 for six months.
 

Zoho Billing for Professional Service Revenue Recognition


Zoho Billing allows professional services firms to configure revenue recognition rules tailored to the contract's stages and services.


For the scenario above, the rule could be set as follows:

 

For Discovery Workshop

For Implementation

For Technical Assistance

Recognition Frequency

Once

Monthly

Monthly

Recognition Method

Daily

Evenly Distributed

Evenly Distributed

Recognition Time

Period Start

Period Start

Period Start

 

Once configured, Zoho Billing will take care of recognizing the revenue automatically.


It recognizes $10,000 after the discovery sessions are done. For implementation, $10,000 will be recognized per month for the next three months. For technical assistance, $3,333 per month will be recognized, which sums up to $20,000 for the committed six-month period.


Reports in Zoho Billing

If you look at the Revenue Recognition reports after two months in Zoho Billing, you can find,


i) Recognized Revenue Report

Two months into the engagement, the discovery workshop is over, two months of implementation have been delivered, and two months of technical assistance have been rendered.

Component

Recognized Revenue

Description

Discovery Workshop

$10,000

Fully recognized

System Implementation

$20,000

$10,000/month for two months

Technical Assistance

$6666

$3333/month for two months

Total Recognized

$36,666

Revenue earned in two months

 

ii) Deferred Revenue Report

The remaining revenue in deferred is for pending implementation and assistance services that are to be done.

Component

Deferred Amount

System Implementation

$10,000 (one month left)

Technical Assistance

$13,334 ($3333/month x4)

Total Deferred

$23,334

 

iii) Revenue Waterfall Report

Month

Discovery Workshop

Implementation

Assistance

Total

Month 1

$10,000

$10,000

$3,333

$23,333

Month 2

---

$10,000

$3,333

$13,333

Month 3 (upcoming)

---

$10,000

$3,333

$13,333

Month 4 (upcoming)

---

---

$3,333

$3,333

Month 5 (upcoming)

---

---

$3,333

$3,333

Month 6 (upcoming)

---

---

$3,333

$3,333

 

 

Idea

Best Practice for Professional Services Revenue Recognition

  • Define Deliverables Clearly: Break work into explicit deliverables/obligations to know how it will be delivered.
  • Match Revenue with Service Period: Use time-based or milestone-based rules depending on the service to be recognized.
  • Reassess on Scope Changes: The system should be equipped to automatically understand contract changes and recognize scheduled changes when the project terms shift.
  • Manual Revenue Recognition: It is best to use Manual Revenue Recognition based on completion for long-term milestone-based projects.
  
    • 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

      • Attachment is not included in e-mails sent through Wordpress

        I have a Wordpress site with Zeptomail Wordpress plugin installed and configured. E-mails are sent ok through Zeptomail but without the included attachment (.pdf file) Zeptomail is used to send tickets to customers through Zeptomail. E-Mails are generated
      • Upcoming Changes to the Timesheet Module

        The Timesheet module will undergo a significant change in the upcoming weeks. To start with, we will be renaming Timesheet module to Time Logs. This update will go live early next week. Significance of this change This change will facilitate our next
      • Best way to schedule bill payments to vendors

        I've integrated Forte so that I can convert POs to bills and make payments to my vendors all through Books. Is there a way to schedule the bill payments as some of my vendors are net 30, net 60 and even net 90 days. If I can't get this to work, I'll have
      • Cant update image field after uploading image to ZFS

        Hello i recently made an application in zoho creator for customer service where customers could upload their complaints every field has been mapped from creator into crm and works fine except for the image upload field i have tried every method to make
      • Billing Management: #4 Negate Risk Free with Advances

        In the last post, we explored how unbilled charges accumulate before being invoiced. But what happens when businesses need money before service begins? Picture this: A construction company takes on a $500,000 commercial building project expected to last
      • Is there an equivalent to the radius search in RECRUIT available in the CRM

        We have a need to find all Leads and/or Contacts within a given radius of a given location (most likely postcode) but also possibly an address. I was wondering whether anyone has found a way to achieve this in the CRM much as the radius search in RECRUIT
      • Zoho CRM Inventory Management

        What’s the difference between Zoho CRM’s inventory management features and Zoho Inventory? When is it better to use each one?
      • Cannot Enable Picklist Field Dependency in Products or Custom Modules – Real Estate Setup

        Hello Zoho Support, I am configuring Zoho CRM for real estate property management and need picklist field dependency: What I’ve tried: I started by customizing the Products module (Setup > Modules & Fields) to create “Property Type” (Housing, Land, Commercial)
      • Get Workflow Metadata via API

        Is there a way to get metadata on workflows and/or custom functions via API? I would like to automatically pull this information. I couldn't find it in the documentations, but I'm curious if there is an undocumented endpoint that could do this. Moderation
      • Zoho Projects - Q2 Updates | 2025

        Hello Users, With this year's second quarter behind us, Zoho Projects is marching towards expanding its usability with a user-centered, more collaborative, customizable, and automated attribute. But before we chart out plans for what’s next, it’s worth
      • FSM setup

        So we have been tinkering with FSM to see if it is going to be for us. Now is the time to bite the bullet and link it to our zoho books and zoho crm. The help guides are good but it would really help if they were a bit more in depth on the intergrations.
      • Upcoming Updates to the Employees Module in Zoho Payroll (US)

        We've made a couple of updates to the Employees module in Zoho Payroll (latest version of the US edition). These changes will go live today. While creating an employee Currently, the Compensation Details section is part of the Basic Details step, where
      • Possible to Turn Off Automatic Notifications for Approvals?

        Hello, This is another question regarding the approval process. First a bit of background: Each of our accounts is assigned a rank based on potential sales. In Zoho, the account rank field is a drop-down with the 5 rank levels and is located on the account
      • ZOHO Creator subform link

        Dear Community Support, I am looking for some guidance on how to add a clickable link within a Zoho Creator subform. The goal is for this link to redirect users to another Creator form where they can edit the data related to the specific row they clicked
      • Allow Resource to Accept or Reject an Appointment

        I have heard that this can be done, is there any documentation on how?
      • Create new Account with contact

        Hi I can create a new Account and, as part of that process, add a primary contact (First name, last name) and Email. But THIS contact does NOT appear in Contacts. How can I make sure the Contact added when creating an Account is also listed as a Contact?
      • How To Insert Data into Zoho CRM Organization

        Hi Team I have this organization - https://crm.zoho.com/crm/org83259xxxx/tab/Leads I want to insert data into this Leads module, what is the correct endpoint for doing so ? Also I have using ZohoCRM.modules.ALL scope and generated necessary tokens.
      • Where can I get Equation Editor por Zoho Writer?

        I need to use Math Formulas in my document. Thank you.
      • Filtering repport for portal users

        Salut, I have a weird problem that I just cannot figure out : When I enter information as administrator on behalf of a "supplier" portal user (in his "inventory" in a shared inventory system), I can see it, "customer" portal users can see it, but the
      • Zoho Inventory. Preventing Negative Stock in Sales Orders – Best Practices?

        Dear Zoho Inventory Community, We’re a small business using Zoho Inventory with a team of sales managers. Unfortunately, some employees occasionally overlook stock levels during order processing, leading to negative inventory issues. Is there a way to
      • BUTTONS SHOWN AS AN ICON ON A REPORT

        Hi Is there any way to create an action button but show it as an icon on a report please? As per the attached example? So if the user clicks the icon, it triggers an action?
      • Dropshipping Address - Does Not Show on Invoice Correctly

        When a dropshipping address is used for a customer, the correct ship-to address does not seem to show on the Invoice. It shows correctly on the Sales Order, Shipment Order, and Package, just not the Invoice. This is a problem, because the company being
      • RFQ MODEL

        A Request for quotation model is used for Purchase Inquiries to multiple vendors. The Item is Created and then selected to send it to various vendors , once the Prices are received , a comparative chart is made for the user. this will help Zoho books
      • Will zoho thrive be integrated with Zoho Books?

        title
      • Product Updates in Zoho Workplace applications | August 2025

        Hello Workplace Community, Let’s take a look at the new features and enhancements that went live across all Workplace applications this August. Zoho Mail Delegate Email Alias Now you can let other users send emails on your behalf—not just from your primary
      • Unable to send message; Reason:554 5.1.8 Email Outgoing Blocked

        Hi, I sent few emails and got this: Unable to send message; Reason:554 5.1.8 Email Outgoing Blocked And now I have few days since I cant send any email. Is there something wrong I did? Also can someone fix this please
      • Want to use Zoho Books in Switzerland. CHF support planned?

        Hi, We're a Swiss company using other Zoho suite software and I discovered Zoho Books and other accounting SaaS when looking for an accounting tool. Do you intend to cover Switzerland and CHF based accounting anytime soon? Roy
      • Celebrating Connections with Zoho Desk

        September 27 is a special day marking two great occasions: World Tourism Day and Google’s birthday. What do these two events have in common (besides the date)? It's something that Zoho Desk celebrates, too: making connections. The connect through tourism
      • Adding Overlays to Live Stream

        Hello folks, The company I work for will host an online event through Zoho Webinar. I want to add an overlay (an image) at the bottom of the screen with all the sponsors' logos. Is it possible to add an image as an overlay during the live stream? If so,
      • Email Sending Failed - SMTP Error: data not accepted. - WHMCS Not sending emails due to this error

        I have been trying to figure out a fix for about a week now and I haven't found one on my own so I am going to ask for help on here.  After checking all the settings and even resetting my password for the email used for WHMCS it still says: Email Sending Failed - SMTP Error: data not accepted.  I have no clue how to fix it at this point. Any insight would be lovely. 
      • Zoho Flow - Update record in Trackvia

        Hello, I have a Flow that executes correctly but I only want it to execute once when a particular field on a record is updated in TrackVia. I have the trigger filters setup correctly and I want to add an "update record" action at the end of the flow to
      • Add Comprehensive Accessibility Features to Zoho Desk Help Center for End Users

        Hello Zoho Desk Team, We hope you're doing well. We’d like to submit a feature request to enhance the client-facing Help Center in Zoho Desk with comprehensive accessibility features, similar to those already available on the agent interface. 🎯 Current
      • Zoho CRM mobile: Support for rich text in multi-line fields, Image upload field, and more

        Hello everyone, We've made a few enhancements to the Zoho CRM mobile app to improve your experience. Here's what's new: Rich text support for multi-line fields (iOS) Image upload field support (iOS and Android) Tool tip markdown (iOS) Rich text support
      • Rename Record Summary PDF in SendMail task

        So I've been tasked with renaming a record summary PDF to be sent as part of a sendmail task. Normally I would offer the manual solution, a user exports the PDF and uploads it to a file upload field, however this is not acceptable to the client in this
      • in zoho creator Sales Returns form has sub form Line Items return quantity when i upate the or enter any values in the sub form that want to reflect in the Sales Order form item deail sub form field Q

        in zoho creator Sales Returns form has sub form Line Items return quantity when i upate the or enter any values in the sub form that want to reflect in the Sales Order form item deail sub form field Quantity Returned\ pls check the recording fetch_salesorder
      • Estimates with options and sub-totals

        Hi It seems it would be great to be able to show multiple options in an estimate. For instance I have a core product to which I can add options, and maybe sub-options... It would be great to have subtotals and isolate the core from the not compulsory items. Thanks
      • Optional Items Estimate

        How do you handle optional items within an estimate? In our case we have only options to choose with. (Like your software pricing, ...standard, professional, enterprise) How can we disable the total price? Working with Qty = 0 is unprofessional....
      • Important Update : Zendesk Sell announced End of Life

        Hello Zendesk users, Zendesk has officially announced that Zendesk Sell will reach its End of Life (EOL) on August 31, 2027 (Learn more). In line with this deprecation, Zoho Analytics will retire its native Zendesk Sell connector effective October 1,
      • Zoho Sheets

        Hi, I am trying to transition into Zoho sheets, I have attached the issues encountered. Server issues, file trying to upload for more than 30 mins, even once uploaded my data aren't loaded. Simple calculations are not working I have attached the sample.
      • Zoho CRM + Zoho FSM : alignez vos équipes commerciales et techniques

        La vente est finalisée, mais le parcours client ne fait que commencer ! Dans les entreprises orientées service, conclure une vente représente seulement la première étape. Ce qui suit — installation, réparation ou maintenance régulière — influence grandement
      • Next Page