Pricing Strategies: #3 Services never Stop with just Plans

Pricing Strategies: #3 Services never Stop with just Plans

"Hey, while you're here, could you also take a look at the vegetable patch?"


Aaron hears that line almost every week.

He runs a small gardening service, the kind where customers subscribe to a simple monthly plan that includes basic maintenance, mowing, watering, trimming and fertilising the greenery around the house. It was a clean plan, easy to quote and deliver. But every visit came with just one more request, which Aaron can hardly deny.

"Can you add some new soil to the corner beds?"

"Do you have time to prune the roses today?"

"Can you install a drip line this month?"

"On, and do you think we could add two more bags of compost next time?"

Aaron would laugh and say, "Sure, but that's not a part of the routine."

Then he'd rather do the work for free, feeling it's a small thing to charge or charge manually, which customers sometimes hesitate to pay or write a note to invoice later, which he misses most of the time.

By the end of the month, his plan-based business no longer looked like a plan. It seems like a collection of unpredictable, scattered requests that his billing system wasn't built to handle.

One day, a customer said, "I wish I could just add these extra things like a topping on a pizza. My plan stays the same, but I choose the extras I want."

That made Aaron realise something: People don't want complicated plans, but they do want flexibility in purchase. They want a solid base plan and the freedom to add the extras that fit their needs.

This is precisely why Zoho Billing offers Add-ons, to keep plans clean while allowing customers to personalise their subscription effortlessly.

Add-ons in Zoho Billing 

Add-ons extend a subscription beyond the base offering. They allow customers to purchase additional value without changing their main plan, while letting businesses scale offerings cleanly. Zoho Billing offers a comprehensive, structured add-on framework that covers different types of add-ons to address real-world subscription challenges.


Standalone Add-ons 

Standalone addons are independent enhancements that customers can attach to their existing plan whenever they prefer. They are meant to offer extra service or features that are not included in the base plan but are commonly requested.


Suitable Businesses: Gardening services, home cleaning services, fitness studios, consulting firms, repair/maintenance services.
IdeaStrategic Advantage: Standalone addons let businesses say "yes" to customer requests immediately without redesigning plans. They boost revenue, reduce complexity, and make offerings more modular.  

Addon Groups 

Addon Groups categorise addons into structured sections. This ensures customers see relevant options, not a long list of unrelated extras. This allows businesses to organise add-ons into meaningful groups, such as garden enhancement, soil services, and irrigation upgrades.


Suitable Businesses: Software platforms with feature bundles, wellness centres offering different service categories, and agencies with add-on service families.
Idea
Strategic Advantage: 
 Grouped addons improve customer experience and help businesses present upsells cleanly, increase adoption without overwhelming the subscribers.  

Recurring Addons 

Recurring addons behave like mini-subscriptions attached to the main plan. They repeat every billing cycle unless removed. These are long-term additions, such as premium service layers, extra recurring hours, monthly replenishments, or ongoing feature unlocks.


Suitable Business: IT service providers, digital content platforms, property maintenance companies, and management services businesses.
IdeaStrategic Advantage: Recurring addons provide predictable recurring revenue and increase customer retention by integrating deeper value into each billing cycle.  

One-time Addons 

These are single-use enhancements that do not renew. They are mostly occasional or emergency requests such as festival cleanup, a one-time plan installation, a deep garden care session or a special consultation.


Suitable Business: Event-based service providers, emergency repair teams, creative agencies, and landscaping services offering seasonal cleanup. 
Idea
Strategic Advantage: One-time add-ons let you capture revenue for specific needs while keeping plans simple. Customers appreciate paying just for what they use.

Quantity-based Addon 

Quantity-based addons allow customers to buy multiple units of a service enhancement. It depends on scaling by volume, such as purchasing more working hours, extra visits, additional fertiliser bags or extra user seats.


Suitable Business: Co-working space selling extra desks, SaaS apps offering additional seats, consulting firms selling extra billable hours, and gardening service selling extra material units.

IdeaStrategic Advantage: This model supports incremental growth, reduces customer friction and increases recurring revenue without modifying the customer's main subscription.  

