Billing Management: #5 Usage Billing

Billing Management: #5 Usage Billing

After understanding the nuances of Advance Billing and Retainers, we will explore one of the booming billing models.

Long ago, villagers drew water from a shared well in a small village. The well was a lifeline for the entire community. Ravi, the well keeper, spent his days making sure the water stayed clean, the walls stayed strong, and the rope was firm.

At first, he allowed everyone to take water freely. But Ravi soon realized that maintaining the well required effort; if no one contributed, the well would eventually fall into disrepair.

So he gathered the villagers and proposed something simple,

 "You don't have to pay me a fixed amount every month. Instead, pay me for the water you take."

The rule remained simple and fair. Families that took one or two pots paid less, and large households paid more. No one was overcharged, and Ravi always had enough to keep the well in good condition.

Ravi invented the earliest form of usage billing without even knowing it. It is a model built not on flat fees but on fairness: pay for what you consume, nothing more, nothing less.

 What is Usage Billing? 

Usage billing is a billing model in which customers are charged based on how much of a product or service they actually use. Unlike traditional flat subscriptions, which apply the same fee regardless of consumption, usage billing creates a direct link between value received and price paid. For customers, it ensures fairness, and for businesses, it unlocks scalable revenue growth.

As stated above, usage billing is not new. Utilities, telecom providers, SaaS companies, IoT, and several others highly rely on it. In recent times, however, it has become a strategic move by industries that thrive on flexibility.

Why Businesses Adopt Usage Billing? 

Usage-based pricing nowadays is considered a growth driver. Recent reports highlight,
  • 85% of SaaS companies have adopted some form of usage-based pricing, according to the State of Usage-Based Pricing 2025 Report by Metronome & Greyhound Capital.

  • 63% already practice it,, and 74% expect to expand usage billing further, notes as study by Chargebee in collaboration with OpenView.

  • Hybrid pricing models, where a flat subscription fee is combined with usage-based elements, are booming, with nearly half of the SaaS firms adopting them, according to the 2025 SaaS Pricing Trend Report from Maxio.

  • The same Maxio report adds that companies using usage-based pricing often report faster revenue growth (median 21%+) and stronger net dollar retention compared to peers.

 Simplifying the Complex 

Conceptually, usage billing is simple. But executing it well requires precision. Two main challenges in usage-based billing are:
  • Tracking consumption with accuracy.

  • Turning usage into an invoice transparently.

Zoho Billing provides both. It enables businesses to combine flat-rate subscriptions with usage-based billing, supporting hybrid pricing models that suit modern industries.

A subscription in Zoho Billing can be marked as a usage subscription just by a simple checkbox. Renewal invoices will include all the usage that is added and invoiced during the next billing period to ensure accurate billing. Zoho Billing supports multiple ways to record usage. Users can manually record usage individually by accessing the application. It can be uploaded in bulk using import options, and the most popular way is through APIs to push usage data automatically from your system to Zoho Billing.

Wisdom to Strategy
 
Paying only for what you use has made customers feel valued for ages. By charging based on consumption, businesses ensure sustainability and growth. From ancient water pots to today's gigabytes, transactions, and compute cycles, the principle hasn't changed, just that the scale and sophistication have changed. And with solutions like Zoho Billing, companies can turn this age-old wisdom into a modern growth strategy.

