Revenue Management: #1 What does it mean to "recognize" revenue?

Revenue Management: #1 What does it mean to "recognize" revenue?

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:


Quote
"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:

Notes

    • 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.

In the next post, we'll look at where computing revenue recognition gets tricky with some real-time business scenarios. 

      Zoho Campaigns Resources


        • Desk Community Learning Series


        • Digest


        • Functions


        • Meetups


        • Kbase


        • Resources


        • Glossary


        • Desk Marketplace


        • MVP Corner


        • Word of the Day


        • Ask the Experts


          • 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

          Zoho CRM Plus Resources

            Zoho Books Resources


              Zoho Subscriptions Resources

                Zoho Projects Resources


                  Zoho Sprints Resources


                    Zoho Orchestly Resources


                      Zoho Creator Resources


                        Zoho WorkDrive Resources



                          Zoho CRM Resources

                          • CRM Community Learning Series

                            CRM Community Learning Series


                          • Tips

                            Tips

                          • Functions

                            Functions

                          • Meetups

                            Meetups

                          • Kbase

                            Kbase

                          • Resources

                            Resources

                          • Digest

                            Digest

                          • CRM Marketplace

                            CRM Marketplace

                          • MVP Corner

                            MVP Corner




                            Zoho Writer Writer

                            Get Started. Write Away!

                            Writer is a powerful online word processor, designed for collaborative work.

                              Zoho CRM コンテンツ



                                ご検討中の方

                                  • Recent Topics

                                  • Super Admin Logging in as another User

                                    How can a Super Admin login as another user. For example, I have a sales rep that is having issues with their Accounts and I want to view their Zoho Account with out having to do a GTM and sharing screens. Moderation Update (8th Aug 2025): We are working
                                  • Solving the bug in Zoho Writer API for styling

                                    So... the Zoho Writer APIs for programatically creating a document do not respect a template's style. The result is that any document you generate via API needs to be manually, paragraph by paragraph, reformatted. That bug alone is sufficient to render
                                  • Is anyone else experiencing downtime on Desk?

                                    Desk is slow/crashing and not stable the last couple of hours. Is anyone else experiencing the same issues?
                                  • Push Notification for New Bookings in Zoho Bookings App

                                    when a someone schedules an appointment through the booking page, is there any option to receive a push notification in the mobile app?
                                  • Data Import into Zoho Forms

                                    Hi everyone, I am migrating several Google Forms into Zoho Forms. I can recreate the forms, but I also need to bring over historical response data currently stored in Google Sheets. I want to keep using that data inside Zoho for analysis, reporting, and
                                  • Add Native GitHub Pull Request Creation & Management from Tasks/Bugs

                                    Hi Zoho Projects Team, I am submitting a feature request to enhance our development lifecycle by enabling native GitHub Pull Request (PR) creation and management directly within Zoho Projects. The Current Limitation: Currently, the GitHub integration
                                  • Extend GitHub Commit Integration to Tasks in Zoho Projects

                                    Hello Zoho Projects Team, We hope you are doing well. We would like to submit a feature request regarding the current GitHub integration in Zoho Projects, specifically the ability to link commit information. Current Limitation: As of now, Zoho Projects
                                  • Zoho Projects API requests limit question

                                    Hello, Regarding the API request limit of 100 requests per 2 minutes, I have implemented a control mechanism which, if the limit is reached, will wait the required amount of time before sending new requests. However, this mechanism seems to be failing,
                                  • What is the esacalation email for Zoho Support/ Zoho One/ Zoho Workplace ?

                                    Hello, My business has been stalled due to Zoho duplicating workdrive with switching on zoho one trial. There are two workdrives - one with my files mapped to workplace and one empty mapped to zoho one.-- integrationg programs are super consfused and
                                  • How to show Assemblies AND component items in a report

                                    Hi Is there any way in Analytics to create a report that shows the Composite Item AND the Component Items with mapped quantity? It seems that the component item is not exposed in any table that I can find. Also, the same question but for Stock on Hand.....this
                                  • How can I use the API to add a drop-shipping address to a sales order for one-time use?

                                    I need to be able to add a drop-shipping address for one-time use to a sales order via the API. Adding every such address to the contact (customer), then feeding the shippingaddress_id into the sales order, is not an acceptable approach; we have some
                                  • Mass Update Option for Changing Work Order Owner

                                    Hello FSM Team/Mr. Abid, We would like to inquire if there is an option to mass update or bulk change the Owner of Work Orders in Zoho FSM. Current Situation: At the moment, the Owner of a Work Order can only be changed individually, which becomes time-consuming
                                  • Make and receive calls from Bigin's Android app

                                    Hello everyone! We're happy to announce that Bigin's Android app (version 2.0.0) now supports built-in telephony, RingCentral, and Zoho Voice, all of which enable users to make and receive calls from the Bigin app. You can only configure the telephony
                                  • Account Watchlist: Order of accounts in the watchlist

                                    Is there a way we can sort the order in which accounts are shown in the accounts watchlist in Zoho Books dashboard?
                                  • GST composition scheme dealer - treatment for client expenses reimbursement

                                    Hello, I am new to GST and need your help. I am registered as a composition dealer and attract 6% gst charges. In bill of supply, there are also expenses done on behalf of client for which I seek reimbursement AT ACTUAL with NO MARKUP. As I understand,
                                  • Zoho Books: tax is not automatically pulled from product-data anymore - why?

                                    Hi, until a short time ago, you could set a default taxrate for each product/item. This taxrate automatically appeared each time the item was chosen in an invoice or quote. Why does this not work anymore? The field is still there at the product record,
                                  • Kaizen #237 - Zoho CRM APIs: GraphQL & COQL- When to use which?

                                    Hello everyone, Welcome to another week of Kaizen. This Kaizen post discusses Zoho CRM GraphQL APIs and COQL APIs and is meant to be a decision guide on selecting between them. It aims to help developers to choose the most efficient approach in different
                                  • Deluge Update Function

                                    I am struggling to get this function to work no matter what changes I make - this is the constant error (my code is 30 lines long): Data type of the argument of the function 'get' did not match the required data type of '[BIGINT]'at lineNumber 31 I am
                                  • Add a way to connect Log360 Cloud logs with Zoho analytics

                                    Hi, Several month ago Log360 Cloud was added to zoho one - and this is great. But as far as I see there is no prebuilt way to connect Zoho analytics to the logs we have in Log360 Cloud. Please add a prebuilt connection like we have for so many other zoho
                                  • Option to Convert Request to a Specific Work Order (Parent WO Linking)

                                    Hello FSM Team/Mr. Abid, We would like to inquire if it is possible to convert a Request into a specific existing Work Order (as a child or linked Work Order) instead of always creating a new one. Context: An inspection/emergency Work Order is completed
                                  • Automation of CRM Items to FSM Work Order (Parts Section)

                                    Hello FSM Team, We would like to inquire about the possibility of automating the transfer of item details from CRM to FSM Work Orders (Parts section), specifically for LPO WO Job type. Currently, in CRM, we have detailed item information including: 1.
                                  • Introducing Product Catalog in Bigin

                                    Greetings, I hope all of you are doing well. For many small businesses, sharing products and collecting customer interest often involves multiple tools, manual follow-ups, or even building a full ecommerce website. To address this challenge, we're excited
                                  • Creating a stakeholder register for a Project

                                    Should we connect and/or associate Projects to Contacts to build a stakeholder register? If a Contact is associated to more than one Project and has different roles across the Projects, what is the best way to parse this information?
                                  • Displaying Rate Inclusive of GST per unit

                                    Hello, Currently when I enter the pricing of a line item it shows the overall amount (price including tax * quantity). I would like to see price/unit inclusive of GST. Is there any way to simplify this and to be able to view it? I've attached my current
                                  • Allow Zia Agents using Zoho One Account

                                    When I went to try Zia Agents, it forced the creation of a new, separate account. This seems counter-intuitive to me. I don't want to manage a separate account. Plus, aren't Zoho One users the ones most likely to adopt Zia Agents most quickly? It seems
                                  • Adding Custom Status Options in Work Order Action Menu

                                    Hello FSM Team, We would like to inquire if it is possible to add more custom options in the Work Order action/status dropdown (e.g., Cancel, Terminate, Non-Billable, Void, etc.). Currently, the available options are limited, and we are unable to customize
                                  • 商談の特定ステージ選択時に、集計項目の入力を必須化したい

                                    こんにちは。Zoho CRMの商談管理で以下を実現したいです。レイアウトルールでは、集計項目を条件に選択できず実現できておりません。よい方法があればご教示いただけると嬉しいです。 ■やりたいこと 商談で特定のステージに変更する場合に、特定の集計項目(同じ商談データ内の項目。以降、集計項目Aとする)を入力必須化したい。 ■概要、状況 ・集計項目Aは、別のオブジェクトで、商談に関連する月ごとの売上を集計している数値項目 ・見積を顧客に提示した際に、集計項目Aに見積金額と一致するようにデータ登録する運用をしている
                                  • Bank Fees - Allow User to Choose Expense Account

                                    Bank fees from Customer Payments can only be debited against the system Bank Fees account due to hard-coding. The user should be able to select which expense account those fees are debited against. The use case is pretty straightforward. A business like
                                  • How do I change the account bank charges are charged to?

                                    I want bank charges charged to my Credit Card Fees account. Is there a way to do this?
                                  • Feature Request: Estimated Delivery Date Display on Product Pages

                                    Dear Zoho Commerce Support Team I am writing to submit a feature request that I believe would greatly benefit all Zoho Commerce merchants: the ability to display an estimated delivery date directly on the product page. Today's e-commerce customers expect
                                  • Automated Sales Order Fulfillment Based on Inventory Availability (Allocation / Commitment Modes)

                                    Hi everyone, I recently reached out to Zoho Inventory support regarding a workflow challenge and wanted to share both the issue and their response here for visibility. Zoho confirmed: “Zoho Inventory does not currently support automatic notifications
                                  • Set Mandatory Lookup Fields in Ticket Layout

                                    I added a custom module called 'Site' in the desk. I also added a lookup field 'Site' in the ticket layout. Now, I want the 'Site' field to be mandatory in the blueprint transition. How can I do that?
                                  • Properly Capture Dropdowns & Hover Elements When Recording a Window/Tab

                                    Hi Zoho WorkDrive Team, Hope you are doing great. We encountered a limitation when recording a selected window or browser tab: Certain UI elements, such as dropdown lists, hover menus, and overlays, are not captured unless we record the entire screen.
                                  • Followed Tickets view

                                    Hello, following a ticket makes no sense at all / offers no additional value.... Of course I can install and use the add-on My Followed Tickets for Zoho Desk, but what does it do for me? Not much! It cannot be used across departments! The range of functions
                                  • Mail Merge preview won't load

                                    Hello! One of our users has not been able to use mail merge templates in CRM as the preview screen does not load. We have many templates for one of our custom modules and the users are used to this feature and have been using it for years without any
                                  • Zoho Desk - Event Calendar View

                                    Hi Desk team, Are there any plans to introduce a calendar or timeline view for Events in Zoho Desk? It would be very helpful if we could see Events visually in a calendar and/or timeline. This is very helpful when desk side support activities need to
                                  • Make Module Name In CRM 4 Everyone A link To List View.

                                    I've been using the new UI for a little while now and I have what I think is a simple suggestion that would add speed and ease to the UI At the top of the detail page for a module entry you show the module name as shown in the screenshot - if that could
                                  • mask Customer phone number and agents cant see customer phone number

                                    Is there any way we can integrate Zoom Phone with Zoho CRM while ensuring that customer phone numbers remain masked? We need a solution where agents can make outbound calls but cannot see customer phone numbers. Please let us know if there is any solution
                                  • Can Zoho CRM Emails be used in Zoho Analytics in any capacity?

                                    We're wanting to display details about Lead Activity in regular reports through Zoho Analytics but we're having difficulty integrating Emails at all. We'd like to be able to note when an email is received and when it is sent somewhere other than just
                                  • User can import contacts into Campaign even without permission

                                    Hi everyone! We have a role that's configured with "Import records: Calls" only, but when a user with that role enters a Campaign, the "Contacts" section shows a "Import contacts" button. Is this expected?
                                  • Next Page