Tip #2 - Cancellation of Offline Subscriptions based on the Expected Payment Date

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 card on file will be automatically charged on the renewal date on a regular basis. If for some reason the collection of charge fails on renewal, the Retry Settings (Dunning Settings) will handle the payment collection and sending notification reminders on specified intervals. Upon failure of all the retry attempts, the system will automatically cancel that subscription.

Whereas in the subscription for which the payment is made via cash (or) check, the business (sales) person collects the payment and record it manually into the billing system. There can be situations where even after multiple reminders and personal follow-ups by the salesperson, the customer might not have still paid for the invoice. In such cases, to avoid churn and to keep the cash flow coming, there can be a negotiation between the salesperson and the customer to collect the payment before a final date. This final date can be marked as the Expected Payment Date in that particular invoice.

In most of these scenarios, the customers will usually pay within the expected payment date which was previously agreed upon. However, if the customer fails to do so, the salesperson might have to cancel their subscription manually as there is no business value associated with it. 

Now, let's see how we can automate this process without any manual work. By doing this, you could save a significant amount of time which can be put into developing your business.

Logic Explanation:

As you would have guessed by now, we would be using our Custom Function Workflow to achieve this. Since this scenario involves date based actions, we will be using Date based Workflow. The Date based workflow is something that can be configured to run after a particular date and at a particular time depending on our requirement.

Now, if you were wondering how to configure the custom function to automate our process, please find the answers to your questions below.

What type of Workflow is to be followed?
Date Based Workflow

When is the date of execution?
1 day(s) after the Expected Payment Date.


Are there any additional filters required?

Yes. Execute this workflow only for unpaid invoices.

So to summarize, this custom function should be set to run exactly one day after the expected payment date for the unpaid invoices. After configuring this custom function, you would have to code (the functionality) in such a way that the subscription associated with the invoice is cancelled immediately.

Please be informed that this custom function workflow will work only on the invoices which are created after configuring this custom function.


Code Explanation:

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

1) This snippet of code will be executed only for invoices which are unpaid even after the expected payment date. Kindly replace the "authtoken variable" with your generated authtoken.

2) Initially, we will retrieve the Subscription that is associated with that particular invoice.

3) After retrieving the associated subscription, we will be cancelling it by using the Cancel Subscription API.


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. 


3. Choose the module as 'Invoice' and click on 'Create Custom Events'. 


4. Choose Date Based workflow type and Date of Execution as 1 day(s) after Expected Payment DateYou can also set a different Execution Time based on your requirement.

5. In order to run the function for unpaid invoices, Apply Advanced Filter as When Status isn't Paid

6. Copy the code which was given above.

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


Further Enhancements:

1)  While using this custom function, there might be a scenario where you would like to exclude a few of your prime customers' subscription from being cancelled automatically without your consent. In order to do this, you can add a Custom Field of type CheckBox to the Subscription. 

While creating a subscription, you can leave this CheckBox marked (or) unmarked in order to differentiate your prime customers from others. Later, you can add this custom field in the Addition Criteria of your workflow, such that the workflow is executed only for your non-prime customers.

Please refer the below image for your reference, where the CheckBox custom field is named as "Cancel subscription automatically?".

