Billing Management: #6 Usage Billing in SaaS

Billing Management: #6 Usage Billing in SaaS

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.


NotesNext, we will dive into Usage Billing in Telecom and Internet Service Providers, showing how this model powers those sectors. 


      • 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

        • Recent Topics

        • Open a record to edit based on another form being edited

          Hi all, I am trying to edit a record based on another record being edited. It works out like this: When I create a Monthly_Update and then submit I open the Monthly_Levels form and pass the ID from the Monthly_Update to a field called mu. I want it to
        • Problem with signature on zoho survey

          Hello, I'm trying to export individual responses with signatures on zoho survey. But the signatures on some of my surveys are not exported as the original image, but as a generic image, same for all (screen joins). Is there a solution to have the signatures
        • Change in Zoho CRM API?

          Hello, I am using the Zoho API trough the PHP SDK v2.1 Since few days, I noticed that I have to change the way I pass the data to the API when I create, update, or upsert a record. Dates Before I was passing a PHP date object to "$record->addKeyValue(...)",
        • MTA - BAD IP reputation by outlook/hotmail

          Messages to Microsoft email servers are bouncing back due to poor reputation. Message: 4.7.650 The mail server [136.143.188.206] has been temporarily rate limited due to IP reputation. For e-mail delivery information see https://postmaster.live.com (S775)
        • QuickBooks Extension for Zoho CRM - Advanced Features -2025

          Hello Everyone, We’re happy to announce the latest version of our QuickBooks Extension for Zoho CRM, now officially live on the Zoho Marketplace! This release introduces one-click data sync, a user-friendly UI, enhanced performance, and a powerful set
        • Changing Department often causes the Firefox tab to freeze

          Title, it doesn't seem to happen with neither Opera nor Chrome. And even in Firefox, sometimes it just lets me change the department I'm in no problem, even to All Departments which is probably the most, like, resource heavy? But most of the time, the
        • Need to integrate Zoho Mail Mobile app with Zoho Meeting Mobile App for Android and Apple

          Hello Zoho Team, Please bring integration of Zoho Mail Mobile app with Zoho Meeting for Android and Apple Thanks
        • ¡Muchas gracias por participar a los Meetups de Usuarios de Zoho! Y Novedades del ecosistema Zoho

          ¡Hola Comunidad de Zoho en Español! 👋 Después de un breve lapso de tiempo, volvemos con una nueva edición de nuestro Community Digest, donde te contamos las novedades de los productos de Zoho en los últimos meses. Estas mejoras se centran en nuestros
        • Anyway to move mail from one account to another yet?

          Hello, Is there any way to move email from one mailbox account to another mailbox account in zoho yet? Thanks, Ryan.
        • Using a CRM Client Script Button to create a Books Invoice

          Hello, I need help handling error messages returned to my client script from a function. The scenario I have setup a client script button which is available from each Deal. This CS executes a crm function, which in turn creates an invoice based on the
        • Building Toppings #2 - Learn how to use Bigin's Developer Console to build toppings

          Hey Biginners, In our last post, we discussed what toppings are, why they're essential to extending Bigin's capabilities, and how the Bigin Developer Center serves as the starting point for building them. As a cloud platform, the Developer Center empowers
        • Proposal for Creating a Unique "Address" Entity in Zoho FSM

          The "Address" entity is one of the most critical components for a service-oriented company. While homeowners may change and servicing companies may vary, the address itself remains constant. This constancy is essential for subsequent services, as it provides
        • Links are incorrect when sent out

          I'm adding in hyperlinks into my eDM. When I send a test email, it's all correct. However, when I send out the eDM, all the hyperlinks jump up one space so none of the links are opening to the correct page. Why is this happening and how can I fix it?
        • Tip of the week #16 - Search and filter threads based on criteria

          Zoho TeamInbox lets you search and filter threads with any information that you have about the thread. You just have to input the criteria and Zoho TeamInbox will list all the threads that match the condition.   Firstly, there is a global search you can
        • Introducing recipient authentication via Stripe Identity in Zoho Sign

          Hi everyone! It's important to authenticate your recipient's identity before they access and sign important documents to ensure the highest level of compliance. Zoho Sign already helps businesses do this with various authentication methods: SMS OTP Email
        • Introducing Multi-Asset Support in Work Orders, Estimates, and Service Appointments

          We’re excited to announce a highly requested enhancement in Zoho FSM — you can now associate multiple assets with Work Orders, Estimates, and Service Appointments. This update brings more clarity, flexibility, and control to your field service operations,
        • CRM: hosting a single html file in Zoho and displaying it as a widget

          I have seen that CRM offers the option of uploading a web project to Zoho itself and displaying it as a widget in CRM. The instructions then talk about setting a development environment with Node and developing an application to upload to Zoho. But I
        • Keep Converted Leads

          How do I keep the converted leads in the Leads Module after conversion (converting it to account, contact, deal). I want to add it in a converted stage in the leads module in order to get a report or dashboard and see all converted leads from my pip
        • Customizing Global Search Settings for All Users

          Hi Our team use the brilliant global search functionality within CRM many many times daily. But, we struggle with the out-of-the box columns that CRM gives you. We are always telling users to customize this look to more suit our business, to show the
        • Introducing Formula Fields for performing dynamic calculations

          Greetings, With the Formula Field, you can generate numerical calculations using provided functions and available fields, enabling you to derive dynamic data. You can utilize mathematical formulas to populate results based on the provided inputs. This
        • From Zoho CRM to Paper : Design & Print Data Directly using Canvas Print View

          Hello Everyone, We are excited to announce a new addition to your Canvas in Zoho CRM - Print View. Canvas print view helps you transform your custom CRM layouts into print-ready documents, so you can bring your digital data to the physical world with
        • Tip of the Week #77– Stay informed of the activities happening in your organization

          Whenever a message is handled in Zoho TeamInbox, every action is recorded in the Activity Log. This ensures you always know what’s happening across your teams and inboxes. To access it, simply click the Audits icon on the left pane’s top bar after logging
        • Zoho Logs - Not seeing logs since 30 Nov

          Hi, we have a few functions running, I am testing some new ones and noticed that although I can see executions, I cannot see any logs, even when the first line on the functions is a log. I reviewed some existing functions, one of which is invoked on a
        • Workdrive MS Office integration

          Have installed subscribed version of Zoho WorkDrive VSTO runtime not found is the error when I try to install Zoho_WorkDrive_For_Office Unable to open work files in Excel and Word Urgent, since I have migrated all my OneDrive files to work drive already
        • How do I create an update to the Cost Price from landed costs?

          Hi fellow Zoho Inventory battlers, I am new to Zoho inventory and was completely baffled to find that the cost price of products does not update when a new purchase order is received. The cost price is just made up numbers I start with when the product
        • How to change Zoho Vault password

          I am searching where I can change the Vault Password after having changed the Zoho account password. I don't see this option anywhere in my account. It should be simple and accessible! Please help. Thanks!
        • Zoho Workdrive - Communication / Chat Bar

          Hi Team, Please consider adding an option to allow admins to turn on or off the Zoho Communication Bar. Example of what I mean by Communication Bar: It's such a pain sometimes when I'm in WorkDrive and I want to share a link to a file with a colleague
        • Prefered Bin Missing in android APP

          Andoroid app dosent show preferred bin in the picklist. The workaround support reccomend is to use the computre to create the picklist. it shuld be information to be shown aas basic for the pciker.
        • When Marking a Multiple Choice Answer Exclusive - Not Following My Survey Disqualification Logic

          Using a multiple choice (many answers) question and I created survey disqualification logic that was working as intended. My question: Disqualification page logic is: If (QUESTION) is "any one of the following" then (OPTIONS) - a custom message populates
        • Where to Add Machines as Products to Map with Assets in Zoho FSM?

          implementing Zoho FSM for a clinical equipment supply company. The business sells and installs clinical machines in hospitals and clinics, and they also handle service requests, scheduled maintenance, calibration visits, and general machine upkeep. In
        • Show Zoom Link in Recipient's Calendar

          We set up meetings within a record, selecting the "Make this an online meeting".  We use Zoom. Most of the recipients go to their calendar (usually Gmail or Outlook, corporate) to join the Zoom meeting, but there is no Zoom link in the calendar. Can this
        • 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
        • Zoho CRM for Everyone's NextGen UI Gets an Upgrade

          Hello Everyone We've made improvements to Zoho CRM for Everyone's Nextgen UI. These changes are the result of valuable feedback from you where we’ve focused on improving usability, providing wider screen space, and making navigation smoother so everything
        • Zoho Bigin - should be able to link a "contact" to multiple "companies"

          Hello Support, I called into telephone support and was told that a contact can only be linked to one company. We have situations were director are contacts of and directors of multiple companies so that seems a basic weakness in Bigin. When go to add
        • Does Thrive work with Zoho Billing (Subscriptions)?

          I would like to use Thrive with Zoho Billing Subscriptions but don't see a way to do so. Can someone point me in the right direction? Thank you
        • Radio button data won't update

          Wondering if anyone is experiencing the same problem. I tried bulk updating our data on Zoho Creator using API and noticed that the radio button field wasn't updated. I have tried updating it manually, it didn't work. When I tried updating a text field
        • Register the 'Contact Role' addition and change as a Potential edition so it can trigger Workflows

          We are trying to use "Contact Roles" in Potentials. Contact Roles are special and different than the other Related lists, so, it may have a special behavior. Something to keep in mind is that you will never have 100 Contact Roles as you can have 100 Tasks, Calls, or any other Related list. In our case we will have 2 in average and up to 4 or 5 maximum. The problem is that we need to bring information from 3 key Contact Roles to the Potential and adding a Contact to the Contacts Roles area never trigger
        • Synchronise item image between Zoho Commerce and Zoho Books/Inventory/CRM

          Here is a blindingly simple idea to tie several Zoho products together. Zoho - please include a method to synchronise the item image (or images) from one Zoho application to another. For example, if you upload an item image in Zoho Inventory, a user should
        • Accessing shared mailboxes through Trident (Windows)

          Hi, I have a created a couple of shared mailboxes. The mailboxes are showing up on the browser based Zoho workplace, but I cannot seem to figure out how to access my shared inboxes through Trident (Windows). Am I missing something or is this feature not
        • Introducing Global Sets for easy management of similar picklists in CRM

          Latest update (December 2025): You can now apply color coding to the values inside a global set, the same way you color code values in regular picklist fields. Update (Sep 2024): We've increased the maximum count limit for global sets. These new limits
        • Next Page