Hello everyone,
We've been sharing a tip every week to address specific business scenarios which can be implemented for your subscription business. Last week, we shared a tip about
integrating online form builders with Zoho Subscriptions. This week, we will be looking at
how you can implement metered billing in Zoho Subscriptions with Google Sheet.
Business Scenario:
Metered Billing
is the concept of charging your customers based on their usage of a product of service. With Zoho Subscriptions, you can charge your customers for a base plan initially and then charge an additional fee based on their usage using metered billing.
Generally, when a business wants to automate the metered billing process, they should have a back-end server that handles the metered billing readings. Once the reading is recorded, the back-end server has to process the difference between the last recorded reading and the current closing reading. If the customer has exceeded the base limit, the back-end server makes an API request to Zoho Subscriptions to update the invoice and charge an additional fee.
Let's consider the following scenario to understand this better.
Zylker Electro provides electricity services to residential areas. They have a meter installed in all the houses of the residential area to record the power consumption. Every month, a Zylker personnel visits the houses in the residential area to note down the meter reading. Then, the difference between last month's meter reading and the current month is calculated. If the customer has consumed more than 500 units of power, they will charge the customer an additional 12 cents per unit.
To automate the above process, Zylker has to build a back-end server that will:
- store the meter readings;
- calculate the power consumed for every month; and
- charge the customers accordingly.
Instead of building a back-end server, you can automate the process using the
Custom Functions in Zoho Subscriptions and
Google Sheets. With the help of Google Sheets, you can note down all the metered readings every month. Later, you can use
Google App Scripts to fetch the readings and update the pending invoice using the Custom Functions.
How can you do it?
You can use Google Sheets to note down the readings every month (similar to the image shown below).
|
Field
|
Description
|
|
Last Recorded Reading
|
The meter reading at the end of the previous month.
|
|
Closing Reading
|
The meter reading at the end of the current month.
|
|
Status
|
The field is used to specify whether the invoice for a customer has been updated in Zoho Subscriptions or not.
|
|
ID
|
Unique Ids that are used to map the customers between Google Sheets and Zoho Subscriptions.
|
Google allows us to access and edit the data in spreadsheet with the help of Google Scripts. Coming back to the scenario, every month a Zylker personnel will record the readings in the Google Sheet. With Zoho Subscriptions, you can configure a custom function to run for the invoices in the
Pending status. You must configure the Custom Function in such a way that:
- it fetches the meter readings from Google Sheets using Google script;
- processes the data and adds an additional charge to the invoice, if needed (based on the consumption);
- updates the Status in Google Sheets as Updated; and
- updates the Last Recorded Reading with current month's closing reading.
Once the custom function executes successfully, the invoice will be updated with the additional charge. The value in the Status field of the Google sheet will also be updated.
Getting started with Google Apps Scripts:
Google Apps Scripts provides you with feature-rich APIs that allow you to build you own web applications. For our scenario, we will be using the Spreadsheet APIs to fetch and edit the spreadsheet document. We will create two scripts:
- The first script will be used to fetch the last recorded reading and the closing reading of a customer.
- The second script for changing the Status field of the customer once the invoice is updated.
To create a script in Google App Scripts:
- Go to and click the New Script option on the top-left corner.
- Copy the scripts provided above and modify it to suit your needs.
- Once you are done, click the Publish option on the top and select the Deploy as web app option.
- Provide the project name.
- Choose Anyone, even anonymous in the Who has access to the app dropdown.
- Click the Deploy button.
- Save the Web app URL which will be displayed on the screen for future reference.
Once the Google app scripts are successfully deployed:
- Create a new Custom Function in Zoho Subscriptions.
- Choose the Module as Invoice and Predefined event as Invoice created.
- Copy the Custom function from this GitHub link and modify it as per your requirements.
- Save the Custom Function and you are good to go.
Found this useful? Try it out for your subscription business and let us know. If you have any queries, feel free to comment below. We are here to answer them.
Cheers,
Sasidaran K,
The Zoho Subscriptions Team.
Sticky Posts
Tip #4 : Refer and Earn Workflow system for your Subscription Business
Hello everyone, We've been coming up with a tip every week to address specific business scenarios which can be implemented for your business. In continuation to the previous post, this week we will be seeing about how you can implement the Refer and Earn Workflow system to acquire more customers. Why are Referrals important? Customer Acquisition is crucial for any business to sustain itself in a constantly evolving market. It involves persuading new consumers to purchase your products. Customers
Tip #2 - Cancellation of Offline Subscriptions based on the Expected Payment Date
Hello everyone, As you all know, we are coming up with a custom function workflow every week to address specific business scenarios. In continuation of this previous blog, this week we will be seeing about Cancellation of Offline Subscriptions based on the Expected Payment Date. Business Scenario: In general, for any business, the customers make payments via online as well as offline. In case of subscription where the automatic collection of charge is enabled (aka online subscription), the customer's
Tip #3 : Send SMS Reminders for your Subscription Business
Hello everyone, As you all know, we are coming up with a tip every week to address specific business scenarios. In continuation to the previous blog, this week we will be seeing how you can use SMS reminders for your Subscription Business. Using SMS messages for your Subscription Business: While managing your subscription business, more often than not, you need to keep your customers informed about upcoming renewals, payment reminders and cancellations. By keeping them informed in advance, you can
Tips And Tricks - Announcement
Hello everyone, Every business is unique and each of them follows a specific workflow. While managing your customers' subscriptions with Zoho, you might have some needs unique to your business. Custom Functions helps you address such needs. This is a start to a series of posts, where we will be coming up with a custom function workflow every week that addresses specific business scenarios. Watch this space for further updates! Also, if you have any specific business scenario which needs to be addressed,
Tip #6 : Accessing external URLs from Zoho Subscriptions
Hello everyone, We have been sharing a tip every week to address specific business scenarios which you can implement for your subscription business. Last week, we shared a tip about implementing the Approval Workflow system. This week, let's look at how you can access external URLs with the help of Custom Link. Business Scenario: Every business functions differently and has its unique requirements. At times, businesses might want to access other websites or applications by appending specific information
Recent Topics
Whatsapp Limitation Questions
Good day, I would like to find out about the functionality or possibility of all the below points within the Zoho/WhatsApp integration. Will WhatsApp buttons ever be possible in the future? Will WhatsApp Re-directs to different users be possible based
Editing the list of Categories in the Categorize Manually section of Banking in Zoho Books
Hi, I need to create two new Categories called Withdrawals and Deposits to categorize payments in a bank account. How do I edit the Categories list?
[Free Webinar] Intelligent document processing with Zoho RPA
Hello everyone! Greetings from the Zoho RPA team! We're excited to invite you to our upcoming webinar on intelligent document processing with Zoho RPA, where we'll introduce powerful new capabilities designed to make your automation journey smarter, faster,
Zoho People > Performance Management > Appraisal cycle
Hello All I am using this 2 users to test out how it work on Performance Management User 1 - Reportee User 2 - Reporting Manager : Li Ting Haley User 1 : Self Appraisal Error How do i fix this error?
Send emails directly via Cases module
Greetings all, The ability to send emails from the Cases module, which users have been eagerly anticipating, is now available, just like in the other modules. In Zoho CRM, Cases is a module specifically designed for managing support tickets. If your organization
Webinar Alert: Supercharge landing pages with data insights | Zoho LandingPage
Every visitor to your landing page leaves behind valuable data, but are you leveraging it to improve conversions? Join our expert-led Landing Page Analytics webinar to learn how to track, analyze, and optimize landing page performance with Zoho LandingPage’s
Bulk Deletion of Zoho Projects Using Node.js and Zoho Projects API
Zoho Projects currently does not provide a built-in option to delete multiple projects in bulk from the UI. When working with testing environments or large numbers of temporary projects, deleting them one by one becomes time-consuming. To address this,
Show unsubscribed contacts ?
Hello, I would like to display the unsubscribed contacts. Unfortunately, I do not have this subscription type as described in the documentation (https://help.zoho.com/portal/en/kb/marketing-automation-2-0/user-guide/contacts/contact-management/articles/subscription-type-24-1-2024#Subscription_Type_field.)
Track Marketing Automation Campaigns in Zoho CRM
Hello, I've been searching but haven't found the exact answer to this question. I am looking to track Marketing Automation email campaigns and activities inside of Zoho CRM. Use Case: Action: Prospect Submits A Lead Form Outcomes: Prospect created in
Validation rule for Date field
The condition settings for a Date field are are absolutlly usless. Conditions can only be set for a specific date, which is logically ineffective in most cases. When setting a condition for a Date field, users usually need to compare the value relative
Easily map shift data fields during user imports
Greetings all, You can now include all your shift-related data for your users without any hassle during user imports. With this enhancement, the Map Import Fields to Zoho CRM option includes all shift-related fields: Current Shift, Next Shift, and Shift
Unable to send
Hello, I am unble to send any single email during the whole time due to the Zoho IP 136.143.188.16 being bloked by SpamCop.net Please help can somebody help me?
How do you arrange order in which the speakers are listed in a session once they have been selected?
Probably another simple thing I've missed but I can't find how to arrange the order in which the speakers are listed in a session once they have been selected. We usually want the speakers listed alphabetically by last name, but sometimes not. Once the
Product Updates in Zoho Workplace applications | February 2026
Hello Workplace Community, Let’s take a look at the new features and enhancements that went live across all Workplace applications for the month of February. Zoho Mail Organize Personal Notes with Collections You can now create collections under My Personal
Bank Feed shows redacted description numbers (xxxx)
Hi All, Is there any way to change this behaviour? Either Zoho or Yodlee is redacting important numbers from the transaction description, preventing us from being able to easily recognise and reconcile transactions. For example, a transaction with a description
Introducing note actions and dynamic visibility in Kiosk Studio
Hello all, We are introducing enhancements to Kiosk Studio that will improve the product scope and meet your custom needs more precisely. What's new? Add notes as Actions: You can add notes to CRM records as kiosk Actions, as well as insert merge fields
Regarding the Recipient Email change
I was not being able to change the Recipient email. Kindly resolve the problem
Request to Customize Module Bar Placement in New Zoho CRM UI
Hello Support and Zoho Community, I've been exploring the new UI of Zoho CRM "For Everyone" and have noticed a potential concern for my users. We are accustomed to having the module names displayed across the top, which made navigation more intuitive
kanban view for client portal
Are kanban views an option for client portals? Access to Kanban views in the client portals would solve some mobile-compliant issues I have with the UI. Kanban functions very nicely on mobile and would be a super asset for my clients and vendors as they
【Zoho CRM】サンドボックスのアップデート:メール送信トレイ機能の追加
ユーザーの皆さま、こんにちは。コミュニティチームの藤澤です。 CRMのサンドボックス(テスト環境)にメールの送信トレイ機能が追加されました。 本番環境でメール配信の前に、サンドボックスで送信される全てのメールを確認・検証できます。ワークフロー、承認プロセス、一括送信など、あらゆる送信パターンに対応しています。 「メールの送信トレイ」機能を使うと、顧客へ送信する前にメールの内容を事前確認できます。項目の欠落や書式の乱れなど、あらゆる問題をサンドボックス内でチェックできるため、本番環境でのトラブルを未然に防ぐことに役立ちます。
Force mandatory entry on one of two fields on Contacts
We are finding our users aren't always entering a phone number or email address of a contact. We would like to make these fields mandatory but realize they won't always have both pieces of information, but should at least have one. Is there a way to make
How can I prevent having recepients from being added as contacts in Zoho Desk?
How can I prevent having recepients from being automatically added as contacts in Zoho Desk? There's no option to disable this.
Agent Concern
would like to ask the difference between an agent and a light agent. can a light agent close a ticket. thank you.
Train Zoho Answer Bot Based on Customer
Hi all, Is it currently possible to mark Help Centre articles to a specific customer, and restrict the answer bot to only use relevant information if it is either marked as "General", or tagged for the specific customer in question? We currently have
Non-depreciating fixed asset
Hi! There are non-depreciable fixed assets (e.g. land). It would be very useful to be able to create a new type of fixed asset (within the fixed assets module) with a ‘No depreciation’ depreciation method. There is always the option of recording land
Errorcode 554
Hello, I am unble to send any single email during the whole time due to the Zoho IP 136.143.188.16 being blocked by SpamCop. Please can somebody help me?
Spamcop
Have been trying to email several of our clients and many of our emails keep getting bounced back with an error that states: ERROR CODE :550 - "JunkMail rejected - sender4-op-o16.zoho.com [136.143.188.16]:17694 is in an RBL: Blocked - see spamcop.net/bl.shtml?136.143.188.16"
Will Zoho Search work with Zoho Learn
Currently, Zoho Search only works with Zoho Wiki which will be phased out. Moving forward, will Zoho Search be enabled for Zoho Learn? Thanks.
How to use filters on all products page? Or even a category page?
Hello, I am trying to create some filters so users can use filters to find products they are looking for. So what i am trying is to create a filter according to price lets say. So if i define it this way i am expecting to see this filter option on category
Zoho Projects app update: Voice notes for Tasks and Bugs module
Hello everyone! In the latest version(v3.9.37) of the Zoho Projects Android app update, we have introduced voice notes for the Tasks and Bugs module. The voice notes can be added as an attachment or can be transcribed into text. Recording and attaching
Boas práticas de desenvolvimento em Deluge
O Deluge (Data Enriched Language for the Universal Grid Environment) é a linguagem de script utilizada em diversas aplicações do ecossistema Zoho, como Zoho Creator, Zoho CRM, Zoho Books e Zoho Flow. Ela foi projetada para permitir automações rápidas
How do I automate my package and shipment process
Hey, I have a very basic problem regarding automating my package and shipment. My business does not require me to have those modules and manage them currently and since I'm new to zoho I want to start with just the basics. I just need to automatically
How do I automate my package and shipment process
Hey, I have a very basic problem regarding automating my package and shipment. My business does not require me to have those modules and manage them currently and since I'm new to zoho I want to start with just the basics. I just need to automatically
Seeking a WhatsApp Business App (not API) Zoho CRM integration
We have a business need to integrated WhatsApp Business App (not API) into Zoho CRM to centrally manage communications between our Sales team and Leads & Contact. Is there a reputable integration available for this scenario of ours? Core features we would
Zoho Sign 2025–2026: What's new and what's next
Hello! Every year at Zoho Sign, we work hard to make document signing and agreement execution easy for all users. This year we sat down with our head of product, Mr. Subramanian Thayumanasamy, to discuss what we delivered in 2025 and our goals for 2026.
Intergrating multi location Square account with Zoho Books
Hi, I have one Square account but has multiple locations. I would like to integrate that account and show aggregated sales in zoho books. How can I do that? thanks.
Emails being blocked / spamcop
Hello, I am unablr to send any single email during the whole time due to the Zoho IP 136.143.188.16 being blocked by SpamCop.net Please help on this.
Zoho IP blocked by SpamCop 136.143.188.16
Hello, I am unble to send any single email during the whole time due to the Zoho IP 136.143.188.16 being blocjed by SpamCop.net Please help on this.
Is there a way to configure dark mode for Campaigns emails that go out to customers?
I've found a lot of information on how to configure dark mode for my (The user) personal Zoho workspace and email, but is there any way to edit dark mode settings on emails that we send out to customers via campaigns? We sent out a test email the other
Can I hide empty Contact fields from view?
Some contacts have a lot of empty fields, others are mostly filled. Is there a way I can hide/show empty fields without changing the actual Layout? I would like to de-clutter my view, and also be able to add information later as I am able. I would be
Next Page