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
My go to On Load Client Script - Fast, efficient, and works for ALL profiles; Hides everything except initial fields
This is my on Load client script that I use for Create pages. I use a modified version for Edit and Display pages which you can create yourself using the same basic structure that I will give you below. First up, the script. Below that will be an explanation
CRM x WorkDrive: File storage for new CRM signups is now powered by WorkDrive
Availability Editions: All DCs: All Release plan: Released for new signups in all DCs. It will be enabled for existing users in a phased manner in the upcoming months. Help documentation: Documents in Zoho CRM Manage folders in Documents tab Manage files
Zoho Books Finance Modules Not Accessible in Zoho CRM Mobile App
We have integrated Zoho CRM with Zoho Books using the Zoho Finance Suite integration. In the CRM web version, we can see the Finance modules (Estimates/Quotes, Invoices, Sales Orders, Items, Payments) and are able to create invoices and quotes directly
Custom Search using HTM+CSS Snippet
Suppose I wanted to create my own list view using HTML and CSS snippets inside a Page with a custom search input at the top of the list (not the Search snippet). Without Javascript, is there a way to retrieve a user's entry from that search input and
Cliq iOS can't see shared screen
Hello, I had this morning a video call with a colleague. She is using Cliq Desktop MacOS and wanted to share her screen with me. I'm on iPad. I noticed, while she shared her screen, I could only see her video, but not the shared screen... Does Cliq iOS is able to display shared screen, or is it somewhere else to be found ? Regards
Mass Update of Lookup Fields not possible
Hello List I've created a custom field for Leads and Contacts 'Current Campaign'. This is very Handy as I can filter leads and then related them to a campaign. Everything ready, but then I realized that mass update doesn't work for lookup fields... a
Zoho CRM Kiosk Upload Files
Hello all, We are trying out Kiosks at the moment to see where it can fit best in our business. We are still a bit off in the application but lets say we will sort this out. My question is the following - when I create a Kiosk I can add "File Upload"
Double opt-in notifications and customizable confirmation messages for your webforms
Dear CRM Community, We are excited to announce a major upgrade to our Webforms feature. You can now customize the confirmation message shown to your users who double opt-in from your webform and also customize your confirmation emails when they submit
Has Anyone successfully integrated Zoho and Sage Intact?
Hey all, We’re evaluating Zoho One + Sage Intacct and I’m trying to connect with anyone who has actually implemented the two together.Specifically, I’d love to know: -- Which functions you kept in Zoho vs. Intacct (e.g., Product Catalog, AR/AP, invoicing,
Introducing Image Upload Field
Hello everyone, In this post we will discuss about the benefits and usage of the Image upload field. The field is available for standard and custom modules. Usage: This field can be used to upload a gallery of images to a record and share the record with peers or customers. The record can be made accessible to users outside of Zoho CRM via Portals, where they can upload the necessary images. Preview, editing, and deleting images: The uploaded images can be directly edited and saved from the record
Trigger a Workflow Function if an Attachment (Related List) has been added
Hello, I have a Case Module with a related list which is Attachment. I want to trigger a workflow if I added an attachment. I've seen some topics about this in zoho community that was posted few months ago and based on the answers, there is no trigger
Free webinar alert on November 19 - Email driven strategies - Master personality based styles
Hello Zoho Community! Want to make email management easier, smarter, and more you? We’ve got just the session for you! Join our interactive, game-based webinar to discover how Zoho Mail adapts to your personality and work style. Learn practical hacks,
Associate emails from both primary and secondary contacts to deal
We need to associate emails from multiple contacts to a deal. Please advise how this can be achieved. At present, only emails from primary contacts can be associated. Thanks
Subform edits don't appear in parent record timeline?
Is it possible to have subform edits (like add row/delete row) appear in the Timeline for parent records? A user can edit a record, only edit the subform, and it doesn't appear in the timeline. Is there a workaround or way that we can show when a user
AI generated meeting notes associated to Account or Deal
As our organization works to improve efficiency we are looking for a solution to leverage AI to generate meeting notes and then add those notes to a CRM record such as an Account or Deal. I see Zoho has a Notebook AI offering that talks about the ability
due date on cheue
how to handle cheque in zoho books for customers and vendors including due date
Admin asked me for Backend Details when I wanted to verify my ZeptoMail Account
Please provide the backend details where you will be adding the SMTP/API information of ZeptoMail Who knows what this means?
Zoho CRM Portal Field Level Permission Issue
Hi Support Team, I am using the Zoho CRM Portal and configuring field-level editing permissions. However, we are unable to restrict portal users from editing certain fields. We have created a portal and provided View and Edit (Shared Only) access for
WebDAV / FTP / SFTP protocols for syncing
I believe the Zoho for Desktop app is built using a proprietary protocol. For the growing number of people using services such as odrive to sync multiple accounts from various providers (Google, Dropbox, Box, OneDrive, etc.) it would be really helpful if you implemented standard protocols such as WebDAV / FTP / SFTP so that alternative inc clients can be used.
Different MRP / Pricing for same product but different batches
We often face the following situations where MRP of a particular product changes on every purchase and hence we have to charge the customer accordingly. This can't be solved by Batch tracking as of now so far as I understand Zoho. How do you manage it as of now?
'Statement of Accounts does not exist' error received, when creating PO using api in Zoho Inventory
Here is request json -- JSONString = { "date": "2019-09-24", "purchaseorder_number": "PO-6-1", "delivery_date": null, "delivery_org_address_id": 36221200000056XXX, "vendor_id": 362212000000564XXX, "attention": "Testing", "line_items": [{ "unit": "Pieces", "account_id": 36221200000003XXX, "quantity": 1, "item_id": 362212000000049XXX, "tax_type": "", "tax_name": "", "name": "One HD", "purchase_rate": 85, "tax_percentage": 0, "item_total": 85.00, "tax_id": "", "warehouse_id": 362212000000564XXX }] }
Zoho Projects API 100 requests/2 min. Limit
Hi Requesting clarification on the API documentation. "You can invoke or call an API for 100 times in a span of two minutes. If you invoke more than 100 times, the particular API request will be locked for the next 30 minutes. " Does this limit apply
Unveiling Zoho Sites 2.0 - A new dimension in website building
Dear Zoho Sites Users, We are thrilled to announce the launch of Zoho Sites 2.0 today! This refresh represents a significant step forward in the capabilities of Zoho Sites and is crucial for creating a lasting and positive impact on our customers' businesses.
Integrate your Outlook/ Office 365 inbox with Zoho CRM via Graph API
Hello folks, In addition to the existing IMAP and POP options, you can now integrate your Outlook/Office 365 inbox with Zoho CRM via Graph API. Why did we add this option? Microsoft Graph API offers a single endpoint to access data from across Microsoft’s
PO Based Advance payment to Vendor
We recommend to introduce a provision at PO to make advance payment to vendors and auto apply that advance paid later at the time of Vendor Bill submission for that PO. This will help us track PO-wise Total Payments.
Zoho Projects - Attachments added to Task and Bug emails are not saved
Hi Projects team, I have been experimenting with emails into projects to create tasks and bugs. I have noticed that attachments added to the emails are not saved to the task or bug. Is this normal behaviour? Thanks, Ashley
Zoho Inventory's latest shipping integration updates at a glance.
Hello Users, We would like to share some important news about our latest improvements in the Shipping integration capabilities of Zoho Inventory that we achieved in 2024 with some of our major integration partners in key editions across APAC, North America,
How we cut CRM updates from ~20 minutes down to 2, our real workflow
Updating the Zoho CRM after every call used to be one of the biggest time sucks for our team. By the time you write your notes, clean them up, fill in the fields, and log everything properly… you’ve easily lost 15–20 minutes per call. We started experimenting
Identify long running sync jobs/tables
My sync process causes strain on my production database and I'd love some tools/alerts to help me identify which tables are taking the longest. The current screen only shows 3 tables at a time and truncates the last fetch time so that it is very cumbersome
Sorting a list of record acquired from the zoho.crm.searchRecords function.
This is something for which I'm trying to figure out a straightforward way to do. The searchRecords does a great job fetching me the records that I want. However, in some cases, where it returns multiple records, I want it to sort the returned list by date of creation of that record, so that when I do records.get(0), I get the most recent record. As an example, here's my sample pseudo code: records = zoho.crm.searchRecords("Clients", "Office_Number:equals:123456"); Now the "records" list above contains
Zoho Inventory Custom Field Update
Hello All, In this post I am describing how can we Update the Custom Field Value in Zoho Inventory. // Get Org ID orgid = organization.get("organization_id"); // Field Value resvp = ifnull(item.get("purchase_rate"),null); // Record ID iid = item.get("item_id");
Deprecation of the Zoho OAuth connector
Hello everyone, At Zoho, we continuously evaluate our integrations to ensure they meet the highest standards of security, reliability, and compliance. As part of these ongoing efforts, we've made the decision to deprecate the Zoho OAuth default connector
Alphabetically
How can i arrange alphabetically - (Manage Manufacturer) Field in Item Master
Spotlight series #6: The Show app for Android TV has a new look!
Hello everyone! We are delighted to introduce our revamped and redesigned Show app for Android TV. Smart TVs are exploding in popularity. Android TV alone has over 110 million active monthly devices. Zoho Show, as part of a constant effort to improve
Can i set a default value for country and state in address field in zoho creator?
Can i set a default value for country and state in address field in zoho creator?
Using gift vouchers
We would like to be able to offer a limited number of gift vouchers, of varying values, to our customers, and are looking for the best way to do this. We have looked at Coupons and Gift Certificates, but neither seem to fit the bill perfectly. Coupons:
Convert HTML to PDF & Send as Email Attachments in Zoho Creator (Deluge)
This approach is useful for sending welcome letters, instructions, or promotional offers after order creation. // 1. Define the variables using the submitted input
customerName = input.Customer_Name1;
orderID = input.ID;
customerEmail = input.Email_Address;
//
Redirect after submission is not working after a few submission
I have setup redirect url correctly and everything works as expected. However, it seems that there's a limit to the number of submissions before the redirect stops working. After the "limit" is reached, the page redirects to a seemingly zoho hosted page,
Enhancement Request for Multi-Asset Work Order Feature
Hello Latha, Thank you for your continued support. The multi-asset Work Order feature is extremely helpful. I did some testing based on our requirements, and during the process, I noticed a few areas where we need your team’s support to improve the feature
Marketing Tip #8: Run limited-time offers
Exclusive offers that don't last long make shoppers purchase right away instead of waiting. Run a flash sale or limited-time discount to convert interest into sales. Try this today: Set up a "Buy X Get Y" coupon in Zoho Commerce valid for a limited time
Next Page