Imagine a customer shuffling across multiple subscriptions, a streaming service, a music app, cloud storage, and a design tool. Each one charges a flat monthly fee, regardless of how much or how little they use. Some months, the customer barely opens the subscriptions, yet the bill is the same. This is what we call subscription fatigue, meaning resistance from the customer towards fixed, recurring charges that don't match their actual usage.
For SaaS, subscription fatigue is more than a buzzword. It's a business risk as a flat rate may appear overcharging for one, but others enjoy paying less for their high usage. This imbalance leads to churn, lost revenue and customer grievances.
The solution lies in usage billing, where the customer pays based on what they consume. By aligning cost with value, businesses can increase fairness and unlock sustainable growth. While the principle is simple, it requires a reliable way to track and monetise usage properly.
Zoho Billing Makes Usage Billing Seamless
Zoho Billing provides SaaS businesses with all the tools needed to implement usage-based pricing effectively. Key capabilities that Zoho Billing offers that work effectively for SaaS businesses include:
Flexible Pricing Tiers: Businesses can create multiple plans with different prices and list them on their websites for direct signup.
Zero value Plan: For charging customers purely based on usage alone, businesses can create $0 value plan and associate usage addons to charge appropriately.
Addons: Attach both flat-rated addons and usage-based addons to the subscription.
Hybrid Model: Combine a flat subscription fee with usage-based addons to monetise additional consumption fairly.
When a usage addon is attached to a subscription, Zoho Billing ensures that usage is tracked, recorded and billed accurately.
Scenario 1:
Sam runs a small consulting firm and uses a mailing application to communicate with his clients. His plan costs $200 and includes 500 GB of storage. Sam stays within the limit most months; however, with many attachments, proposals and reports during a particular month, his mailbox usage exceeds by another 100 GB. The mailing application provides a usage addon for $0.50/GB for the additional usage instead of offering a rigid higher value plan.
Item | Value |
Base Subscription | $200 |
Included Invoices | 500 |
Actual Usage | 600 |
Extra Usage | 100 |
Unit Price for Extra Usage | $0.50/GB |
Additional Charge | $50 |
Total Invoice Value (Base Price+Added Usage) | $250 |
The billing team records the extra 100 GB usage in Zoho Billing using the manual usage entry method and nothing more. The system automatically calculates $50 overage fee and appends it to the invoice to make the renewal invoice for the period $250.
Scenario 2:
Imagine Smith Enterprise uses a cloud analytics SaaS product. The contract covers a base subscription plan and two usage add-ons: API calls and storage. The base plan costs $500/month and includes 100,000 API calls and 500 GB storage. For every API call they make, an extra $0.01 per call will be charged. Similarly, for extra storage, $0.10 will be charged per GB.
During a particular month, the company consumes 250,000 API calls and 750 GB of storage, clearly above the usage limit. A subsequent invoice is created, and the charge based on the usage data is added to the base subscription value.
Addon 1 | Addon 2 |
Item | Value | Item | Value |
Included API Calls | 100,000 | Includes Storage | 500 GB |
Actual Usage | 250,000 | Actual Usage | 750 GB |
Extra Usage | 150,000 | Extra Usage | 250 |
Unit Price | $0.01/call | Unit Price | $0.10/GB |
Additional Charge | 150,000x$0.01= $1500 | Additional Charge | 250x$0.10= $25 |
Item | Charges |
Base Subscription | $500 |
API Call Overage | $1500 |
Storage Overage | $25 |
Total Invoice | $2025 |
The company exports the API call logs and storage usage data into a CSV file that can be imported into Zoho Billing. Zoho Billing digests both records, applies the pricing rule separately for each add-on, and generates a consolidated invoice.
Scenario 3:
Roy runs a digital marketing agency offering various marketing campaigns across social media platforms. Roy owns a SaaS application that generates posts and charges $1.5 per post design. No fixed base price for this, but their clients are purely charged based on the number of posts made. During festive sessions, Roy's team schedules a maximum of 450 posts for a client.
Item | Value |
Base Subscription | $0 |
Rate per post | $1.5 |
Actual Usage | 450 posts |
Total Invoice Value ($1.5x450) | $675 |
Using Zoho Billing, Roy records the usage manually or by importing them into the system. With no base price, the platform automatically calculates the total invoice based on the usage. Roy receives a clear invoice for $675, reflecting the value consumed.
SaaS Usage Billing Simplified
Usage Billing ensures that customers pay only for what they consume, whether extra storage, extra API calls, or purely based on the number of posts made. With Zoho Billing, SaaS businesses can seamlessly manage complex and straightforward usage billing scenarios. Adding usage to Zoho Billing is simplified through different methods. It can be added manually if there are fewer subscriptions, and usage data can be imported if there are more subscriptions and usage add-ons. Usage can also be pushed using APIs into Zoho Billing.
Post your use cases in the comments and find the best way to handle them using Zoho Billing.
Next, we will dive into Usage Billing in Telecom and Internet Service Providers, showing how this model powers those sectors.
Recent Topics
Evaluating Creator; yesterday fine; today connection times out
Yesterday I spent hours creating a new app, and it worked fine. Today I cannot access creator.zoho.com. Is this common? I'm in the evaluation mode, but I'm thinking I'm going to keep looking. It worked from my home computer, and now I'm checking it from my work computer. My work computer always works just fine, so I shouldn't htink there would be special settings or anything. If there are, how to find out what they could be? Using Chrome on Windows XP The error I get is: The webpage at https://creator.zoho.com
Pivot Chart seems to show "old" data - how do I make it update?
I wonder how to make a Pivot Chart "update" its data contents. Here is the background: I need to report a subset of data that is so complicated that it is easier to make a calculation and put the result in a "reporting form", and then display the data from that form. So, I get data from the "original form" GRANTS, make some calculations and put the result in the "reporting form" PERIOD. Now I can watch the result in a list called LIST, which works fine. The list LIST shows that form PERIOD contains
Upcoming Changes to LinkedIn Parsing in Resume Extractor
Starting 31 July 2025, the Zoho Recruit Resume Extractor will no longer support direct parsing of candidate data from LinkedIn profiles. Why Is This Change Needed? In accordance with LinkedIn’s platform policies, extracting profile data through browser
how to create view in leads module to that will show all leads + converted leads?
is it possible to make custom view that combine all leads + converted leads? how to do that
Reply and react to comments
Hi everyone! We're excited to bring to you a couple of new features that'll make your sprint process simpler. A cloud application brings with it an array of social media features that can be efficiently used in your organizational setup. As an agile scrum
Announcing Early Access to "Zoho CRM for Everyone" — A new and exciting update to Zoho CRM
Zoho CRM For Everyone is now officially available to all customers, and the Early Access Program has come to a close. We want to extend our sincere thanks to everyone who participated in the program. Your valuable feedback played a key role in shaping
Avalara Sales Tax integration - AVATAX
Just wondering if anyone else is having troubles with this integration? Seems as though Avalara changed their billing process, unbeknownst to Zoho, and now ALL transactions are counted by Avalara, not just transactions in a taxable jurisdiction. This caused a huge price adjustment billed to us by Avalara within a month of us signing up. And Avalara is not cheap to begin with! Avalara has been great in waiving that increase, but there seems to be no fix. Zoho is aware of the problem, but slow
Invalid value passed for description
Dear Sir, When I am entering the purchase bill , the following message showing "Invalid value passed for description" what should I do ? I am attaching screenshot. With Regards, Harish harish@cracku.in 7978841636
Zoho Creator - 2024 Release Projection 1
Hello everyone! As we enter 2024, we'd like to extend our warmest wishes for success and prosperity. Your fantastic response to our Product Roadmap page last year has been incredibly motivating. Continuing on this path, we're excited to share a glimpse
Automation Assistance for Zoho Form Integration and Workflow
Hi, We are currently using a Zoho Form to send out our Global Credit Application and would like to automate the process further. Specifically, we’d like the ABN number submitted through the form to automatically populate the GST/VAT Number field in Zoho
COQL does not return queryable value if the result set is empty
See linked video for running code illustration of the problem: https://workdrive.zohoexternal.com/external/d49bb40033b43b288d56fdf843095b7c65b28391d3ec5d09c854f416d853003d Moderation update: We are appending the comment that was removed, to add context
Zoho CRMでの商談の管理のしかたについて初歩的な質問です。
先月からZoho CRMを試験的に導入して運用しています。 商談の管理(運用?)の仕方について教えてください。 商談の数が増えてくると、ダッシュボードの「ステージ別進捗状況」にどんどん過去の商談が蓄積されてくると思うのですが、 現在動きのあるものを中心に確認したくなる気がします。 そのあたりについては、どのように運用が一般的なのでしょうか? アドバイスいただけるととてもありがたいです。 よろしくお願いします。
Composite Items & Purchase Orders
The Composite Item is great way to bundle different products and services into a single line and sell it as a single line item in Estimates, Sales Orders and Invoices. However, on the other side - i,e,. Purchasing - this item creates quite a bit of a
using custom function is it possible to update the created by field in Zoho Crm custom module
using custom function is it possible to update the created by field in Zoho Crm custom module
Slow Sloww Slowwww Responses
Good day, Has anyone been experiencing slow responses from support? Since Thursday I migrated my Whats app to Sales Iq and I had to synch with Social to get the otp they were sending. Apparently What's app can't be automatically added so I reached out
You have exceeded the maximum number of attempts for this action. Please retry doing the same in 30 minutes.
When one of Zoho Books user tries to select a vendor, recording a new bill, these message appears: You have exceeded the maximum number of attempts for this action. Please retry doing the same in 30 minutes. Other user, at the same time, but different
Enable Conversation Context Retention for SalesIQ Answer Bots
Hello Zoho SalesIQ Team, We hope you are doing well. We have noticed that SalesIQ bots currently fail to maintain conversation context in Hebrew. For example, when we follow up on a previous answer or ask for clarification in Hebrew, the bot either provides
Automatic Hebrew Small Talk Setup Without Duplicate Term Errors & Manual Configuration
Dear Zoho SalesIQ Team, Greetings, We would like to request an enhancement to the Small Talk feature in Zoho SalesIQ, specifically for Hebrew language support. Current Challenge: When setting up Small Talk for Hebrew, we encounter multiple issues: Simple
Should I Add Leads in Bigin?
ok, first off I'm new here. I just started using Bigin. I'm debating if it's appropriate to enter leads. by leads I mean a list of contacts that I have not yet reached out to...it's a cold calling list. if I enter them I can track them (I understand
Zoho Books - Perform a validation check before an invoice is marked as sent or sent
Allow the validation rules to apply to button actions. For example: an invoice could not be sent or marked as sent if it has an empty value in a custom field. (The field could remain blank while it is being worked on.)
Flow error "given url is wrong"
when I setup a flow to update a task status, I get an error when it runs that says "given url is wrong."
Upgrade Zoho Desk Agent-Side Answer Bot to GenAI
Hello Zoho Desk Team, We hope you're doing well. Following the recent announcements and rollout of the GenAI-based Answer Bot in Zoho SalesIQ (Nova '25), we’d like to formally request a similar upgrade for the Answer Bot used by agents inside Zoho Desk.
Bigin Android app update: Email filters enhancement, change owner for related records.
Hello, everyone! In the most recent Bigin Android app update, we have introduced additional email filters and an option to change the owner of related records. Email filters: We have now brought in support for 'All Emails' and 'Added from Widgets' filter
How can I get all conversations and comments of a Zoho Desk ticket using ZOHODESK
Hi everyone, Currently, I am developing a Zoho Desk extension, and I am following the guide available at https://www.zoho.com/desk/extensions/guide/#ticket-object. While working with Zoho Desk, I have noticed that I can only retrieve the general information
AI & Zoho Recruit
Hello, I guess we all are using AI in our personal and professional lives. Now, let's imagine. Recruitment is just a succession of stages and steps. For which step would you like to see AI implemented into Zoho Recruit ? I'll start : - Automatic translation
Workdrive and ChatGPT Team Synced Connectors
Hi, we want to be able to integrate Zoho Workdrive with OpenAI’s ChatGPT Team plan. Google Drive and OneDrive both offer this, zoho please catch up asap. We dont want to have to put our company files in google drive, we want to allow chatgpt Team edition
widget url 404'ing
I'm creating a widget for the first time. When I grab the url from the base url section of the widget builder and append /widget.html it 404's Just wrote a very basic test. I have a folder structure app.zip - widget.html --js/app.js /widget.html <!DOCTYPE
Unable to Edit Pick-List Items in Custom Project Field(s)
I can edit most fields normally, but if I try to edit - in any way - a Pick List field, I just get this error: To be perfectly clear, I'm trying to edit an existing Pick List field (adding or removing items), not adding a new instance. If I rename it,
How to display results from zoho.crm.searchRecords in message window
Hello, I've created a custom function which is linked to a custom button which pulls a date from our contacts module and searches a date field in our quotes module and returns all records matching the date. My issue is, how to I get this to display the
Domain Transfer
Hello there! I wanted to know if I can transfer my domain from Zoho to other hosting providers or use a different hosting provider instead of zoho's services.
Select CRM Custom Module in Zoho Creator
I have a custom module added in Zoho CRM that I would like to link in Zoho creator. When I add the Zoho CRM field it does not show the new module. Is this possible? Do i need to change something in CRM to make it accesible in Creator?
New User - Opening Stock Aging Report
I am setting up new client and am entering Opening Stock - created items and entered quantity/price details. Now the aging report is showing all the opening stock as new. How do I enter the Purchase Dates of these items so that I get accurate Inventory
Bulk Receive Multiple Purchase Orders
Is there a feature or function that will allow you to bulk receive issued purchase orders? I have about 100 that need to be received from 5 years ago.
Manual Invoice
How to create a Manual invoice, I need to enter Amount directly instead of (qty*Rate). our company is a service sector
Effective Inbox Organization: Folders vs Tags in Zoho Mail?
I'm exploring the best ways to organize a busy inbox, especially when managing multiple clients or project using Zoho Mail. I’d love to know what works best for others: 1. Do you prefer **folders** (possibly with sub-folders) for each client or project?
Merging contacts and or accounts
Hello, In a prior CRM we were able to merge contacts and or accounts. We have turned on the function to stop multiple contacts with the same email, so we can prevent multiple contacts from happening, however, we now have multiple contacts that have the
Capture Reason for absence next to Campaign Member Status. Is there a reasonable workaround?
I've reviewed the topics I could find to do with this but still couldn't find anything that satisfies our requirements: We would like to track a *reason* (picklist or text, doesn't matter which) why a Campaign Member (Lead or Contact associated with a
Zoho Learning Management System - Certificate Upload by Employees
We are planning to enroll employees in courses which are hosted by coursera or similar sites. I want to share the links of those courses and also want employees to upload their completion certificate once they are done. Is this function possible in
Add RTL and Hebrew Support for Candidate Portal (and Other Zoho Recruit Portals)
Dear Zoho Recruit Team, I hope you're doing well. We would like to request the ability to set the Candidate Portal to be Right-to-Left (RTL) and in Hebrew, similar to the existing functionality for the Career Site. Currently, when we set the Career Site
Button or Links order
Is there a way to re-order the buttons or links that are created?
Next Page