Usage Addons 

Usage-based addons charge based on the quantity consumed, with tracking after the fact. This addon is measured purely on usage, such as irrigation water consumption, number of tasks completed, hours logged or API calls made.


Suitable Business: Utilities, IoT device monitoring service, API driven SaaS platform, retail services, telecom and metered resource providers.

IdeaStrategic Advantage: Usage based addon build trust and attract customers who prefer flexible at the same time fair way of billing. They also unlock revenue that grows organically with usage.  

 What Addon Do for the Business 

Add-ons transform how a business delivers value. Instead of forcing every customer into a rigid plan structure, they allow flexible, optional and scalable extensions that match real-world needs. This means your plan remains clean and predictable, while your revenue model becomes dynamic and adaptive.

Addons in Zoho Billing not only offer different types, but also provide flexible rules for when and how addons should be attached to a subscription. You can configure,


Association Type:
 

Association type controls whether the addon is optional, recommended or mandatory.

  1. Optional: The addon can be added or removed at any time when creating or editing a subscription.

  2. Recommended: The addons appear as a suggested enhancement on the hosted page.

  3. Mandatory: Addon is automatically included with the plan and cannot be removed.


Applicable Event:
 

The applicable event defines the time range during which the addon should be considered.

  1. Subscription activation: Triggered when a subscription goes live.

  2. Plan Change: Triggered whenever a subscription is created or updated with a selected plan.

  3. Trial Activation: Triggered when the trial starts. 


Event Frequency
 

Event frequency determines whether the addon applies once or every time the event occurs.

  1. Whenever Event Occurs: The addon is applied every time the selected event happens.

  2. First-Time Event Occurs: The addon applies only to the first occurrence of the chosen event.


With all these addons, make your subscription model future-ready, flexible, profitable and responsive to how customers actually use your service.

Customers subscribe to your plan for the essentials. But they stay and spend more when they can tailor the service to their evolving needs.

Plans create the foundation, and addons create the experience.

Together, they build a perfect subscription model that scales merrily. 


Notes
Up Next: Counting on Discounts
    • 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

      • 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
      • '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
      • 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?
      • 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
      • 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
      • 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
      • Rich-text fields in Zoho CRM

        Hello everyone, We're thrilled to announce an important enhancement that will significantly enhance the readability and formatting capabilities of your information: rich text options for multi-line fields. With this update, you can now enjoy a more versatile
      • Font Size 11 - Zoho CRM Email Templates

        Our company communicates with our vendors exclusively using Calibri Font Size 11, as this is the standard formatting for professional emails. Since the CRM only allows for the selection of font sizes 10 & 12, we have been unable to utilize the CRM email
      • Error 400 Booking

        Added a custom domain to Booking. Am Getting a SSL Error that has some other domain on the SSL and giving a 400 error. Followed instructions and it stated it verified our domain.. However it is not working. Please Help!
      • Error AS101 when adding new email alias

        Hi, I am trying to add apple@(mydomain).com The error AS101 is shown while I try to add the alias.
      • New feature request: Allow copy of email message to another folder

        Hello Zoho team, This is a suggested new feature to allow copy an email message to either another folder or the same folder. Within the same Zoho account. This is not a support request about "label". This is a suggested new feature to allow copies of
      • Link Purchase Order to Deal

        Zoho Books directly syncs with contacts, vendors and products in Zoho CRM including field mapping. Is there any way to associate vendor purchase orders with deals, so that we can calculate our profit margin for each deal with connected sales invoices
      • Zoho Projects - Email Notifications for Feed Updates

        Hi Projects Team, I'm working with a client who wants a simple way to communicate with their customers on projects. Getting the customer to add comments to Tasks or Bug records is not ideal, as we need a way which is easy with minimal training, and has
      • Zoho Analytics Export API

        Hi Team, I’m working on some integration tasks and wanted to confirm if it’s possible to retrieve a Zoho Analytics table as JSON data using a Deluge script. I’ve already stored my custom data from multiple sources and combined it into a single source.
      • Next Page