Billing Management: #3 Billing Unbilled Charges Periodically

Billing Management: #3 Billing Unbilled Charges Periodically


We had a smooth sail into Prorated Billing, a practice that ensures fairness when customers join, upgrade, or downgrade a service at any point during the billing cycle. But what happens when a customer requests additional limits or features during the cycle? Sending out a new invoice for each change would disrupt the billing cycle and create unnecessary confusion.

This is where unbilled charges become a deal breaker. Unbilled charges record the value of service consumed or upgrades applied during the cycle without immediately invoicing the customer. Instead, these charges are a running balance that will be added to the customer's next scheduled invoice. This allows businesses to keep a clean and consistent billing cycle while ensuring all customer amendments are adequately captured.

As many industries rely on recurring or consumption-based billing models, unbilled charges are a vital mechanism for tracking ongoing usage. Let's explore how they play out across different sectors.

Telecom  
In telecommunication, services are consumed continuously, but billing happens over time. Most postpaid service bills follow this method of billing. For instance, a customer with a plan that includes 10 GB of data may exceed their allowance. If they use an additional 2GB at $5 per GB, that customer generates $10 in unbilled charges. These charges accumulate invisibly during the cycle and appear on the next invoice, alongside their monthly subscription. Similarly, charges like roaming, pay-per-view and international calls are all tracked as unbilled until the cycle closes.

Utilities 
Electricity, water, and gas are in a similar situation due to the lag between consumption and billing. These utilities are charged based on their consumption rate and the slab they belong to. Consider a household with an electricity rate of $0.12 per kWh. By mid-month, the household has consumed 250kWh, equating to $30 in unbilled charges, even though the official invoice won't arrive until the end of the month. The service provider records the consumption internally as unbilled revenue, ensuring no usage goes unaccounted for.

SaaS 
Unbilled charges often arise in Saas for usage-based or hybrid pricing models. The usage is tracked and added as unbilled charges periodically. A customer on a $100 per month base plan decides to upgrade to the $200 plan halfway through the billing cycle. The system calculates a prorated charge of $100 for the remainder of the cycle. Instead of sending out a separate invoice right away, the service provider decides to record this as unbilled. It remains pending until the end of the billing cycle, when it will be added to the customer's regular monthly invoices. By doing this, the company ensures the billing cycle remains intact, avoids confusing customers with multiple mid-cycle invoices, and protects its revenue.

Transportation & Logistics 
Transport companies, especially those serving large shipments, both in terms of quantity and quality, often consolidate usage into a single invoice. Imagine a company making 50 travel bookings monthly, each costing $20. The total $1000 in unbilled charges accumulates as the trips are completed. Instead of invoicing after each ride, the travel agency waits until the billing period ends, offering convenience for the customers and administrative efficiency for the company.

Advertising Platform 
Marketing agencies and Digital ads rely heavily on unbilled charges because campaigns run continuously. Suppose an advertiser runs a pay-per-click campaign at $1 per click, generating 500 clicks in a week, which equates to $500. These charges accrue daily but won't be billed until the advertiser hits a billing threshold, say $2000, or the monthly billing date arrives. This approach ensures uninterrupted campaign performance while keeping billing predictable.

Stretch Across with Zoho 
With the volume of transactions each of these businesses handles, manually tracking unbilled charges will be challenging. This is where a modern billing system like Zoho Billing adds value. Zoho Billing automatically computes unbilled charges based on the data provided, whether it's extra data, additional API calls or incremental ad spend. Businesses can decide whether to,
  • Invoice immediately by charging customers for accumulated unbilled charges at any point during the billing cycle.
  • Consolidate automatically by letting Zoho Billing roll all unbilled charges into the customer's next billing date.
 
For instance, if a SaaS customer exceeds their plan by generating $300 in API consumption, the service provider can either issue a one-off invoice on any given day or allow Zoho Billing to add the charge seamlessly to the upcoming monthly bill. This flexibility reduces revenue leakage, improves cash flow, and enhances transparency to the customers.

By automating unbilled charge invoicing, Zoho Billing ensures that no consumption unit is lost. At the same time, businesses retain the freedom to charge customers in real time or on their preferred billing schedule.

Up Next
With prorated billing ensuring fairness and unbilled charges providing completeness, the next billing in line is Advance Billing. Unlike unbilled charges, where usage is billed after the fact, advance billing collects payment upfront before services are rendered, ensuring cash flow and reduced payment risk.

