Hello,
From speaking about the traditional ways of billing in the previous post, we are moving into the deep sea of billing. We are now in a zone to break out the most complex yet, I would call it the fairest way of billing, the Prorated Billing.
Prorated Billing ensures that customers pay only for the exact portion of a service they consume. Whether they join mid-cycle, switch plans, or cancel early, proration guarantees transparency and fairness.
What is Prorated Billing?
In short, prorated billing involves splitting charges according to the length of service used within a billing cycle. Instead of charging the customer for the entire month regardless of when they sign up or amend the subscription, businesses calculate charges accurately based on time or usage. This directly enhances customer trust and satisfaction and eliminates disputes over charges.
In this post, we will understand how proration works in different industries by examining the major industry types that need/must have proration in their billing strategy.
Scenario: SaaS
A SaaS customer starts the month on the Basic plan, which costs $30/month. Midway through the billing cycle, on the 15th, they realise they need additional features and decide to upgrade to the Pro plan, which costs $60/month.
Without proration, businesses might charge the full $60 or keep them on Basic until the next cycle, which is unfair. With proration, this can be solved by splitting the bill into the part that will be used and the period that has elapsed.
In this scenario, part of the month is charged at the Basic plan cost, and the remaining is charged at the Pro plan cost.
Old Plan | New Plan |
Basic Plan: $30 | Pro Plan: $60 |
Charges per day: $30/30=$1 | Charges per day: $60/30=$2 |
No.of days remaining: 15 | No.of days to be charged: 15 |
Credits Remaining: $1x15=$15 | Amount to be charged: $2x15=$30 |
Net Payable: Amount to be charged- Credits Remaining: $30-$15= $15 |
The Final Invoice Amount must be charged on the 15th, and the customer's subscription will be moved to the Pro Plan.
Scenario: Telecom
Imagine a customer activating a mobile plan costing $60 on the 20th of the month. The company has a standard billing cycle of 30 days. Some businesses might activate the plan for the full plan amount and allow it to be charged again on the set billing cycle. However, that's not the ideal approach.
With Proration, the days before the activation date are excluded, and charges are made only for the exact number of days used.
Plan Amount: $60
Charge per day: $60/30= $2
No.of days to be billed: 10
Final Payable Amount: $20
The Final Payable Amount will be charged on the plan activation date, and the next charge will occur after 10 days, aligning with the billing cycle.
Scenario: Streaming Service
A streaming subscriber who is active in the $120/month Premium plan decides to switch to the $60/month Standard plan after 10 days of usage in the current billing cycle.
Without proration, the customer might feel overcharged for unused Premium days. So, to balance the charges between the higher-priced plan and the lower one, credits will be added to the customer account, which can either be refunded or adjusted for the next invoice cycle.
Old Plan | New Plan |
Premium Plan: $120 | Standard Plan Cost: $60 |
Charges per day: $120/30= $4 | Charges per day: $60/30= $2 |
No.of days used: 10 | No.of days remaining: 20 |
Charges for used days: $4x10= $40 | Amount to be charged: $2x20=$40 |
Remaining Credits: $80 | |
Net Credit: Remaining Credits- Amount to be charged for 20 days: $80-$40= $40 |
The Net Credit will stay with the customer account and will be applied to the next invoice, or it can be refunded.
Proration Across Industries
While SaaS, Telecom and Streaming services are the most common businesses where prorated billing happens quite often, other industries need this,
Logistics Companies operate with standard shipment charges. They might need proration when the volume of the consignment changes in the middle of the cycle.
Internet Service Providers use this when there is a change in plan within the billing cycle.
Fintech and Payment Apps prorate service fees when accounts are opened or closed in the middle of the billing cycle.
Zoho Billing has the finesse to handle these contract amendments effortlessly across industry types. Whether it's a mid-cycle upgrade, a partial cancellation, or a new customer subscribing during the middle of the billing cycle, Zoho Billing ensures invoices are adjusted seamlessly. Proration can be enabled in Zoho Billing with a simple toggle, and the application automatically takes care of all the math in the backend.
Proration Billing is not a burden but a gift wrapped in a hard cover.
Offering fair charges based on usage during billing increases confidence and provides businesses with a reputation for being fair and transparent. But what about usage that happens before it hits the bill? Even with proration in place, there are scenarios where usage happens before it's billed. For instance, a customer may request an add-on, consume additional resources, or make a one-time transaction in the middle of the billing period. These often fall into the category of unbilled charges.