Alright, this is just a beginning. In the coming posts, we'll dive deep into how usage billing plays out across industries from SaaS to telecom to IoT, showing how businesses can apply it to stay competitive and loyal. 
    • 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

    Nederlandse Hulpbronnen


      • Recent Topics

      • How to parse JSON data with SQL in Zoho Analytics?

        Hi all, I have a column with JSON data. I want to show this column in a chart, but it is very messy, and no JSON parsing function is supported on Zoho Analytics. data example: {"id": 5, "status": "false", "date": "15/10/22"} what I want to do in SQL is
      • Ability to turn off "Would you like this amount to be reflected in the Payment field?" message

        Team, Is there any way to turn off the message" Would you like this amount to be reflected in the Payment field?" when I make a payment? This is so annoying. This happens EVERY TIME I put an amount in the Payment Made field.
      • Add an Equation Field (Or update the Formula Field)

        Hi, I would like to be able to have one field as a Text Field with QR Code, and then have multiple Equation/Formula Fields that then take parts of that fields data with LEFT, MID, RIGHT, REGEX, etc. Thanks Dan
      • How to parse column having JSON data using SQL?

        We have a daily sync from a PostgreSQL database that brings data into Zoho Analytics. Some of the columns store raw JSON data. We need to build SQL queries on top to parse data from JSON and store them in discrete columns. There is no option for "Data
      • Enable report button based on the current user role

        Greetings  i have a report that contains action buttons, i want these buttons to appear as enabled only when the current logged in user has a certain role, for example only CEO role users will be able to use this button. but when setting the conditions
      • 500 Internal Error In Mail API

        I'm getting 500 Internal Error when using mail API. I'm getting this error for this one account, it works fine for other Account IDs which I have in my system.
      • Piss poor service in Support in Domains and email

        Srijith Narayanan B contacted me today. Very pleasant fellow. Just didn't want to tell him how bad your support service is. You help the person, but you leave before we can finish the next stage. Which causes a lot of frustration. It's been 8 days now
      • Zoho live chat widget in React Js

        I am trying to test Zoho live chat widget code in react js, below is the sample code void(0)} onClick={()=>window.$zoho.salesiq.floatwindow.visible("show")}>LIVE CHAT window.$zoho = window.$zoho || {};window.$zoho.salesiq = window.$zoho.salesiq
      • Are there any plans to add Triggers for Subform edits?

        By The Grace of G-D.  Hi, How are you? Can you tell me if you have any plans to support subform edit as a workflow trigger? And what about have them trigger an "onChange" client script?
      • Zoho commerce

        i am facing issue with order summary emails.i am getting 1 continuous email for order received yesterday and today.ideally 1 email should be received for a particular date ie for 02/08 i should received 1 email from 12.01am till 11.59pm but it is being
      • Feature Request: Improve Category Page Sorting for "Out of Stock" Products

        Hi there, I'm writing to request a new feature that I believe would significantly improve the user experience in my online store. Currently, on category pages, products are sorted by popularity. However, when a popular product goes "Out of Stock," it
      • POSTMAN - There was an error in evaluating the Pre-request Script:Error: Cannot read properties of undefined (reading 'json')

        I am beginning the journey to learn how to use the API for Zoho Sign. I am getting the following error when I try to use postman. To walk you through how I am getting this error... I wanted to start with a simple GET and expand my learning from there.
      • How do i integrate shipstation with zoho inventory

        Wanting to set up my own delivery driver in ship station so we can get real time tracking of where the package is but then i want it to automatically update zoho inventory packages/shipments how can i do this
      • Invalid value passed for salesorder_id

        Hi, I am using sales return API, details are given below: API: https://inventory.zoho.com/api/v1/salesreturns?organization_id=700571811 Post Json Data: { "salesreturn_number": "", "date": "2020-11-12", "reason": "Testing from API", "line_items": [ { "item_id":
      • Create Invoice and Invoice Items from Sales Order via API

        Currently, when creating an Invoice associated with a Sales Order via the API, it appears that I must manually include all of the items (line_items) even though they are already part of the Sales Order. My question is this: is it possible to raise an Invoice via the API based on all of the information associated with a Sales Order--such as the  items? In other words, do I always have to manually include the items (line_items) when raising an Invoice via the API when the Invoice is associated with
      • Outlook 2013 Calendar Syncs but "Related To" Field in Zoho is blank

        Outlook 2013 Calendar Syncs but Related To Field in Zoho is blank I expect the "Realted To" field to be populated with the calendar participants
      • Export a Course

        Is it possible to export a course from Zoho Learn to a SCORM file?
      • Add and Remove Agents from Departments and Groups in Zoho One

        Hi Zoho Flow Team, We hope you're doing well. Currently, Zoho Flow provides an action to add an agent to a group in zoho one, but there is no action to remove an agent from a group or a department. Another action that we find missing is the option to
      • Zoho learn Custom portal - networkurl & CustomPortalId

        I want to get my individual account’s networkurl and customportalId to use in this API: https://learn.zoho.com/learn/api/v1/portal/<networkurl>/customportal/<customportalId>/manual How can I retrieve the networkurl and customportalId using the API? I
      • Consumer Financing

        Does Zoho currently have a payment gateway (such as Stripe, Square, etc) which offers financing for customers? So, let's say the estimate we give the customer is greater than what they can afford at the time, but we can sell the service now, letting them
      • Intégration de la gestion des Passkeys dans Zoho Vault

        Zoho Vault est depuis plus d’une décennie une solution fiable pour les entreprises : pour la gestion, le partage et le stockage des mots de passe. En 2018, nous avons fait un pas en avant en proposant la connexion unique (SSO). Nous sommes fiers de franchir
      • Scan & Fill with double quote key/value pairs

        Hi, An old Ticket moved to a Topic/Idea: I love the idea of the new Scan & Fill as it nearly covers my previous request for a QR Scanner to read a multi-part QR Code. My QR Codes are hard-coded as below: {"key1":"value1","key2":"value2","key3":"value3"}
      • Analytics SQL Queries should allow # as comment

        # and // are very common for commenting in SQL. Not sure why analytics only allows /* and */ for commenting. Especially when # grays the line as if it's being commented out. This should be added for sure.
      • SalesIQ Operator Activity Reports in Zoho Analytics

        I'm busy building a dashboard in Zoho Analytics and I want to include SalesIQ stats in the dashboard, but I'm unable to get the statistics mentioned in the attached image. Any idea where I can get the stats for Operator Activity?
      • Default in fields on Form B based on the user selection in Form A

        Hi Everyone, I have added an action button to a form report to bring up a new form based on user selection, see it indicated in red below: Then when the ne form loads, I want to default in some of the fields based on the record the user was selected on.
      • No longer can indent

        Hey there! Is it just me or were we used to be allowed to used tab or indent when writing. It’s not working right now, has this always been the case?
      • Free webinar alert! Seamless Transition with Lossless Migration: Zoho One + Zoho Mail

        Hello Zoho Mail Community! 🚀 Attention IT Admins and Email Administrators! Are you planning to migrate your organization's email to Zoho Mail within the Zoho One ecosystem? 📧 Join our exclusive webinar, Seamless Transition with Lossless Migration: Zoho
      • Add Resource to Export

        The Export Data feature does not include a column for the Resource field. Without this column, Zoho Bookings cannot be used by any business for resource-based services or event types e.g. room bookings, equipment bookings. It seems to be an oversight,
      • Client Script | Update - Client Script Support For Custom Buttons

        Hello everyone! We are excited to announce one of the most requested features - Client Script support for Custom Buttons. This enhancement lets you run custom logic on button actions, giving you greater flexibility and control over your user interactions.
      • Mandatory field via deluge code

        I would like to ask you if it is possible to make a field mandatory via deluge script. For example, if I have a decision box and I click on it then I want a single line field to be mandatory. If uncheck the decision box then to do the single line as optional. I think it is not possible to do that and I have to do it via validation in 'on validate' field. 
      • 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
      • Power of Automation :: Auto-Populate Integration Field in Projects with CRM Account Data

        Hello Everyone, A custom function is a software code that can be used to automate a process and this allows you to automate a notification, call a webhook, or perform logic immediately after a workflow rule is triggered. This feature helps to automate
      • Zoho Forms and ChatGPT - populating a field using AI.

        I have a form where I would like the user to enter a response or query, and have another field populated using AI. For example, user enters Field 1, AI populates Field 2 in response. I want to be able to wrap some additional instruction text around the
      • campo tag para api

        debo conectarme a una api de zoho inventory y ocupo tomar el campo tag para poder asi jalar el articulo que cuente con el campo correcto en tag ejemplo que tag existen carro y avion que cuando busque los articulo con tag carro arroje solo estos por mas
      • Uploading file as attachment to Zoho CRM

               Hi,   I am trying to attach a file to a Zoho CRM contact using Zoho Flow. Right now, I try to do it through the “Upload File” field in Zoho CRM (In my screenshots, it’s called Téléchargement du fichier 1).   Here is what I tried:   Case 1: Webmerge document The Flow is called “Custom Function” (see screenshot 101).   Step  1: Creating a Webmerge document (screenshot 99)   Step 2: I use “Update module entry” to upload the created file. I upload Webmerge’s “Document” in my “Téléchargemet du
      • Zia Answer Bot - Create Ticket

        Surprisingly, the current iteration of Zia will try to answer a question and unless you have "transfer to SalesIQ chat" enabled, it won't create a ticket for the user or offer them a method to create a ticket. We don't want it to create chats for us,
      • meassure leads phases

        Hi, I need to create a table to meassure the time that a lead stay in blueprint phases. the phases are first contact, second contact, lead spam, contacted, appointment. any idea? I have attached an example
      • Zoho Desk API Documentation missing a required field

        We are trying to create a section using this information. Even after preparing everything based on that page, we still get an error. The error we get is this: {"errorCode":"INVALID_DATA","message":"The data is invalid due to validation restrictions","errors":[{"fieldName":"/translations","errorType":"missing","errorMessage":""}]}
      • In the Custom Module I have 500 Records , this 500 record only want to view to the specific user only example user A ,

        In the Custom Module, I have 500 Old records that should only be visible to a specific user, for example, User A. Any new records created from today onwards should be visible to Record owner in the Custom Module. Pls help how i achive this .
      • Invoice template, how to change the text under "Notes" and "Terms and Conditions"

        In "Invoice templates", there are two text/info sections at the bottom:"Notes" and "Terms and Conditions". It is possible to change the names of these two headings, but how is it possible to change/alter the text under it. As a standard it says "Thank you for your business" under Notes - I need to change it into something different- How? Thank you.
      • Next Page