This model has advantages and challenges. Our upcoming post will examine how advanced billing works and the businesses that can adopt it.
 
 

    • 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

      • 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
      • 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.
      • '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
      • 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,
      • 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
      • Add Option to Mass Dispatch by User

        Hello! We are using the dispatch console to dispatch service appointments to our service ressources. Right now, the process is our dispatcher verifies each ressource's route for the day and dispatches it after validation. Sadly, there doesn't seem to
      • Free webinar: Zoho Sign unwrapped – 2025 in review

        Hey there! 2025 is coming to an end, and this year has been all about AI. Join our exclusive year-end webinar, where we'll walk you through the features that went live in 2025, provide answers to your questions, and give you a sneak peek on what to expect
      • Zoho Projects - Email notification relabelling of modules not present on default templates

        Hi Projects Team, I noticed that in the default email template notification, the word "bug" was not renamed to the lable I am using in my system. As many users may used the Bugs modules for various purposes including Changes, Revisions, Issues, etc...
      • Publish to LinkedIn via API

        Hi, Is it possible to publish a job opening to LinkedIn (paid job slots) if creating a job opening via api / deluge function? Or is the user required to manually publish via the job boards process? Many Thanks Adrian
      • Is there a way to automatically add Secondary Contacts (CCs) when creating a new ticket for specific customers?

        Some of our customers want multiple contacts to receive all notifications from our support team. Is there a way to automatically add secondary contacts to a ticket when our support team opens a new ticket and associates it with an account? This would
      • Include the "Added Email ID" to the Filters of a Report

        Hi, With a Report and lots of entries, a normal thing is to filter entries by the submitter, but that is not included in the Auto Filter of Reports and you can't add a custom filter to a Report without specifying the actual value. I would like to be able
      • Loops in Deluge

        Hi, Can someone tell me how I do a simple loop in deluge? For example, if i have a variable "X" containing a number of loops to perform, i would like to perform an action X amount of times. X = 10; do while (Y < X){       // ... do something } to further explain, the equivalent in PHP of what i am trying to acheive would be: $X = 20; for($Y = 1; $Y < $X; $Y++ ){       // ... do something } Thanks
      • I am facing a problem with an if-else condition

        If I use if, else if, and else conditions in Deluge with the same variable name, sometimes the variable causes an error because the same variable name is present in every block
      • Zoho Projects - Reply by email to @ mentions posted on the Feed.

        When mentioning someone on the Feed (Status), it would be great if that mentioned person could reply to the email notification to update the Feed thread.
      • Zoho Analytics Bulk Api Import json Data

        HI, I’m trying to bulk-update rows in Zoho Analytics, and below are the request and response details. I’d like to understand the required parameters for constructing a bulk API request to import or update data in a table using Deluge. Any guidance on
      • Record Overseas Transactions Along with CC charges

        Hi All, We receive payments via stripe in multiple currencies and stripe takes around 2.5% fees. The amount is settled in INR into our local bank. What should be the currency of the income account used for Stripe payments? Here is a sample flow that we
      • Product Updates in Zoho Workplace applications | October 2025

        Hello Workplace Community, Let’s take a look at the new features and enhancements that went live across all Workplace applications this October. Zoho Mail Create Signature from Compose window You can now effortlessly create a Signature using the Create
      • Subform data to Sheets

        I have been trying to setup a Zoho Flow automation to bring any Subform input to a Zoho Sheets but it seems impossible to post the subform entries to a Zoho Sheet. Is there any way to do it via Zoho Sheet API? https://www.zoho.com/sheet/help/api/v2/#CONTENT-Insert-row-with-JSON-data
      • E-Invoicing in Belgium with Zoho Books

        Starting January 1, 2026, Belgium is introducing mandatory electronic invoices (e-invoicing) for all B2B transactions between VAT-registered businesses. This means that invoices and credits notes must be exchanged in a prescribed digital format. How E-Invoicing
      • Edit Contact Roles in the Potentials Mod

        New to ZOHO so I need some help. I work the same people on different projects concurrency. Their contact info remains the same but their role changes from project to project. In the Potential Mod you can pick contacts and assign a Role to them. I know
      • Is there a way to disable the Activity Reminders Pop-Up Window every time I log in?

        Just wondering if there is a setting to disable the window from opening every time I open my CRM? Thanks Chris
      • Auto-sync field of lookup value

        This feature has been requested many times in the discussion Field of Lookup Announcement and this post aims to track it separately. At the moment the value of a 'field of lookup' is a snapshot but once the parent lookup field is updated the values diverge.
      • Hide fields only for creation

        Hello, I'd like to hide some fields only during the creation of a contact in Zoho CRM. In fact I have some fields that are automatically calculated thanks to an automation, so when my users create a contact I don't want them to fill those fields. I know
      • Next Page