In the next post, we will explore how businesses manage these unbilled charges and why keeping them in check is critical for accurate billing.
Stay Tuned!
Recent Topics
Zoho Books - Sales Person Information
Hi Team, On Invoices, Quotes, etc... I can include the Sales Person, but it only shows their name and not their email or phone number. It would be great to have place on invoice templates where we can manage what sales person information should be shows
Offline working in Zoho Creator portal
Zoho's help says that offline working is only available in the Creator mobile app and not in the portal app. But I can see offline options in the portal app too and it seems to work when I test it. My portal users are often in areas where there is poor
Fetch Records using Dynamic Criteria
Hi, I have a form that builds a filter based on user input. I need to fetch the records based on dynamic criteria. How would I accomplish this as there is no eval function? For example: desiredRecord = Form1[dynamicCriteria];
Url filter Report date (pivot chart)
Hello. Is it possible to filter the data in pivot char using parameters in the url? I'm trying but I should not doing very well. Something like: https://creator.zoho.com/.../....../#Report:MyPivotChartReport?MyDate=01-Jan-2012;31-Jun-2012;MyDate_op=58 Saludos
Sending gmail to a particular person fails because the address gets changed to "gmaill", with a second "l" typo somewhere
I send to bob@gmail.com (example) and get an error sending to bob@gmaill.com, only for this one person. Note the extra "l" in the email the system tried to send to, which was not in the address I entered. Can't find a typo in the contact or anywhere else
Emoji Support in Bigin CRM
We request the implementation of emoji support across Bigin CRM. This feature should allow users to seamlessly use emojis in text fields, headlines, and deals. It would enhance communication, improve the visual appeal of records, and bring more personalization
Bigin Booking Pages enhancements
I would like to ask for several enhancements for the brand new (and promising) Booking feature. 1. Add "Contact/Mobile" Field to Booking form We use Mobile as key (id), but unfortunately it is missing from the Booking form, only Home Phone is available.
Amount in words in Indian format
Hi, I had coded the following code to convert amount in words. But in the code in the format of US like million. But i need in Lakh and Crore. So pls suggest ideas r post corrected code string Num2Words(int val) { val_s = input.val.toString(); th = {"", "thousand", "million", "billion", "trillion"}; // uncomment this line for English Number System // th = {"","thousand","million", "milliard","billion"}; dg = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight",
What are people using to send Service based emails?
Zoho Campaigns is for marketing. Users can unsubscribe from these emails. Service based emails need to be delivered and can without the worry of Can-spam act. What are people using to send service based emails? My mailing list is derived from a database
Standalone LMS tool
Will Zoho release a standalone LMS (Learning management System) than can be used by external parties (guest)?
Announcing Kiosk 1.1 - Customize screen titles, configure new fields & actions, use values from your Kiosk to update fields, and more.
Hello all We are back again with more enhancements to Kiosk. So what's new? Enhancements made to the Components Add titles for your Kiosk screens and adjust its width to suit your viewing preferences. Three new fields can be added to your screen: Percentage,
An Overview of Dario Schiraldi Deutsche Bank Executive
Hello Community, Dario Schiraldi is an executive at Deutsche Bank, focused on advancing the firm’s financial services and crafting its global strategic vision. With 20 years of expertise in leadership roles, he has spearheaded successful market acquisitions
Emailing a document to WorkDrive
Does WorkDrive include the ability to upload a document by sending an attachment to an email address? (Books and Expenses include this functionality) If it doesn't is it under consideration? on the Road Map?
Allow Changing Appointment Status from "Completed" to "No Show" or Other Valid States
Hi Zoho Bookings Team, We hope you're doing well. We would like to submit a feature request regarding appointment status management in Zoho Bookings. 🎯 Use Case Sometimes, an appointment is mistakenly marked as Completed, but later we realize that the
Ability to modify what displays in calendar invite?
I am a long time calendly user and want to make the switch to bookings. I understand that there is not currently a meets/hangouts integration, is one on the roadmap? Is there anyway I can modify the calendar invite to include the meet link? I can add it to the emails no problem, but I would also like it to display on their calendar. Is there some work around I can do to get it on the calendar? Also am I able to modify the calendar event title?
Zoho One and Tally Integration
Has Anyone in this forum done any implementation with Zoho CRM and Tally accounting software. If so who have you used and how easy was it?
Microsoft PowerPoint files Extremely slow to save
I and others on my team have noticed that Microsoft PowerPoint documents are extremely slow to save when using WorkDrive. It always takes over 30 seconds to save a file. Word and Excel files seem to save in a typical length of time, but PowerPoint is
How can users unblock their blocked Zoho Mail accounts?
After the reason for the account block (storage exceeded, spam detection etc.) has been rectified, the user can unblock the account from the UnBlock Me page. Account support@edu2review.com Edu2Review is an education review platform, we rate the quality
Adding additional fields for batch information
Hello, I am looking at adding additional information into our inventory module. we would like to be able to see up to 8 attributes that will be individual & different for each batch (i.e. batch specific information) but currently I seem to only be able
Dynamic Pickup List Values using Deluge and Client Script
I would like to dynamically show Pickup List Values For example we need to fetch some data from an on premise application and display it so they can choose and pick This can be done in Creator but I didn't find anything for CRM
Validation Rule for Controlled Stage Movement in Deals Module (Deluge Script)
For keeping a control over module stage or status, you can use the below deluge script. The below deluge script defines validation control over deals module stages: // Function to validate allowed stage transitions in the Deals module map validation_rule.LeadStatustValidation1(String
Pick List Issues
I have created a pick list that looks at a table in a sheet, it selects the column I want fine. Various issues have come along. The option to sort the pick list is simplistic, only allows an ascending alphabetical sort. Bad luck if you want it descending.
Four types of task dependencies
"Nothing is particularly hard if you divide it into small jobs." - Henry Ford Projects, small or large, are driven by simple work units called tasks. Monitoring standalone tasks might look simple but as the workflow becomes elaborate, tasks may start relying on one another. In project management, this relationship between tasks is termed as "Task Dependencies". Dependency between tasks arise
1099 tracking
Do zoho books offer feature of tracking for 1099's for contractors, etc? Quick books offers this feature and wondered when/if Zoho books will do same
VAT-type Taxes in US Edition?
I'm located in the US, and I use the Zoho One US edition of Books. We are in the process of registering with Canadian authorities for their GST / HST, which is a VAT-type of scheme. It is not immediately obvious to me how one would deal with input tax
2 users editing the same record - loose changes
Hello, I'm very new to Zoho so apology if this has been addressed somewhere i can't find. I have noticed the following: If we have 2 users put an inventory item in edit mode at the same time: say user1 click on edit and user2 while user1 is still in edit,
Schedule sms to be sent later
When will you make available an option to send sms's at a later time??? You finaly have this option available on emails, so it will be very useful to have it also with sms. Our sms provider, has already this available but we cannot use it because you
Ecommerce integration with prestashop
Development of campaigns integration with prestahop. When???
How to create an article containing images and rich text via the api?
Hi, I'm trying to migrate our kb articles from our previous helpdesk service, and import them to ZohoDesk. Is there any way to create an article that contains images? Is it possible to add formatting to articles created via the API? Thanks, Adam.
Number of statement execution limit exceeded on deluge scheduled function
I'm working on a send email functionality in creator that sends out crew work orders at the end of the day each day for the next day. I'm running into the issue that zoho is unable to handle the number of statements that I am doing to be able to successfully
Color of Text Box Changes
Sometimes I find the color of text boxes changed to a different color. This seems to happen when I reopen the same slide deck later. In the image that I am attaching, you see that the colors of the whole "virus," the "irology" part of "virology," and
Zoho SignForm In Progress But Cannot Be Completed
If a person starts signing a document (via SignForm), but closes the window before submitting, Zoho marks the document "in progress", but how do they finish signing it?
How to show Assemblies AND component items in a report
Hi Is there any way in Analytics to create a report that shows the Composite Item AND the Component Items with mapped quantity? It seems that the component item is not exposed in any table that I can find. Also, the same question but for Stock on Hand.....this
Mandatory Messages for Specific Members in Zoho Cliq Channels
Hello Zoho Cliq Team, We hope you're doing well. We would like to request a feature enhancement to Zoho Cliq that would allow marking certain messages in a channel as mandatory for specific members — with built-in tracking and reminders. 🎯 Use Case:
Admin Access to Message Read Statistics in Zoho Cliq
Hello Zoho Cliq Team, We hope you're doing well. We would like to request a feature enhancement that would allow admins or channel owners to view read/unread statistics for messages, even if they were not the original sender. 🎯 Use Case: Currently, in
Online Member Visibility in Channels (Similar to WhatsApp Group Presence)
Hello Zoho Cliq Team, We hope you're doing well. We’d like to request an enhancement to Zoho Cliq’s channel experience by introducing online presence indicators for channel members — similar to how WhatsApp shows how many people in a group are currently
Show ticket field in Zoho Desk only if that same field is not empty (API‑created records)
Zoho Team , We have a ticket workflow where every ticket is created via API based on dynamic logic from an external form. That form has complex logic and already decides what’s relevant to ask, and the API only populates fields in Zoho Desk based on that
Multiple Products on Ticket
Good morning. We will classify all tickets based on the product. Users sometimes send different requests on the same ticket, so we are facing some challenges. Is there a way to add more than one product to the ticket, or is there a way to tie the product
Não recebo Email de confirmação e validação de cadastro do PagSeguro
Olá, utilizei uma das minhas contas de email Zoho para criar um cadastro no PagSeguro, contigo o email com o link de confirmação da conta não chega no meu email Zoho (nem.ma caixa de spam, nem na lixeira, e nem em outras pastas). Outros emails do PagSeguro
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
Next Page