Earning revenue isn't just about collecting cash from your customers. It's about recording the income correctly and consistently. Revenue recognition is the process of deciding when and how to record revenue in financial statements so that they reflect the true value after the goods or services are delivered.
Today's business models are more dynamic than ever. Subscriptions, long-term projects, bundled products, and usage-based pricing make it challenging to determine when a sale is truly earned.
We will be going through a series of posts on Revenue Recognition and how it works with different industries, starting with,
➤ What is revenue recognition?
➤ What are the principles behind the standards?
What is Revenue Recognition?
Revenue Recognition is an accounting principle that defines when and how businesses can record revenue in their books. It ensures revenue is reported only when the company has delivered the promised goods or service, not simply when a payment is received.
For instance, if a customer pays upfront for 12 months of service, the business cannot recognize all of that money immediately. It must recognize it gradually over the period the service is delivered.
To address these challenges, Accounting standards like IFRS 15 and ASC 606 were introduced.
What Do IFRS 15 & ASC 606 Say?
Both IFRS 15 & ASC 606 are closely aligned. They denote that companies must recognize revenue when they satisfy their performance obligation, that is, when they deliver the promised goods or services fully to the customer.
The core principle is:
"Recognize revenue to depict the transfer of promised goods or services to the customer in an amount that reflects the consideration to which the entity expects to be entitled."
To make this consistent across industries, these standards use a five-step model.
This model helps businesses recognize revenue accurately by following a structured process. Each step ensures that income is recorded only when a company truly earns it by delivering the promise.
Steps | Description | Example |
Step 1: Identify the Contract with a Customer | Confirm there is a legal, enforceable agreement with clear payment terms and obligations. | A software company signs a 12-month service contract with a client with proper terms and a clear payment schedule. |
Step 2: Identify the Performance Obligations | Break the contract into separate performance obligations that provide unique values. | Contract includes access to software, onboarding support, and monthly training. These are distinct services and are treated separately. |
Step 3: Determine the Transaction Price | Calculate the total expected payment, including any discount, bonus, or other variables. | The total contract worth is $12,000, but the customer gets a discount of $1000 for an annual payment upfront. The transaction price becomes $11,000 in this case. |
Step 4: Allocate the Transaction Price to the Obligation | Distribute the transaction pricing across the performance obligation based on their standalone selling prices. | If software is usually sold for $9,000, support for $1500 and training for $1500, the $11,000 will be proportionally allocated to each of these. |
Step 5: Recognize Revenue When (or As) Obligations Are Satisfied | Revenue is recorded either over time or at a point when the customer gains complete control of the product or service. | In case of software licensing and implementation, the revenue is recognized monthly over 12 months, but the onboarding is recognized as and when it's delivered.
|
This single contract shows how IFRS 15/ASC 606 helps businesses handle complexity like discounts, variable consideration, multiple deliverables and other aspects in recognizing revenue.
Ultimately, these standards require companies to:
- Recognize revenue only when the performance obligation is met.
- While selling services and goods together, consider them as individual deliverables.
- Allocate the total contract value fairly across all deliverables.
- Adjust discounts, bonuses, and other variable pricing.
- Provide an audit-ready document for how and when revenue is recognized.
The bottom line of revenue recognition is straightforward. But while computing, it doesn't look the same when you are dealing with different billing models and while handling hundreds of contracts/transactions.
Recent Topics
Lost the ability to sort by ticket owner
Hi all, in the last week or so, we have lost the ability to sort tickets by Ticket Owner. Unlike the other columns which we can hover over and click on to sort, Ticket Owner is no longer clickable. Is it just us, or are other customers seeing this too?
Zero Customer Support
I have been a paying customer on Zoho Mail Premium, which clearly advertises a 40MB attachment limit. However, for a long time now, I have been experiencing ongoing issues sending PDF attachments over 10MB. Instead of sending properly as attachments,
Unable to send message;Reason:554 5.1.8
Dear Zoho Support Team, I have attempted to send multiple documents in several different ZIP files containing PDF and Word documents. Initially, I received the following notification: “When Office 365 tried to send your message, the receiving email server
SOLVED - Unsubscribe Feedback Page inexplicably presenting in French, German, etc. not default language of English
As the titles says, had the "Unsubscribe Feedback Page" for two different clients presenting the feedback options to unsubscribers in French, German, etc., not in English like it should. And no, it wasn't due to user preferences, embedded web translators,
Identify and clean hard bounce lists in Automation 2.0
Hello. 1. I want to know how I can identify hard bounces in the lists I created to clean them before sending an email, given that the bounce rate has increased and it is necessary to clean the lists. 2. How can I exclude hard bounces and invalid emails
Catalyst DB is insufficient for many use cases
Hi all: I've been diving deep on full stack application development inside Zoho Catalyst. I've been using catalyst for serverless compute and API gateway for a few years, but I haven't used the DB beyond simple storing of app data. As I was working through
Customise Lead Source and Sub Lead Source per webinar
We have an integration between Zoho Meeting and Zoho CRM. New leads are imported into CRM but now they all have the source "Zoho Webinar". Can I change this source? Can I add a sub source? And can I customize these fields per webinar? (So different webinars
Can I use 24 hour time format in Zoho Social
Can I use 24 hour time format in Zoho Social? AM/PM is annoying, backwards – and leads to errors in posting time…
Transfer Ownership of Documents
In an organization, a person moves from one team to another or decides to leave his / her current post. He may have files / folders that are important and confidential, and needs to be transferred to another member in the organization. Zoho Docs lets you Transfer Ownership of document / folder from one member to another in a few clicks. This action has to be performed by the administrator. Just follow these simple steps to transfer the ownership of your documents / folders: In the top right corner
How to change column headings in pivot table?
Hi, Is there a way to rename the column headers of a pivot table? Now some the columns are named with value labels: 'SUM of .....'. We would like to rename those headers. As of now we couldn't find any direct solution to adjust the headers, besides copying and reformat. We want to avoid these extra steps. Best, Tiemen
Native QuickBooks integration for Zoho CRM: Connecting sales and finance
Greetings, I hope all of you are doing well. We're excited to announce Zoho CRM's integration with QuickBooks Web, which is designed to synchronize your CRM data with your QuickBooks accounting records and bridge the gap between sales and finance. This
Report/All Entries Filter Contains to support multiple values
Hi, I use different fields to filter All Entries before Export, one is the Added Email ID (May soon replace with the new Logged in User Name Field!!), and I want to filter for more than one person, so select "Contains", but I try with a comma seperating
Marketing Tip #32: Improve SEO and customer confidence with an FAQ section
Before making a purchase, customers often have simple questions about delivery times, returns, product usage, or sizing. If they can’t quickly find answers, they may leave your store without buying. Adding a clear FAQ (Frequently Asked Questions) section
Zobot with Plugs
Hello, I am having a problem with Zobot using Plugs. Here is my current flow: When I run the flow, I should immediately see the messages from the initial cards (Send Message cards), then after running the plug, and finally, see the messages after the
Zoho Creator é para você? Saiba quando escolher (e quando não escolher) essa plataforma
Todo mês alguém me pergunta: "Leandro, vale a pena usar o Zoho Creator para o meu projeto?" A resposta honesta é: depende. E neste artigo vou te dar os critérios reais que uso para tomar essa decisão — sem marketing, sem generalização. O que é Zoho Creator,
Control Fields on Mobile App
On the mobile app, how do we control which fields appear on the screen for records that have a related list? In the example below I want the Inspection Stage and Inspection Type fields to appear, not the record owner (Dev Admin). I changed the Inspections
Show Zoho Marketing Automation Messages in SalesIQ Chat
When the same number is used in Zoho Marketing Automation and SalesIQ, campaign messages should be visible inside the SalesIQ chat. Currently, when customers reply to marketing campaign messages, SalesIQ chat owners get confused because they cannot see
SalesIQ Chat Owner to CRM Lead Owner Mapping
There is no proper mapping between the SalesIQ chat owner and the CRM lead owner. When a chat is assigned to an agent, the lead created in CRM is often assigned to a different user, forcing admins to manually change ownership every time. This creates
[Webinar] Agentic AI and its influence on analytics and autonomous decision-making
Analytics is evolving from passive reporting to proactive, intelligent systems. Agentic AI is at the center of this shift, bringing context-aware reasoning, continuous learning, and the ability to act on data in real time. Join this webinar with Michael
Zoho One: books and inventory working together
Hi, I was very pleased when I saw that in Zoho Inventory can now pull the orders from Woocommerce. They are now fed in Inventory as Sales order and with choosing convert invoice as Instant Invoice I am getting the exact data as they appear in Woocommerce.
Zoho Forms - Form Availability Redirect Option
Hi Forms Team, It would be great if there was a redirect URL option on the Form Availability settings. For example, I would like to create a support form which is only available outside business hours and if the current data and time is not Mon-Fri 9-5
VAT and Taxes option not available
Dear ZOHO Team , The VAT and Taxes options in my ZOHO books account not available,I tried to find how to enable or check the way to use this option but unfortunately couldn't find it anywhere ,I'm in UAE ,kindly let me know what to do to solve this issue
Syncing zoho books into zoho crm
I was wondering how I can use zoho books in crm as I have been using them separately and would like to sync the two. Is this possible and if so, how? Thanks
Client requests I submit invoices using bill.com
The title states it all. I have a reoccurring invoice setup for this client who has been manually paying by credit card. We are both experiencing merchant costs/fees. The use of bill.com's direct deposit is not far removed from Zoho's, only the client
Zoho Inventory Feature Roadmap Visible To All
Hello, please consider making your feature roadmap visible to us users so that we know what to expect in future. This may appease current users who are seeking clarification on feature implementation dates, so that they can make an informed decision whether
Can't Remove Payment Gateway
I am getting the error "Settings cannot be cleared as some of the transactions are still in progress." when trying to remove the PayGate payment gateway which I was unable to get working. I am now using paystack and I want to remove Paygate.
New in WorkDrive: Personalize your file system with Labels
Data is the driving force behind every decision made by businesses today. We at WorkDrive know every employee needs reliable access to their information and be able to locate the data they need at the right time. Introducing Labels: organize your files in a way that's personal to you. While WorkDrive's Data Templates feature focuses on adding structure to your organization's data, Labels help your team members classify files based on their preference. The Labels created will appear only to the
Custom Buttons & Links Now Supported in Portals
We’ve just made portals in Zoho Recruit more powerful and customizable than ever! You can now bring the power of Custom Buttons and Links to your Candidate, Client, Vendor, and Custom Portals, enabling portal users to take direct action without recruiter
Work Type Section in Field Service Settings
Hello Team, We are trying to understand how skills are managed in the system. During our review, we found an article mentioning a section called Work Type, which is used to manage skill assignment. According to the documentation, this section should be
Mirror Component in Zoho CRM: Access real-time related data without leaving your record
Hi everyone, This feature is now available for the JP, CA, SA, UAE, and AU DCs. We're excited to bring to you Zoho CRM's mirror component, which presents relevant data on a record's details page and keeps everything users need in one place without having
Clone a Module??
I am giong to repurpose the Vendors module but would like to have a separate but very similar module for another group of contacts called Buyers. I have already repurposed Contacts to Sellers. Is it possible to clone (make a duplicate) module of Vendors
Is there lead tracking in Bigin? There should be.
Is there a way to track leads before they are ready to be added to Pipelines? I'm afraid we're going to lose opportunities. Example: We're sending out small batches of 25 emails to those we collected at tradeshows. They are all qualified leads. Out of
How to get static reports via Desk API
Hello, we are hoping to use the Desk API to automatically export the default static reports in Zoho Desk, or reconstruct them via other API calls. What's the best way to do this? For example, if I want to recreate the Response Time static report via the
Product updates in Zoho Workplace applications | April 2026
Hello Workplace Community, Let’s take a look at the new features and enhancements that went live across all Workplace applications for the month of April. Zoho Mail Enhance group member exports with additional data fields Customize your group member exports
Billing Status Update
Hello Latha, I’m working on a new automation (deluge) to fulfill one of our requirements. In this automation, there is a step to update the Work Order billing status from “Not Yet Invoiced” to “Non-Billable.” I tried to find the API information relevant
Zoho Projects Coming to CRM Teamspaces
Availability: The US DC Standard Edition is now available. It will be rolled out to customer accounts in all DCs in phased manner. Hello all, You are probably already familiar with Teamspaces, the dedicated workspaces where teams organize the CRM modules
Zoho Projects Roadshows 2026 - APAC
Dear Users, Building on the amazing response to our roadshows in 2025, we are excited to announce our next set of roadshows in the APAC region. To start with, our team of experts will conduct these events in Singapore and Manila. They will walk you through
how do i add more than one google my business location?
they are connected to one account, but while connecting social channels it makes me pick one location. I have 3 and growing.
Notes - Reaction Buttons
Using the native notes option within CRM is fine, it works and the RTF features are great, however, would it be possible - if there isnt already something in place, where we can add a reactions button, similar to teams/whatsapp to show that its been read
Zoho Analytics: Clarification on Email Schedule Limits in Basic Plan
Hi Team, I have a question regarding the email scheduling limits in the Zoho Analytics Basic Plan. The plan shows that I can create 4 email schedules. However, I understand that schedule consumption is calculated based on recipients (i.e., 1 schedule
Next Page