2) When the subscription is cancelled, the last renewed invoice will still be in open status. If you would like to void that invoice before cancelling the subscription, you can modify the workflow to address that need. 

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

    • STOP FRAUDULENT TRANSACTION IMMEDIATELY

      I DID NOT AUTHORIZE THIS TRANSACTION OR RENEWAL, STOP IMMEDIATELY CHARGING MY CARD I CAN NOT CONTACT SUPPORT, NO ONE IS AVAILABLE ON CHAT PAYMENT ID RPCW2003260759193
    • Best way to handle a credit card download fiasco

      Hi there, hoping that someone knowledgable with book keeping can give me the answer here. One of my credit cards has been integrated with Zoho books and we have been downloading transactions with no issue. The credit card got compromised and was used
    • When Opening Zoho Mail I always get a Tab with an error (See attached image)

      Everytime I open Zoho mail I get this. It is trying to open a deleted email. I already tried going to Settings > While Starting up Changed that option back and forth but this persists. Its annoying. Other than that I love this. Any help would be appreciated.
    • Pre-Registration - Suggestion

      Suggest to add a Pre-Registration feature for non-scheduled events. Scenario is that we have a training academy and would like to collect pre-registrants prior to an actual scheduled event so we can use this as a basis for demand management and scheduling of new events for those expressing interest.
    • Not all messages showing in folders in iOS mail.app

      I have a bunch of emails filed in various folders. Those folders are showing all of the emails in them on Zoho.com and in the Zoho Mail app on my iPhone and my iPad. They also all show up fine in Mail.app on my Mac. The problem is that certain (not all)
    • Where do the 'Archived' mails go?

      I have hit 'Archive' on quite some mails I still needed, but didn't want in my inbox anymore. I obviously thought 'Archive' is not the same as 'Delete', since they don't even pass the trash folder this way, and right now I was looking for one of those
    • Signature image size changing on replied emails

      Hi, Sometimes I see the size of the image I use as signature changes when I open replied emails. Do you know why is this happening? It doesn't seem to happen when I send emails to Gmail though. Signature should look like in attachment "Signature_normal.jpg"
    • Não consigo enviar emails. "Razão:533"

      Não consigo enviar emails. "Razão: 533 Relaying disallowed. Invalid Domain" aparece e me impede de enviar emails... Como resolver o problema?
    • Error when setting up IMAP access in Gmail

      Hi I set up POP3 access via Gmail for my Zoho-hosted domain email. I just tried to change it to IMAP access, however when inputting the settings I received the following error message from Gmail "Missing +OK response upon connecting to the server: * OK
    • Zoholics Europe 2025: Unlocking the Power of Zoho CRM : A Hands-On Workshop

      Why should you attend? At Zoholics Europe 2025, Zoho’s official user conference, you’ll have the opportunity to connect directly with experts and explore powerful tools that help businesses elevate customer experiences. Be sure to attend one of the most
    • How do I delte a mailbox alias

      Hi everyome, I have created a mailbox alias on one of my accounts, but I can't figure out how to delete it again. When I go into the control panel on my super-admin account and click on user details and the settings for the user, I can see the mailbox
    • Allowing vendors to Upload Purchase Invoices against Purchase Order

      Work Flow: Once Project is executed, We send Purchase order to every Vendors asking them to Share the invoice against the same. Most of the time Vendors Send invoices through Mails but our Finance Team miss to book those Purchase Invoices in Zoho Books.
    • Deluge - forward incoming email with original attachments and content but new subject

      I'm working in ZohoMail with a 10GB paid account. Using a filter and a custom function, I can send a new mail with the original email content and a new subject, but I'm struggling to find how to attach the original attachment to a new mail - or even to
    • Error: "The conversation window has expired." on WhatsApp

      Hello, I would like to know why this error appears in the messages within WhatsApp from the CRM: "The conversation window has expired." The question arises because a potential client sent us a message at 11:00 PM and we are responding the next day at
    • How to Sync Desk KB and Sales IQ KB?

      Hi, we have just started to use Desk and are using the SalesIQ Chat. Ideally I'd like to use the 'FAQ' feature on chat (which uses SalesIQ KB) and also allow our customers to use the self-service KB that comes with Desk. Unfortunately they are two different
    • Need help! Unable to send message; Reason: 554 5.1.8 Email Outgoing Blocked.

      Hi Zoho team My account name is senpai.atelier, it’s been few days I can’t send Emails with the same error messages. I’ve raised the issue to support@zohomail.com that doesn’t respond to my query. I wonder if you may help troubleshooting soon.
    • Zoho arrives to Spam on all Microsoft Accounts (Outlook, Hotmail, Microsoft 365)

      I believe this is a very serious issue. All my email accounts in Zoho arrives straight to SPAM. Thing is, a lot of clients rely on email arriving to Inbox, specially on Microsoft Accounts since it is used a lot both for business and personal email sending.
    • Registeration

      I just added the TXT code. What next?
    • Cannot receive password protected zip files

      Hello, I cannot received a password protected attachments. Also all my members in the same domain has the same problems. Can you please help me? Best regrads
    • ERROR 554 5.1.8 Sender Address Blocked code(554)

      We have an email with Zoho ( comercial@bruiser.com.br), but, when we try associate the account in GMAIL, the server shows this message:  554 5.1.8 Sender Address Blocked code(554) I see this error appear when the limits of returns exceded 10 messages,
    • Zoho mail stopped receiving emails

      Our email are stopped to receive outsider email. i have checked the DSN, it's pointed to ZOho mail. Can anyone help me to fix this issue urgently? Thanks
    • send email from web application

      Hello, I'm experiencing an issue with sending emails from my web application. Here are the configuration parameters currently in use: ini Copia Modifica quarkus.mailer.from=noreply.sedis@mondonovo.net quarkus.mailer.host=smtp.zoho.com quarkus.mailer.port=465
    • Custom CSS in Zoho Form

      Hi, Please let me know, how we can add custom css in Zoho Form.  Thanks
    • Zoho Recruit

      Getting this issue
    • Missing Email

      We recently started using ZohoMail we migrated our users from google workspaces. The migration process seemed to have gone smoothly however not all emails are showing in the inbox folder. For example: If I sort the inbox folder from old to new. (Oldest
    • Client Script Quality of Life Improvements #1

      Since I'm doing quite a bit of client scripting, I wanted to advise the Zoho Dev teams about some items I have found in client script that could be improved upon. A lot of these are minor, but I feel are important none-the-less. Show Error on Subform
    • Account blocked after accessing via VPN

      All my accounts are blocked after using a VPN. I have submitted multiple support tickets without response. It’s critical that my email be restored asap Can you please provide a way to unblock my accounts
    • Courses without signup

      Can I create "real" public courses where no signup is needed?
    • Espace Sandbox – Votre environnement de test sécurisé dans Zoho Projects

      Zoho Projects propose un sandbox sécurisé pour tester des configurations, des personnalisations et des modifications sans compromettre les données en production. Note : Disponible avec le plan Enterprise le plus récent basé sur les utilisateurs (y compris
    • Descargas en learn

      Buenos dias, yo en mis cursos para no tener que cargar los archivos que utilizare en las lecciones decidi utilizar la opcion de bloques para añadir un enlace de mi workdrive con el video que deseo para que sea todo mas organizado, pero hay un problema.
    • Mail delivery

      I initially had a problem sending any outgoing mail and was able to fix it on my own, given Zoho support never got back to me. However, despite being able to send emails now, none of my mail to different Gmail addresses are arriving, and they are not
    • Mermaid Support & Zoho Learn

      Hi Zoho Team, I’m currently working with Zoho Learn and was wondering if there’s any way to add support for Mermaid syntax to create flowcharts, sequence diagrams, and other visual elements within articles or lessons. Mermaid is widely used in technical
    • Blocked due to VPN

      Hi My account outgoing mails and IMAP access have been blocked due to using a vpn being interpreted as suspicious logins. I’ve tried to mail support but not sure if this is also blocked. This is extremely frustrating as I’m using a vpn because I’m travelling
    • reset admin access.

      I am a user under the domain @lanutraceuticals.com. I do not have admin access. Kindly let me know the administrator contact or help me reset admin access.”
    • Unsubscripation booked domin

      Kindly Un subscription booked domain
    • How to change Super Admin

      Good Day, Can someone kindly guide me on how to change the super Administrator. I have tried many times but could not succeed.
    • Events disappearing in Calendar

      To reproduce the bug: 1.- Add a new event in Calendar 2.- Type any name for the Event 3.- Click "Create" 4.- The event appears 5.- Click on the event to open it 6.- Optional: Edit the event 7.- Click OK 8.- After two seconds, the event disappears Now, click on another day and then come back to the inserted event's day. The event appears.
    • Mail transfer to a contact with multiple accounts

      Hi, Since we can only associate one email for a Contact across Zoho, would it be a problem if we want to merge our mailbox in the future? For example, Mr. Jones is the main POC for 5 accounts, once we merge our mail where would the messages go-- is it
    • @mention not working in Mail

      Am I missing something? When trying to forward a message there is a hint you could do this also by "@mention" at the end of the message. When typing (for example) "@s.." there should appear addresses from my contacts, shouldn´t it? But nothing happens! So what can I do? Best regards and thanks for any help in advance! JH P.S.: Sorry for my bad English.
    • Enable Zia-Powered Deluge Assistance and AI Agent Without Mandatory OpenAI Integration

      Hi Zoho Creator Team, Hope you're doing well. We’d like to request a feature enhancement related to Zia's AI capabilities in Zoho Creator, particularly regarding Deluge Assistance and the AI Agent. Currently, as shown in your documentation (Generate Deluge
    • Next Page