Educational Institutions and training centres typically collect course fees at the time of enrolment, sometimes for a one-day workshop and sometimes for a year-long certification course. You might also charge separately for course materials or evaluation. But when can you actually recognize that income? Would you be able to recognize it on payment? Spread it across the course period? What happens if a student cancels midway?
How do institutions manage revenue when learning is delivered over time?
Revenue Recognition Scenarios in Education & Training
Education institutions and training providers often deal with varying course durations, delivery models (online, in-person, hybrid), and fees collected upfront. Though the five-step revenue recognition model remains constant, the timing and allocation of revenue depend on the learning service's structure. Here are common revenue recognition scenarios for this industry:
Upfront Free for Long-Term Course
When a learner enrols in a course that runs for several months and pays the full fee in advance, the institution cannot recognize the entire amount immediately. Instead, the revenue should be spread out across the period the training is delivered.
Example: A $6000 certification course runs for 6 months. Revenue should be recognized at $1000 per month during the course period.
Short-Term Workshops & Seminars
For one-day or short-duration workshops, revenue can often be fully recognised once the sessions are delivered, assuming there is no refund window.
Example: A $500 weekend workshop is recognized on the day it occurs.
Course Materials & Exams
Institutions that charge separately for materials, exams, or certification must split those payments and recognize those amounts individually.
Example: $1200 total course fee, including $900 for training for three months and $300 for materials. Revenue should be recognized $300 upfront and $300/month for three months.
Cancellation, Refunds, and Attendance-Based Pricing
Refund policies and partial completions must be factored into recognition. If a student drops out after 1 month of a 3-month course, only one-third of the revenue should be recognized unless a refund is issued.
Example: A $900 course is cancelled after 1 month. You must recognize $300 and defer or refund the rest based on the policy. Credit note will be created, and the deferred $600 will be reversed to the customer as credits or issued a refund.
These scenarios show that educational institutions must align revenue with actual learning delivery and not merely based on fee collection. Automating this alignment avoids revenue overstatement and ensures compliance.
Scenario :
A training company signs up a student for a three-month Data Analytics certification program for a fee of $3000. The payment is made in full at the start. The course includes three months of training and $600 worth of course material.
Zoho Billing for Education Institution Revenue Recognition
Zoho Billing enables learning platforms to automate revenue recognition by setting up roles that separately reflect course delivery and service components.
For the above scenario, you can configure the recognition rule as follows,
Component | Recognition Frequency | Recognition Method | Recognition Time |
Course Material | Once | One-Time (Daily) | Period Start |
Training Session | Monthly | Evenly Distributed | Period Start |
Although $3000 is collected upfront, only $600 for the course material can be recognized immediately according to the performance obligation. The remaining $2400 will be spread evenly across the three-month training period.
Reports in Zoho Billing
i) Recognized Revenue Report
Two months into the course, the course material is delivered, and one month of training is pending.
Component | Recognized Revenue | Description |
Course Material | $600 | Recognized fully at the start |
Training Session | $1600 | out of $2400 for two months of training given |
Total Recognized | $2200 | Recognized in two months |
ii) Deferred Revenue Report
After two months, it will be left with the training session payment alone as deferred.
Component | Deferred Amount |
Course Delivery | $0 |
Training Session | $800 |
Total Deferred | $800 |
iii) Revenue Waterfall Report
Month | Course Material | Training Session | Total |
Month 1 | $600 | $800 | $1400 |
Month 2 | ---- | $800 | $800 |
Month 3 | ---- | $800 | $800 |
Total | $600 | $2400 | $3000 |
Best Practices for Education Institution Revenue Recognition
- Separate Instructional & Non-Instructional Items: Classify course material, training, certification, and exam components distinctly
- Align Revenue with Course Delivery: Ensure the recognition rule is set based on course delivery and that the revenue is recognized when the student receives the instruction.
- Set Return/Refund Policy Clearly: Establish a clear policy and terms to account for students who drop out or cancel courses after signing up.
Up Next: Revenue Recognition in Media & Publishing
Recent Topics
Add Israel & Jewish Holidays to Zoho People Holidays Gallery
Greetings, We hope you are doing well. We are writing to request an enhancement to the Holidays Gallery in Zoho People. Currently, there are several holidays available, but none for Israel and none for Jewish holidays (which are not necessarily the same
Unable to Send Different Email Templates for Different Documents in Zoho Sign
Hello Zoho Community, I am facing a limitation with Zoho Sign regarding email notifications sent to customers when a document is sent for signing. Currently, whenever I send any template/document for signing, the email notification that goes to the customer
Enable History Tracking for Picklist Values Not Available
When I create a custom picklist field in Deals, the "Enable History Tracking for Picklist Values" option is not available in the Edit Properties area of the picklist. When I create a picklist in any other Module, that option is available. Is there a specific reason why this isn't available for fields in the Deals Module?
ZO25: The refreshed, more unified, and intelligent OS for business
Hello all, Greetings from Zoho One! 2025 has been a remarkable year, packed with new features that will take your Zoho One experience to the next level! From sleek, customizable dashboards to an all-new action panel for instant task management, we’ve
Vault crashes on Android Devices
Vault is continuously closing after entering the master password on my Android device. After several attempts I get a system message that says there is a bug in the app. I've uninstalled and reinstalled the app, and cleared the app cache, but nothing
¿Cómo puedo configurar las contraseñas creadas bajo una directiva para que nunca caduquen y no aparezcan como caducadas en los informes?
¿Cómo puedo configurar las contraseñas creadas bajo una directiva para que nunca caduquen y no aparezcan como caducadas en los informes? La razón por la cual contraseña estas no deben caducar es porque su actualización depende de mi cliente y no de mí.
Camera access
My picture doesn't appear in a group discussion. (The audio is fine.) The guide says "Click the lock icon on address bar," but I can't find it. Advise, please
Are static links available
I'm still using Zoho Meeting in trial mode. My previous webinar software provided a static link, and I made the mistaken assumption that I could send out my link and start a meeting later. Mass confusion, but my fault. With a paid version do you get a
Power up your Kiosk Studio with Real-Time Data Capture, Client Scripts & More!
Hello Everyone, We’re thrilled to announce a powerful set of enhancements to Kiosk Studio in Zoho CRM. These new updates give you more flexibility, faster record handling, and real-time data capture, making your Kiosk flows smarter and more efficient
Why is Zoho Meeting quality so poor?
I've just moved from Office 365 to Zoho Workplace and have been generally really positive about the new platform -- nicely integrated, nice GUI, good and easy-to-understand control and customisation, and at a reasonable price. However, what is going on
How to print a label from zoho creator app?
Hello, I would like to print a label from zoho creator app record similar to attached one. Size 74mm x 102mm. I tried record template. It leaves plenty of space around the content and also I couldn't set the height of the page. So it is not printing properly. Could someone please direct me to right direction for this requirement?
Integration between "Zoho Sprints Stories" and "Zoho Projects Tasks/Subtasks"
We have two separate teams in our organization using Zoho for project management: The Development team uses Zoho Sprints and follows Agile/Scrum methodology. The Infrastructure team uses Zoho Projects for traditional task-based project management. In
Where can we specify custom CSS in Zoho Forms custom theme ?
I'm using a form with a dark theme. The OTP popup window is unreadable, because for some reason, the OTP popup background fixes color to white, but still takes the font color specified in the custom theme. This ends up as white on white for me, rendering
Team Gamification
Would love to motivate, engage and encourage our team with our social media posts. Would like to include Gamification features of Social Media in Zoho Social or Marketing Automation. And also bring in Social Advocacy tools/tracking/management to these,
Sync Data from MA to CRM
Currently, it's a one-way sync of data from the CRM to MA. I believe we should have the ability to select fields to sync from MA to the CRM. The lead score is a perfect example of this. In an ideal world we would be able to impact the lead score of a
Update CRM record action
Currently, MA only offers a "Push Data" action to push data to a CRM module. This action is built to cover the need to both create a new record and update an existing record. Because it has been implemented this way all required fields on the CRM module
Pro Lite Upgrade - Quick Access Tray
Hello, I was going to upgrade to Pro Lite but the Quick Access Tray feature isn't available for Windows. Of the four features not available for Windows, the QAT is what I'm most interested in. Are there plans to add this feature for Windows anytime soon?
Boost your CRM communication with new font types, sizes, and default reply-to options while composing emails
Hello Everyone, We’re excited to introduce a series of impactful enhancements to the email composer settings in Zoho CRM. These updates enable you to personalize and optimize your customer interactions with greater efficiency. So what's new? Add custom
3 year sick leave cycle
How do you set up a sick leave cycle for South Africa? In SA the sick works like this for the first 6 months you get 0.83 paid sick days a month, then after 6 months you sick leave balance is reset to 30 days that can be used over a 36 month cycle. This
WorkDrive and CRM not in sync
1/ There is a CRM file upload field with WorkDrive file set as the source: 2/ Then the file is renamed in WorkDrive (outside CRM): 3/ The File in CRM is not synced after the change in WorkDrive; the file name (reference) in CRM record is not updated (here
Is Zoho Communityspaces now part of Zoho One?
Is Zoho Communityspaces now part of Zoho One?
How to update "Lead Status" to more than 100 records
Hello Zoho CRM, How do I update "Lead Status" to more than 100 records at once? To give you a background, these leads were uploaded or Imported at once but the lead status record was incorrectly chosen. So since there was a way to quickly add records in the system no matter how many they are, we are also wondering if there is a quicker way to update these records to the correct "Lead Status". I hope our concern makes sense and that there will be a fix for it. All the best, Jonathan
Bigin’s 2025 Evolution: Highlights from 2025 and What’s Ahead in 2026
Dear Biginners, Wishing you a very happy New Year! As we stand at the cusp of endless possibilities in 2026, we would like to take a moment to reflect on what we achieved together in 2025. Your continued support, thoughtful feedback, and kind words of
Send Supervisor Rule Emails Within Ticket Context in Zoho Desk
Dear Zoho Desk Team, I hope this message finds you well. Currently, emails sent via Supervisor Rules in Zoho Desk are sent outside of the ticket context. As a result, if a client replies to such emails, their response creates a new ticket instead of appending
Zoho Desk - Change Time Zone for all users and set default for new user
Hi, Is there a way to set a default time zone so that when user creates an account via the Zoho Desk invitation, they don't need to select the time zone via the hundreds of choice? And, for already created users, can we edit the incorrect time zone selected by the user at the account creation ? Thanks ! Fred
Introducing WhatsApp integration in Bigin
Greetings! In today's business landscape, messaging apps play a significant role in customer operations. Customers can engage with businesses, seek support, ask questions, receive personalized recommendations, read reviews, and even make purchases—all
Allow Manual Popup Canvas Size Control
Hello Zoho PageSense Team, We hope you're doing well. We would like to request an enhancement to the PageSense popup editor regarding popup sizing. Current Limitation: Currently, the size (width and height) of a popup is strictly controlled by the selected
Why does Zoho’s diff viewer highlight parts of unchanged lines?
Hi everyone, I’ve noticed something odd in the Zoho editor’s diff view. When I delete a single line, the diff doesn’t just mark that line as removed. Instead, it highlights parts of the next line as if they changed, even though they are identical. Example:
CRM x WorkDrive: File storage for new CRM signups is now powered by WorkDrive
Availability Editions: All DCs: All Release plan: Released for new signups in all DCs. It will be enabled for existing users in a phased manner in the upcoming months. Help documentation: Documents in Zoho CRM Manage folders in Documents tab Manage files
Passing the CRM
Hi, I am hoping someone can help. I have a zoho form that has a CRM lookup field. I was hoping to send this to my publicly to clients via a text message and the form then attaches the signed form back to the custom module. This work absolutely fine when
Automating Employee Birthday Notifications in Zoho Cliq
Have you ever missed a birthday and felt like the office Grinch? Fear not, the Cliq Developer Platform has got your back! With Zoho Cliq's Schedulers, you can be the office party-cipant who never forgets a single cake, balloon, or awkward rendition of
Drop Down Value
Hi, May I know why Zoho Flow treat this drop down as number and not as string. If so, how can I fetch the right value for filtering. This field is from Creator, in Creator upon checking by default it is a string since it's not a lookup field.
Zoho Survey reminder settings are extremely confusing
Hi, I just want to set 3 reminders, one week apart from the first email out. Your form is too confusing and I don't understand. Can you simplify and be more specific regarding the language used on the form ?
Add deluge function to shorten URLs
Zoho Social contains a nice feature to shorten URLs using zurl.co. It would be really helpful to have similar functionality in a Deluge call please, either as an inbuilt function or a standard integration. My Creator app sends an email with a personalised
form data load issue when saving as duplicate record is made
Hello. I have a form with a lookup when a value is selected the data from the corresponding record is filled into all of the fields in the form. But the form is loaded in such a state that if any value is changed it will take all of the values pre loaded
Recurring Tasks and Reminders in Projects
Recurring tasks are tasks that are created once, and then recreated automatically after a designated time period. For example, the invoice for your billable tasks is due every week. You can set that task to recreate itself every week. Also, the future
Unable to remove the “Automatically Assigned” territory from existing records
Hello Zoho Community Team, We are currently using Territory Management in Zoho CRM and have encountered an issue with automatically assigned territories on Account records. Once any account is created the territory is assigned automatically, the Automatically
Google Fonts Integration in Pagesense Popup Editor
Hello Zoho Pagesense Team, We hope you're doing well. We’d like to submit a feature request to enhance Zoho Pagesense’s popup editor with Google Fonts support. Current Limitation: Currently, Pagesense offers a limited set of default fonts. Google Fonts
Improved Contact Sync flow in Google Integration with Zoho CRM
Hello Everyone, Your contact sync in Google integration just got revamped! We have redesigned the sync process to give users more control over what data flows into Google and ensure that this data flows effortlessly between Zoho CRM and Google. With this
Improved Functionality PO Bill SO Invoice
Hello, I need to enter over 100 items, it's frustrating to scroll a few item rows and wait for more to load, then scroll again. It would be nice to have buttons that scroll to the top or bottom with one click. Furthermore, these items I'm adding are VAT
Next Page