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.

    • 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
      • Recent Topics

      • Unusual activity detected from this IP. Please try again after some time

        When i try to create new addresses on my account i am getting this error, it has been 24 hours now and i am still getting this error can anyone help
      • How to add a new domain in my account?

        Probably zoho has the worst UI in the market. Cannot add a new domain to manage a new email address.
      • Ability for admin to access or make changes in zoho form without asking for ownership

        Currently in zoho form only form owner can make the changes in the form and if someone else has to make changes then we have to transfer the ownership to them and even admin also cant access it . So i think admin must have the ability or option to access
      • Report sorting not working

        I make extensive use of Summary reports and Pivot Tables. Most of these reports are structured such that I have several columns of "information" data that I want displayed, followed by one or more "Data" summarizations. For example, I have the following
      • New Enhancements in Wizards

        Dear All, Wizards help you break a long form into a series of smaller forms on different screens, making it less overwhelming. We are thrilled to introduce a couple of enhancements to wizards in Zoho CRM: Enhancements for conditional rules in Wizards
      • Microsoft Teams now available as an online meeting provider

        Hello everyone, We're pleased to announce that Zoho CRM now supports Microsoft Teams as an online meeting provider—alongside the other providers already available. Admins can enable Microsoft Teams directly from the Preferences tab under the Meetings
      • Find and Merge Duplicates to trigger webhook

        My sales team uses the Find and Merge Duplicates feature often to cleanup records in the CRM. We use webhooks to signal to our internal tools database when new Contacts are created, updated, or deleted, in order to keep our DB in sync with Zoho CRM. However,
      • Charting the 2025 Voyage: Zoho Invoice's Year in Review

        2025 has been a year of progress, productivity, and purposeful growth for Zoho Invoice. From expanding into new regions to refining everyday workflows, each update was designed to help businesses stay compliant, get paid faster, and work with confidence.
      • How to Hide System-DefinedTemplates in Service Report

        Is there any option available to hide system-defined templates? these templates are causing confusion for field users.
      • WhatsApp Report in Bigin CRM

        Reporting feature for Bigin CRM’s integrated WhatsApp that provides insights such as: Number of WhatsApp conversations closed Number of messages sent and received Number of conversations replied to Response and closure metrics for WhatsApp chats More
      • Issue with Azure DevOps Integration in Zoho Flow

        Hello, All workflows between Zoho Flow and Azure DevOps have stopped working for several days now. Upon further investigation, it seems that the connection to Azure DevOps is no longer directly supported. Indeed, Microsoft has deprecated the Azure DevOps
      • Narrative 16: Simplify with workflows

        Behind the scenes of a successful ticketing system: BTS Series Narrative 16: Simplify with workflows What is a workflow? A workflow organizes business tasks in a defined sequence that makes each step clear to all participants. This ensures work is completed
      • Zoho Invoice Customer Login Portal

        Are there any plans for a customer portal to Zoho Invoice, ala Freshbooks?  I would like customers that I invoice to be able to login to review invoices and invoice history.  I have not switched from Freshbooks for this very reason.
      • Random Leads are being created

        Hi, Every few days I am getting random leads that are being created with no form interactions at all. The email addresses are from obvious spam, such as 'Easymerchantsx'. When I look at the timeline, there is a Visit record and then a Lead Created record,
      • Print a price list or price book

        Hi Community. Am I right in concluding that Zoho has no functionality to print a price list from either Zoho CRM, Zoho Inventory or Zoho Books? I won't get stuck on the fact that Zoho doesn't sync price books between Zoho CRM and Books/Inventory (more
      • Bar Chart -- sort X-axis

        Hi! I created a bar chart ("Top 10 Products by Revenue") X-axis: Product Name Y-axis: Revenue Filter: Revenue - Top 10 Here's a picture: http://screencast.com/t/ZTJlZTdkNz The x-axis is sorted alphabetically by Product Name. How can I force it to sort numerically by Revenue?
      • ZoHo Flow Custom Function not Processing JSON

        JSON is being escaped and converting all the quotes in the JSON to '"' Here's the Code: void InsertRowInE123EligibitySheet(map input) { rawData = get("data",""); decodedData = rawData.htmlDecode(); data = decodedData.toMap(); sheet_id = "ID GOES
      • Managing functions

        Can someone let me know if there are any plans to improve the features for managing functions in CRM? I have lots of functions and finding them is hard. The search only works on the function name and the filter only works on function type. I have created
      • Zoho FSM - Service Appointment Trouble Adding Field Agent

        Hello, I just started using Zoho FSM and I'm currently adding older work orders from prior Field Service application I use. The work order that im trying to add is from an earlier date, and when I try to add a field agent to a service appointment it does
      • Shifts in Zoho People vs Zoho Shifts?

        Hello Zoho People Team, We hope you are doing well. We are evaluating the Shifts functionality within Zoho People and comparing it to the standalone Zoho Shifts product. We’ve encountered comments and discussions suggesting that the Shifts feature inside
      • 年内最後のユーザー向けイベント:5名限定! 課題解決型ワークショップイベント Zoho ワークアウト開催のお知らせ (12/18)

        ユーザーの皆さま、こんにちは。コミュニティチームの中野です。 12月開催のZoho ワークアウトについてお知らせします。 今回はZoomにて、オンライン開催します。 参加登録はこちら(無料) https://us02web.zoom.us/meeting/register/QHn6kJAcRs-znJ1l5jk0ww ━━━━━━━━━━━━━━━━━━━━━━━━ Zoho ワークアウトとは? Zoho ユーザー同士で交流しながら、サービスに関する疑問や不明点の解消を目的とした「Zoho ワークアウト」を開催します。
      • How do I get my account id?

        Hello, I followed the instructions to get a list of accounts of the currently authenticated user (which is me, and I am logged in). But when I follow the below instructions I get the following error: ERROR: {"data":{"errorCode":"INVALID_TICKET","moreInfo":"Invalid ticket"},"status":{"code":400,"description":"Invalid Input"}} Instructions that I am following: GET - User account details Purpose The API retrieves the list of accounts of the currently authenticated user.  Request URL  http://mail.zoho.com/api/accounts
      • This domain is not allowed to add. Please contact support-as@zohocorp.com for further details

        I am trying to setup the free version of Zoho Mail. When I tried to add my domain, theselfreunion.com I got the error message that is the subject of this Topic. I've read your other community forum topics, and this is NOT a free domain. So what is the
      • Zoho Quartz Screen Recording

        Hello, can we get access to Quartz, please, as a standalone solution? It would be great for creating training videos for current and future staff on how to use Zoho software according to our company requirements. Thank you
      • auto close automated alert tickets which are similar

        Hello ZOHO Community, we are using ZOHO Desk to process automated monitoring alerts. Scenario: Our monitoring system creates a ticket when a threshold is exceeded, e.g. Subject: Computer 1 – CPU usage 100% – Error A few minutes later, once the issue resolves
      • Maintain knowledge base integrity by moderating article comments

        Hello everyone, A knowledge base provides a self-service platform where customers can refer to articles, user manuals, and other resources to learn about the company's products or services and troubleshoot problems. Often, readers leave a comment on the
      • Making another calendar your default calendar

        I am trying to make another calendar my default calendar when I add events to it. It keep going to a single calendar, I need it to go to my google calendar by default, as this is linked to other services / websites. I cannot find an option to make it
      • Option to Delete Chats in IM

        Currently, there is no option to delete any chats in IM, regardless of their source.
      • Referencing a cell from another sheet

        My workbook has multiple sheets. Each sheet has some calcluated totals in certain cells. The front master sheet has a list of everything that is detailed on the other sheets, with the totals. These could change at any time, so the totals need to be references to the other cell's value, not a fixed number. So on the master sheet, I put in =, then go the other sheet and choose the cell and hit Enter. In regular Excel, this works. But in the Zoho sheet, it doesn't work. I have to edit the result by
      • Group mail for external email addresses

        Hello, I was just wondering if the Group mail feature works with external email addresses - e.g. gmail.com or a completely different domain? it seems only internal addresses (hosted with Zoho) receive the mail. Thanks, Oliver
      • Is Zoho Shifts included in the Zoho One plan?

        In case the answer is no: there's any plan to make it available via One? Thank you
      • Marketing Automation Requirements Questions

        I would like to set up a multi-email drip campaign- please see the structure below and confirm if I can achieve this set up in Zoho marketing automation. Where applicable, highlight gaps and workarounds. Thanks Drip email campaign- Can I create one drip
      • The email address you have entered belongs to a different deployment/region.

        Hi, I am trying to create the user - mprust@crombiecomputers.co.uk but keep getting the message below -  The email address you have entered belongs to a different deployment/region. Please contact support@zohoaccounts.com for assistance. Look forward
      • Use Zoho Flow Credits for CRM ‘Actions by Zoho Flow’

        Hello Team, We would like to submit a feature request regarding credit usage for “Actions by Zoho Flow” in Zoho CRM. Use Case: We are Zoho One users and actively use Zoho Flow, where our organization has 52,000 Flow tasks per month. In Zoho CRM, we use
      • Unusual activity detected from this IP. Please try again after some time.

        Hello Zoho admin and IT team We are a registered website in Eloctronic services and we been trying to add our users to the zoho system but this issue faced us ,, hope you unlocked us please.
      • Alert if a field is ticked.

        Hi There, We have two modules named Opportunities (Deals) and End Users (CustomModule1), as per the image below. Within Opportunities, we have a lookup field that looks up from the End Users Module. We are looking to get an alert either via email or another
      • Zoho CRM Analytics - Allow To Reorder Dashboards

        I would like to suggest that you add the ability to reorder dashboards in the Analytics Module. I can see that this has been requested some time ago, the latest 9 years ago. I am not sure if this is a big or small endeavor, but such a small fix can go
      • Sending a Template to Sign

        hi, trying to send a template to be signed using this as a test: $accessToken = "1000.xxx" $templateId = "1234" $uri = "https://sign.zoho.eu/api/v1/templates/$templateId/createdocument" $payload = @{ templates = @( @{ template_id = $templateId request_name
      • Kaizen #194 : Trigger Client Script via Custom buttons

        Hello everyone! Welcome back to another interesting and useful Kaizen post. We know that Client Scripts can be triggered with Canvas buttons and we discussed this with a use case in Kaizen#180. Today, let us discuss how to trigger Client Script when a
      • Adding Choices in a Sub-Form Dropdown

        Hi, Has anybody tried Adding Choices to a Dropdown in a Zoho Creator Sub-Form programmatically? My Deluge code adds rows to a subform with 2 fields A and B. A - text field. B - dropdown. My Deluge script adds the row and displays A successfully. For the
      • Next Page