If you're building or running a SaaS business, you've probably encountered this. You get paid upfront for a subscription and a one-time onboarding fee, but you end up with confusion about when to consider it revenue. Can I book all of it now? Should I spread it out? What if the customer upgrades or downgrades midway?
How do SaaS companies manage revenue recognition and stay compliant?
Revenue Recognition Scenarios in SaaS
In the world of SaaS, a business's billing of its customers has a direct impact on how and when it recognizes revenue. While the five-step model stays the same, the application varies significantly depending on the contract structure, billing frequency, and delivery pattern. Below are the common real-world scenarios that define these differences.
Annual Contract Paid Upfront
Most SaaS companies bill customers annually or quarterly in advance. However, accounting standards do not permit revenue to be recognized when cash is received. Instead, the revenue must be recognized over time, as the service is delivered.
For example, a $12,000 annual contract with $1000 onboarding. $1000 will be recognized immediately during billing, and $11,000 is spread across 12 months.
Monthly Billing
Customers pay monthly for access. There is typically no deferred revenue, and revenue is recognized in the same month the service is delivered.
Example: $500 per month subscription recognized monthly as it is earned.
Bundled Pricing
A typical SaaS contract might include platform access, onboarding, training and support as a part of the contract that gets billing as a bundle. According to ASC 606 and IFRS 15, these are separate performance obligations. The business must allocate revenue to each and recognize it based on how and when each is fulfilled.
Example: A $10,000 contract includes $2000 for setup, $6000 for software access, and $2000 for support. Revenue is recognized based on the timeline of each deliverable.
Amendments & Discounts
Customers often switch plans mid-cycle, receive promotional pricing, or get billed based on the actual usage. These changes introduce variable consideration and require contract modification, revenue reallocation, and recalculations for the remaining service term.
Example: A new allocation and recognition schedule must be set up if a customer moves from a $1000/month plan to a $1500/month plan mid-year.
Usage Based or Tiered Pricing
Some businesses charge based on consumption. For instance, API usage, user access, data storage, etc., they charge the customer again as and when the upper cap is met. This means revenue cannot be recognized until the service is used. Businesses must track usage data and apply the prorated or usage-based revenue rule to stay compliant.
Example: $0.10 per API call. If a customer makes 10,000 calls in March, $1000 is recognized in that month.
These scenarios illustrate the diverse billing models in SaaS and their direct impact on revenue recognition timing. Businesses that manage multiple pricing plans, onboarding services, or usage billing must ensure their recognition strategy aligns with the service delivery. This is where automation becomes critical.
Scenario:
You sign an annual contract worth $1,20,000 with a client. The client pays the full amount upfront. The contract includes $20,000 onboarding and $1,00,000 for uninterrupted access to the software for 12 months.
Zoho Billing for SaaS Revenue Recognition
Zoho Billing simplifies SaaS revenue recognition by allowing the finance team to define a recognition rule based on the product or service offered.
For this kind of business, the Revenue recognition rule should be set in the following way:
There are two deliverables here: one is Onboarding, and the other is software access.
| For onboarding | For Software Access |
Recognition Frequency | Once | Monthly |
Recognition Method | One-Time (Daily) | Evenly Distributed |
Recognition Time | Period Start | Period End |
Although the full payment is collected in advance, you cannot recognize the entire $1,20,000 as revenue immediately. Only the onboarding revenue of $20,000 is recognized in the first month. The remaining $1,00,000 must be recognized evenly over 12 months at $8,333 monthly.
Reports in Zoho Billing
If you look at the reports in Zoho Billing after three months of service rendering, you will see,
i) Recognized Revenue Report
Onboarding is complete three months into the contract, and three out of 12 months of application access have been delivered.
Component | Recognized Revenue | Description |
Onboarding | $20,000 | Fully recognized in Month 1 |
Software Access | $25,000 | $8333/month for 3 months out of ($1,00,000) |
Total Recognized | $45,000 | Recognized at the end of 3 months |
ii) Deferred Revenue Report
After three months, the company will have nine months of software access remaining.
Component | Deferred Amount |
Software Access | $75,000 (9 months x $8333) |
Total Deferred | $75000 |
iii) Revenue Waterfall Report
Months | Onboarding | Software Access | Total |
Month 1 | $20,000 | $8,333 | $28,333 |
Month 2 | ----- | $8,333 | $8,333 |
Month 3 | ----- | $8,333 | $8,333 |
Month 4 (upcoming) | ----- | $8,333 | $8,333 |
Month 5 (upcoming) | ----- | $8,333 | $8,333 |
Month 6 (upcoming) | ----- | $8,333 | $8,333 |
Month 7 (upcoming) | ----- | $8,333 | $8,333 |
Month 8 (upcoming) | ----- | $8,333 | $8,333 |
Month 9 (upcoming) | ----- | $8,333 | $8,333 |
Month 10 (upcoming) | ----- | $8,333 | $8,333 |
Month 11 (upcoming) | ----- | $8,333 | $8,333 |
Month 12 (upcoming) | ----- | $8,333 | $8,333 |
Best Practices for SaaS Revenue Recognition
- Disaggregate Contract Elements: Break down your subscriptions, onboarding, support, and other one-off deliverables as separate individual obligations.
- Use Automated Rules: Configure a Recognition Rule based on the billing method and avoid tracking them manually.
- Handle Modifications: Plan changes and upgrades should trigger reallocation of revenue.
- Monitor Revenue Waterfall: Visual schedules ensure predictable reporting and forecasting.
Recent Topics
Multi-Unit Inventory with Flexible Unit Selection (Purchase in One Unit, Sell in Another)
We need multi-unit inventory management in Zoho Books with the flexibility to choose units (e.g., Box or Piece) at the time of purchase or sale. For example, if 1 Box = 10 Pieces, we should be able to record purchases in Boxes but sell either in Boxes
Disputed Purchase Invoices
We have recently moved to Zoho Books from Sage. In Sage we were able to post a purchase/vendor invoice but mark it as on dispute. This would usually be a pricing query or if something was damaged. It would show in their ledger, so we could agree their
No TDS Deduction
In some of our case, where we are reselling items at the same rate we purchased. In this scenario, Indian IT Law has a provision to request customer not to deduct TDS if the transaction value is same. TDS is paid by us (intermediary reseller) before we
CBSA - GST CHARGES on imports
Hi there, We have a questions about landed cost categorization. We received a shipment from overseas. CBSA invoiced us for the GST on the items. Now we entered the CBSA-GST as a separate bill and attached it as landed cost to the main invoice based on
Zoho Books
How do I manually insert opening balance?
Sales order & purchase order item links for item details
This is fantastic for checking lots of things, I use it a lot. It would be great to see it extended to invoices & bills On another note, may as well throw in my favourite whinge ..... Wish you guys would get the PO receive differences sorted urgently,
Bank charges are applied. Please select a bank account.
Hello, I'm trying to add bank charges to a customer payment, but I get the error message "Bank charges are applied. Please select a bank account." I found this old thread, where it says that I need to "select a Bank account for the 'Deposit To' dropdown
How to add receipts
How to add receipts
Support for auto-upgrade in TrueSync (for Windows)
WorkDrive TrueSync app now supports auto-upgrading to the latest version for Windows OS. You must manually download and install the TrueSync app version 3.4.0 to avail this feature. Download the latest TrueSync app for Windows (version 3.4.0) Supported
WorkDrive API Documentation
WorkDrive provides users and developers an extensive set of APIs to help integrate functionalities of Zoho WorkDrive with other Zoho applications and third-party tools. We have published the official WorkDrive API Documentation page for all external users.
March 15, 2023: Zoho Docs is discontinued
As of today (March 15, 2023) Zoho Docs is discontinued for all users. We would like to thank our customers for trusting us for so many years! Going forward, we're confident you'll enjoy using Zoho WorkDrive for all your advanced file management and collaboration
Introducing WorkDrive 4.0: Enhanced productivity. Advanced data administration. (Phase 1)
Hello All, We're excited to share the release of WorkDrive 4.0, which includes important new features and enhancements focused primarily on productivity, secure collaboration, data administration, integrations, and user experience. Read the official announcement
Ask the Experts: Five-hour live Q&A session with Zoho WorkDrive product experts
Have questions about WorkDrive 5.0? Let’s talk! We recently launched Zoho WorkDrive 5.0, packed with powerful updates to help your team work smarter, stay secure, and get more value from your business content. From content-centric workflows and AI-powered
External download link limit
Can You please help us to understand this For Zoho WorkDrive external users, the download limit is a maximum of 5 GB total download size and a maximum of 50 first-level files and folders What is the meaning of first level? We are using these files in
Dynamically catching new file creations
I have a team folder with many subfolders, and in those folders we add new documents all the time. I'd like to have a workflow or script to notify me (and then take other actions) when a file is added anywhere in that structure that ends in "summary.txt".
Rotate an Image in Workdrive Image Editor
I don't know if I'm just missing something, but my team needs a way to rotate images in Workdrive and save them at that new orientation. For example one of our ground crew members will take photos of job sites vertically (9:16) on his phone and upload
Workflow workdrive rollout
Hi! When will workflow be rolled out to all users? Thanks.
Sync desktop folders instantly with WorkDrive TrueSync (Beta)
Keeping your important files backed up and accessible has never been easier! With WorkDrive desktop app (TrueSync), you can now automatically sync specific desktop folders to WorkDrive Web, ensuring seamless, real-time updates across devices. Important:
🚀 WorkDrive 5.0: Evolving from a file sharing app to an intelligent content management platform: Phase 2
Hello everyone, WorkDrive's primary focus has always been to provide an intelligent and secure content management platform, simplify collaboration, and be the central repository of files for all Zoho apps. In our previous announcement, we unveiled the
Creating and managing a Team Folder using WorkDrive TrueSync
Hello everyone, Are you tired of constantly switching between your Desktop TrueSync app and the WorkDrive web app to create and manage Team Folders? We’ve made things easier for you. You can now create and manage Team Folders directly within the TrueSync
Edit images seamlessly with WorkDrive's built-in Image Editor
Are you tired of switching between multiple tools just to make simple edits to your images? We understand the hassle, which is why Zoho WorkDrive now comes with a built-in image editing tool, powered by Zoho Annotator. This tool allows you to edit images
Supercharge your email workflow with WorkDrive's add-in for Microsoft Outlook
Consider this: You’re handling a critical project, and your inbox is packed with important attachments, email threads, and client communications. The back-and-forth routine of downloading files to your computer, uploading them to WorkDrive, and manually
Secure and promote your content with Custom Watermarking
Imagine this: You’re a professional photographer who regularly shares your work online with potential clients and collaborators. Recently, you notice that some of your images have been reposted without any credit or permission. This not only impacts your
Join us in Singapore for the Zoho WorkDrive User Group meetup!
Hello, everyone! Exciting news! We'll be hosting an upcoming Zoho WorkDrive user group meetup in the beautiful city of Singapore this November. At this Zoho User Group meetup, we'll guide you through ways to use WorkDrive as a platform and build custom
WorkDrive TrueSync now supports ARM64-based Windows devices!
We’re excited to announce that the Zoho WorkDrive TrueSync app now fully supports Windows devices with ARM64 architecture! Whether you're working on an ARM-based device or an x64 processor, you can now enjoy the same seamless file synchronization experience
Option to Disable Download for Documents Shared via Permalink
Dear Zoho Writer Team, Currently, when sharing a Writer document using the regular permalink (Collaborators with external users), there is no option to restrict the ability to download the document. While the external share link allows such restrictions,
Important update for WorkDrive TrueSync users in China Data Center (CN DC) & Chinese language users in other DCs
Dear WorkDrive TrueSync users, We recently identified an issue affecting users who have set their WorkDrive TrueSync app language to Chinese (Simplified/Traditional). During the auto-update process, the app would not restart automatically and unexpectedly
How to Download a File from Zoho WorkDrive Using a Public Link
How to Download a File from Zoho WorkDrive Using a Public Link If you're working with Zoho WorkDrive and want to download a file using a public link, here's a simple method to do so using API or a basic script. This approach helps developers or teams
WorkDrive TrueSync for macOS 26 (Tahoe) Beta
Hello everyone, With Apple unveiling the macOS 26 (Tahoe) Beta, we know many of you are eager to explore the latest features and enhancements. We’re excited to support your enthusiasm! As part of our commitment to delivering seamless cross-platform experiences,
domain not verified error
Hi when i try to upload a video from zoho creator widget to zoho work drive iam getting domain not verified error.I don't know what to do .In zoho api console this is my home page url https://creatorapp.zoho.com/ and this is my redirect url:www.google.com.Iam
Live Webinar: Getting Started with Zoho WorkDrive - A Complete Overview
Hello everyone, We’re excited to invite you to our upcoming live webinar! Discover how to set up your team, bring in your data, and make the most of WorkDrive’s collaboration, organization, AI, and security capabilities. This session is perfect for anyone
Calendly One-way sync- Beta Access
Hello Community, Many of our Zoho Calendar users have expressed their interests in Zoho Calendar and Calendly integration. We've been tightly working on with Calendly team to provide a two-way sync between Calendly and Zoho Calendar. However, there have
The year that was at Zoho Calendar 2023- Part 2
In continuation with our previous post on all the exciting updates and improvements that have shaped Zoho Calendar over the past 12 months, Lets delve into more: Bring your calendars together- Introducing Zoho Calendar and Outlook calendar synchronisation
Tip of the week #18: Change the event organizer in Zoho Calendar.
We cannot always be available to conduct an event when we organise one. In these circumstances, you can use Zoho Calendar to change the event organizer at any moment before the event begins. This way, you can avoid cancelling the event while still taking
Tip of the week #20: Create and manage multiple personal calendars.
Zoho Calendar provides users with the facility to create and manage as many calendars as required. All these calendars can be managed and edited as per user requirements. You can alter the calendar view, make changes to the calendar theme, share the calendar
Tip of the week #24: Subscribe to the calendars of a Zoho Calendar user.
Calendars that are created by Zoho Calendar users can also be added to your Zoho calendar. All public calendars listed by the users will be available when you enter the email address. You can choose the calendar you need to subscribe to. Once the email
Tip of the week #26: Import/ Export calendars in Zoho Calendar.
Any calendar on the web or calendars that you create in any other calendar application can be imported in to Zoho Calendar. This will help you to add the events from the calendars that you import to your Zoho Calendar. You also have the option to export
Removing calendar for zoho email group
How do I make it so that an email group created in Zoho Mail does NOT have a calendar? I have a couple groups for our phone systems voicemails - one for each department. Voicemail recordings are sent to this groups email address so they have access to
Tip of the week #27: Edit personal calendars in Zoho Calendar.
In Zoho Calendar, the personal calendars you create can be edited to make changes you need to make. Edit a Personal Calendar The following changes can be made to the personal calendar by editing it: Calendar title Calendar color Reminders and Description
Tip of the week #28: Show/ hide, enable/ disable and empty/ delete your calendars in Zoho Calendar.
The popularity of online calendars has soared in recent years. It's used both for personal and professional reasons. Calendars have evolved into an effective productivity tool in our lives, from creating events for birthdays and anniversaries to scheduling
Next Page