Tip #1 - 30 Days Money Back Guarantee

Tip #1 - 30 Days Money Back Guarantee

Hello everyone,

As discussed previously in this thread, we are going to come up with a custom function every week to address specific business scenarios. To start off, this week we will be looking into one of the most famous requirements - 30 Days Money Back Guarantee.

Business Scenario:

Most business organizations have cancellation policies and the most common one is the money back guarantee. It is a simple guarantee that if a customer is not satisfied with a product and cancels the subscription within the specified period, he/she will be provided with a refund.

Let's assume that we have to handle the above scenario in Zoho Subscriptions manually. We have to go to that particular subscription, and then check the activation date and the cancellation date to make sure the cancellation is done within 30 days. Then, we can initiate a refund.

This might seem pretty easy if you have to handle refunds for a couple of customers every now and then. However, as the business grows exponentially and quite a handful of customers starts requesting for refunds more frequently, the manual approach will cause a bottleneck. Also, refunding all these payments manually may cause a significant amount of time which can be put into developing your business.

Now, wouldn't it be easier if this entire process could be automated and you could stop worrying about it? This is where the custom functions save your day. With a one-time effort of setting up a custom function, you can completely automate the above scenario.

Logic Explanation:

You can refer the code through this GitHub link. The code is written in Deluge script, which is easily understandable to non-programmers.

In this code, whenever a subscription is cancelled, we initially check if the cancellation date is within 30days from the activation date. If the subscription is cancelled within 30 days, we then retrieve the details of the last sent Invoice and check for the status of the invoice.

1) If the invoice is already fully paid, we check for the mode of payment. If the invoice is paid online, a credit note is raised for the paid amount and it is refunded. If the invoice is paid offline, we simply raise a credit note for the paid amount.

2) If the invoice is not yet paid and is still overdue, we simply mark that invoice as void.

If an error occurs in any of the API requests, an email will be sent to the admin email address with the request URL and the reason for the error.

Getting started with the Custom Functions:

1. Go to Settings -> Automation -> Custom Functions.

2. Create a new Custom function. Provide a name for the function. For example: "Auto refund cancellation".

3. Choose the module as 'Subscriptions' and the Predefined event as 'Cancel Subscription'.

4. Copy the code which was given above.

5. Please paste your authtoken in the authtoken variable. (Refer this documentation to know how to generate your authtoken)

6. Also, in the dayToConsider variable, replace your own value for the days (within which the amount can be refunded).

7. Save the Custom function and you are good to go.

Found this useful? Try it out and let us know how it works! If you have questions, do not hesitate to ask!

Cheers,
Sasidaran K,
Zoho Subscriptions.


      Zoho Campaigns Resources


        • Desk Community Learning Series


        • Digest


        • Functions


        • Meetups


        • Kbase


        • Resources


        • Glossary


        • Desk Marketplace


        • MVP Corner


        • Word of the Day


        • Ask the Experts


          • 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

          Zoho CRM Plus Resources

            Zoho Books Resources


              Zoho Subscriptions Resources

                Zoho Projects Resources


                  Zoho Sprints Resources


                    Zoho Orchestly Resources


                      Zoho Creator Resources


                        Zoho WorkDrive Resources



                          Zoho CRM Resources

                          • CRM Community Learning Series

                            CRM Community Learning Series


                          • Tips

                            Tips

                          • Functions

                            Functions

                          • Meetups

                            Meetups

                          • Kbase

                            Kbase

                          • Resources

                            Resources

                          • Digest

                            Digest

                          • CRM Marketplace

                            CRM Marketplace

                          • MVP Corner

                            MVP Corner




                            Zoho Writer Writer

                            Get Started. Write Away!

                            Writer is a powerful online word processor, designed for collaborative work.

                              Zoho CRM コンテンツ






                                ご検討中の方

                                  • Recent Topics

                                  • '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 }] }
                                  • Multiple clients in one project

                                    Hi team, What is the possibility to have more than one client to be linked for one project in the Zoho Books? Our business model is to have a project, and this project have expenses/bills, as well, we issue invoices for this same project to several customers.
                                  • Support Bots and Automations in External Channels

                                    Hello Zoho Cliq Team, How are you? We actively use Zoho Cliq for collaboration, including with our external developers. For this purpose, external channels are a key tool since they work seamlessly within the same interface as all of our other channels
                                  • Workdrive on Android - Gallery Photo Backups

                                    Hello, Is there any way of backing up the photos on my android phone directly to a specific folder on Workdrive? Assuming i have the workdrive app installed on the phone in question. Emma
                                  • Rendering PDF to view on page

                                    My company upload lots of PDF files onto Zoho. But every time we open it, it downloads the file instead of viewing it on the web page. Does Zoho allow uploaded PDF files to be rendered to view on web page yet? I've been trying to use <embed> or <object> but it cannot be loaded.  (similar thread: https://help.zoho.com/portal/community/topic/how-to-open-a-pdf-file-of-a-view-in-preview-mode)
                                  • Dynamically Fetching Lookup Field Display Value

                                    I have an audit trail form, Audit_Changes, that tracks old vs new values across different forms. For lookup fields, the old/new value is the ID, but I also need the display value. What's a best practice for dynamically fetching the display value of the
                                  • Ability to Create New Items When Zoho Trident is Minimized via tray or taskbar icon

                                    Allow users to create new items (emails, calendar events, tasks, etc.) directly from the system tray icon or by right clicking the task bar icon, even when the window is minimized or not actively running in the foreground. This enables quick access to
                                  • I can not see Undeliverable emails from my Mass Email Leads activity in CRM

                                    I am sending email templates and I can not see the Undeliverables? I only receive the "Out of Office" replies and any manual replies from the lead. Can you please let me know where the Undeliverable emails are sent so I can use the information to clean up the database?
                                  • Select Zoho Contacts as Meeting Participants in Zoho Cliq

                                    Hello Zoho Cliq Team, We hope you're doing well. We would like to request an enhancement to the meeting scheduling functionality in Zoho Cliq. Current Limitation: When scheduling a meeting in Zoho Cliq, participants can only be selected from: Organization
                                  • Ability to Select External Users from Participants List When Scheduling Meetings

                                    Hello Zoho Cliq Team, We hope you're doing well. We would like to request an enhancement to the meeting scheduling experience in Zoho Cliq. Current Limitation when scheduling a meeting in Zoho Cliq: External users can be selected from the list only under
                                  • Kaizen #212 - Map Dependency Fields in Zoho CRM using APIs

                                    Hi Everyone!! Welcome back to another week of Kaizen series! Over the past few weeks, we have been addressing your questions and feedback shared through our Kaizen 200th feedback form. Thank you for your continued engagement and thoughtful queries. We
                                  • Outdated state in mexico

                                    Hello Zoho team, the drop down to add the state for customers, when they introduce their state in mexico has a city named “Distrito Federal” that name changed many years ago to “ciudad de mexico”. could you please update this so my clients can find the
                                  • Is anyone using Zoho Flow with airtable?

                                    I need to build a flow that collects data from airtable and uses some of that data to create folders and files in google drive. I have fully function version of this in zapier and want to migrate to zoho. I am trying to perform a very basic fetch from
                                  • AI in Zoho Workplace: A Sneak Peek into What’s Coming!

                                    Hello everyone, We’re super excited to share something we’ve been working on and we want you to be part of it! You may have seen our announcement blog post introducing a major evolution in how AI works within Zoho Workplace. Want to be among the first
                                  • Display Client Name in Zoho Creator Client Portal Dashboard

                                    Hello Zoho Creator Team, We hope you are doing well. Zoho Creator recently introduced the option to set a client’s display name in the Client Portal settings, which is very helpful for providing a personalized portal experience. However, there is currently
                                  • Meet Canvas' Grid component: Your easiest way to build responsive record templates

                                    Visual design can be exciting—until you're knee-deep in the details. Whether it's aligning text boxes to prevent overlaps, fixing negative space, or simply making sure the right data stands out, just ironing out inconsistencies takes a lot of moving parts.
                                  • Best way to share/download presentation files in Zoho without losing formatting?

                                    Hello Zoho Community, I often work with PPT/PDF files in Zoho Docs and share them with colleagues. While PDFs usually give a direct download option, I’ve noticed that PPT/PPTX files sometimes only open in the viewer without a clear download link. Is there
                                  • Workflow Failure - Notifications

                                    Good afternoon, I have just experienced an error whereby a Workflow failed, for a reason currently unknown. The problem is that one of my users had to flag this manually (thankfully he's very thorough) and this otherwise would have flown under the radar.
                                  • Introducing Bin Locations In Zoho Inventory

                                    Hello users, We are excited to let you know that your wait for the Bin Locations feature has now come to an end! Yes, you heard us right! We are here to introduce the much-awaited Bin Locations now in Zoho Inventory. But before we dive into the feature
                                  • Error "Invalid client task found corresponding properties" only when triggered from workflow ?

                                    Hi All, I am facing an error message I never encountered previously: Error in executing On Add - On Load script Error in executing thisapp.get_all_projects_api_call function. Line:(2) Error in executing thisapp.getAccessTokenFromRefreshToken function.
                                  • How to interpret Campaign report statistics - definitions/explanation

                                    I am trying to make sure I understand the Campaign report correctly Do you have a list of definitions for: Delivered - it has reached the recipient's inbox Campaign reach - is this the number that have opened the campaign email? Unique Opens Clicks/Open
                                  • Feature request - pin or flag note

                                    Hi, It would be great if you could either pin or flag one or more notes so that they remain visible when there are a bunch of notes and some get hidden in the list. Sometimes you are looking for a particular name that gets lost in a bunch of less important
                                  • Schedule a Call by Date and Time when a specific lead status is selected

                                    Hi Wanting to create a workflow where a call can be scheduled by date & time when a specific lead status is selected. Can only currently set the date by Due Date - Trigger Date - Plus 'x' day(s) Thanks
                                  • Zoho CRM's Copy Customization functionality now works across DCs, for customized accounts, and more

                                    Availability This feature is available in Standard, Professional, Enterprise, and Ultimate editions. These changes have been rolled out to all users in all DCs. For more information, please refer to these help documents: Overview | Instructions Hello
                                  • How can I bold text on Zoho Forms submit buttons?

                                    In the old theme builder, I could bold the text on a form's submit button. With the new theme builder, I can only change the text of the header or fields in the form, and not the button itself.
                                  • Hiding Pre-defined Views

                                    You can enhance Zoho with custom views - but you cannot hide the pre-defined views. Most users focus on 4 or 5 views. Right now for EVERY user EVERY time they want to move to one of their 4 or 5 views - they have to scroll down past a long list of pre-defined views - we don't use ANY of the pre-defined views. Adding the feature to allow a predefined view to be hidden completely or only visible to certain users would be a big improvement in usability for Zoho CRM. This feature is already available
                                  • 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
                                  • [Integration Edition] Deluge Learning Series – Third-Party Integrations with Deluge | October 2025

                                    We’re excited to continue this three-month edition of the Deluge Learning Series: Session 1 – Integrating Zoho Apps with Deluge Using Built-In Integration Tasks Session 2 – Integrating Zoho Apps with Deluge Using invokeURL and invokeAPI Session 3 – Third-Party
                                  • Feature Request: Tag, Search, and Report on Individual Private Comments

                                    Zoho Desk Team, First, I want to say that we are extensive users of Zoho Desk and it is a core part of our support operations. We rely heavily on the private comments feature for internal communication, knowledge sharing, and maintaining a clear history
                                  • Zoho CRM Community Digest - August 2025 | Part 2

                                    Hello Everyone! Here's a quick round-up of handy tips, clever workarounds, and product updates from late August. Product Updates: Meeting Enhancements in Zoho CRM! Track whether a meeting is online, in-office, or at the client’s location using the new
                                  • Assistance Needed: Ticket Status Not Updating and Sorting by Last Customer Reply in Zoho Desk

                                    Hello, I’m facing two issues in Zoho Desk that I’d like your guidance on: Ticket Status Not Updating: When a customer replies to a ticket, the status does not change to Reopened. Instead, it remains in Waiting on Customer, even after the customer’s response
                                  • Round robin

                                    Hi, I'm trying to set up a round robin to automatically distribute tickets between agents in my team but only those tickets that are not otherwise distributed by other workflows or direct assignments. Is that possible and if so which criteria should I
                                  • Time Entry Notifications

                                    Hi All - I have support staff who place notes of their work in the time entry section of Zoho Desk. Is there a specific workflow or setting I need to enable to have the ticket holder updated via email when an entry is saved?
                                  • Change text in help desk

                                    Hi, Please let me know how can i change the this text, see screenshot.
                                  • Customer happiness customisation

                                    Hi, I was wondering if it's possible to somehow customise to whom and when customer happiness request is sent? Can you enable it only for selected tickets for example based on workflow or any other criteria (customer name, tag or anything else)? Also
                                  • No Zoho Support Response in Months

                                    I want to say that I love Zoho FSM, Books, and CRM, but the support is scary bad. About 2-3 months ago, I emailed Zoho FSM support with two specific issues I needed help with, and I have still not received one single response. I also submitted a support
                                  • Has anyone built a custom AI support agent inside Zoho (SalesIQ/Zobot)?

                                    Hi all, I’ve been experimenting with building my own AI support assistant and wanted to see if anyone here has tackled something similar within Zoho. Right now, I’ve set up a Retrieval-Augmented Generation (RAG) pipeline outside of Zoho using FAISS. It
                                  • Null

                                    If a result is null how do I make it so that a custom error pops up instead of the default error? Can someone write an example as if I were using the script builder?
                                  • Format a "return" message

                                    Good day, Is there a way to format the message of the "return" function in CRM deluge script?
                                  • Change Last Name to not required in Leads

                                    I would like to upload 500 target companies as leads but I don't yet have contact people for them. Can you enable the option for me to turn this requirement off to need a Second Name? Moderation update (10-Jun-23): As we explore potential solutions for
                                  • Next Page