Function #48: Manage fixed installment payments using Zoho Books

Function #48: Manage fixed installment payments using Zoho Books



Hello everyone, and welcome back to our series!

Businesses offer installment payment options to their customers, particularly for expensive purchases, to ease the financial burden on them. By breaking down the total cost into smaller, more manageable payments, businesses can attract a wider audience who may not be able to afford large upfront payments. This approach not only increases the likelihood of making more sales, but also helps to spread revenue over time, improve cash flow, enhance customer satisfaction and loyalty, and provide a competitive advantage in the market.

We receive numerous requests from our users regarding the handling of these installment scenarios. We heard you loud and clear. Today, we are excited to share a solution that utilizes custom functions to manage installment payments in Zoho Books.

Let's take the example of Mr. John Hector, who wants to buy a 75-inch TV from Zylker Electronics, priced at a hefty $2,300. He is finding it difficult to pay the entire amount upfront. Therefore, Zylker Electronics offers him the option to pay in installments. They mutually decide that John will spread the payment over 5 months, committing to monthly installments of $460 until he settles the entire purchase amount. Let's delve into how this process can be efficiently managed within Zoho Books using custom functions.

Firstly, Zylker Electronics should create a sale invoice of $2,300 in their Zoho Books organization. While creating it, they should input the start date of the installment and the number of installments in two custom fields. For instance, if the sale was made on 01.04.2024 and Mr. John agreed to pay in 5 installments starting on 10.05.2024, the start date should be entered as 10.05.2024, and the number of installments as 5.

Two custom functions will come into play: one to generate the retainer invoices to collect the installment payments and another to apply the retainer payments to the sale invoice.

Based on the number of installments entered the function will determine the amount to be charged as monthly installments.
Installment amount = Total Amount Payable / No of installments = $2300 / 5 = $460.

On the specified start date, the first function will create and send the retainer invoice for the first installment. Once the payment for this installment is recorded, the second function will apply it to the sale invoice, reducing the balance accordingly. The process repeats each month, generating and sending retainer invoices for subsequent installments until all 5 are completed. Each retainer invoice will be for $460 and due on the 10th of every month for 5 consecutive months. As each retainer invoice is paid, the second function will automatically apply it to the sale invoice, thereby recognizing the income.

Prerequisites: 

1. Create a Connection named "zbooks" to successfully execute the scheduler. You can watch the GIF attached below to know how to create the connection.




2. Create a Date-type custom field called "Installment Start Date" for the Invoices. This field will be used to input the starting date for installment payments.



3. Create a Decimal-type custom field called "Number of installments" for the Invoices. Here, you'll specify the agreed-upon number of installments. Using this information and the total invoice amount, the function will determine the monthly installment amount.



4. Create a new Retainer Invoice template with the document title "Installment Payment". Then, copy the template ID (You can get the ID from the URL of the webpage) and substitute it into line 26 of the first function. This ensures that all the retainers sent for collecting installment amounts are correctly labeled.



(1) Custom Function to create Retainer Invoices:

Navigate to Settings -> Automation -> Workflow Actions -> Custom Functions -> +New Custom Function -> Module -> Select Invoice -> Add the function code from this
GitHub Link -> Save. 



(2) Workflow Rule to create Retainer Invoices:

Go to Settings -> Automation -> Workflow Rules -> +New Workflow Rule and set up the workflow rule as shown below:-




In the final step of this workflow rule, associate the custom function you created and then hit Save.

(3) Custom Function to apply installment payments to the sale invoice:

Navigate to Settings -> Automation -> Workflow Actions -> Custom Functions -> +New Custom Function- > Module -> Select Retainer Invoice -> Add the function code from this GitHub Link -> Save. 



(4) Workflow Rule to apply installment payments:

Go to Settings -> Automation -> Workflow Rules -> +New Workflow Rule and set up the workflow rule as shown below:-






In the final step of this workflow rule, associate the custom function you created and then hit Save.

We really hope that today's functions help you streamline the process of handling installments in Zoho Books. If you need any assistance in customizing the functions to better suit your needs, please do not hesitate to contact us at support[at]zohobooks[dot]com. We are always happy to help you. 

Also, for those looking to collect varying percentages of the invoice total as installments, stay tuned! 

Regards,
Shireen Farhana
Zoho Books

    • Sticky Posts

    • Introducing Invoice Consolidation for Offline Subscriptions

      Hello Folks, Glad to announce the feature of Invoice Consolidation for Offline Subscriptions. If you are having multiple subscriptions for your customers, now, you can send a single consolidated invoice for all the Offline Subscriptions that are getting renewed on the same date. Advantage?  Customers will be receiving single invoice instead of multiple invoices upon renewal. Also reduces your efforts in follow-up with your customers for payment collections. For Example: If Customer has Subscription
    • New feature: Create back-dated subscriptions

      Hello from the Zoho Subscriptions team. :)   We’re happy to announce that today marks the launch of a much-awaited feature: creating back-dated subscriptions!   From here on out, whenever you create a new subscription with an activation date that is earlier than the present date, you’ll no longer get an error. Instead, you'll be creating a back-dated subscription. This means that the subscription started at that earlier point in time. The next billing date will be calculated automatically based on
    • Announcement Regarding Notification Emails

      Hello Everyone! This announcement is regarding the admin notification emails which you've been receiving from the email address "support@zohosubscriptions.com". From the 1st of October, 06:00 GMT, the emails with the following subjects will be sent from "no-reply@zohosubscriptions.com". Unable to send invoice for the profile - {profile_name} Unable to process auto payments. If you have set up any filters or workflow in your email account, please add "no-reply@zohosubscriptions.com” and  “support@zohosubscriptions.com”
    • Zoho Subscriptions plugin for WordPress

      Zoho Subscriptions plugin for WordPress allows you to easily embed your plan specific checkout page in an iframe with just a few mouse clicks and without a single line of code. How can WordPress Zoho Subscriptions Plugin boost your productivity? It's now easier to embed Zoho Subscriptions checkout page in your WordPress site. Forget the old method of logging in to Zoho Subscriptions, copying a URL and scripting to make adjustments. All this can be done automatically through this plugin. A great time
    • Indian GST organisation Migration Guide

      With respect to the new GST regime releasing on July 1, 2017in India, Zoho Subscriptions Indian edition is also gearing up to make your business GST Ready. This article focuses on how to get your existing organisation in Zoho Subscriptions to migrate to the new GST regime.    Note:  Any organisation created on or after July 1, 2017 will already be GST ready. You wouldn't have to migrate your organisation. Migrating your existing organisation to support GST To migrate your existing organisation to
    • Recent Topics

    • Closing the Loop: Why Lookup Asymmetry is Harming Data Integrity in Creator

      TL;DR: Lookup fields allow users to add new related records inline via the "+" icon, but there's no equivalent ability to edit an existing related record without navigating away and losing form context. Adding a native "Edit" icon—with automatic User
    • using the Client script on the load of the form if service no is empty means then i want to make issue relate to is Service

      using the Client script on the load of the form if service no is empty means then i want to make issue relate to field is Service if Purchae no is empty means then i want to make issue relate to is Purchase
    • Work Order wont mark as Completed

      I have a couple of work orders that won't mark as completed even when I've marked the Service Appointments as completed fully.
    • Item name special charaters <>

      Im trying to input speical characters such as < and > into item name and item description but comes up with following error: Invalid value passed for Item Name and Invalid value passed for Item Description How do i allow speical characters?
    • Zoho Analytics Dashboard - How to hide the user filter

      I am using the same dashboard template across different external clients and applying a user filter to the data by site URL. How can I hide the user filter in View Mode so the external client won't see the list of other clients in the drop-down menu?
    • Kaizen #229: Email-Deal Associations in Zoho CRM

      Hi All, Welcome back to another week of Kaizen! Emails are a core channel for customer communication in any CRM system. In Zoho CRM, emails can be associated with records across multiple modules. In this post, we will focus on email associations with
    • Action Required: Update Microsoft SQL Server Security Settings Before February 2026

      Dear Users, We recently deployed security updates in Zoho Analytics that inadvertently caused connection failures for a few customers using Microsoft (MS) SQL Server hosted on older Windows versions (Windows Server 2012, 2012 R2, and 2014). To restore
    • Contacts limit in basic vs standard - what counts? Are customers contacts?

      I’ve been using books for a number years for my small business. I only ever work with 20 clients at any given time. I do purchase services from a number of vendors to run my business, so there are some comtacts there too. I used to use the basic package,
    • Automating Employee Birthday Notifications in Zoho Cliq

      Have you ever missed a birthday and felt like the office Grinch? Fear not, the Cliq Developer Platform has got your back! With Zoho Cliq's Schedulers, you can be the office party-cipant who never forgets a single cake, balloon, or awkward rendition of
    • Create Tasklist with Tasklist Template using API v3

      In the old API, we could mention the parameter 'task_template_id' when creating a tasklist via API to apply a tasklist template: https://www.zoho.com/projects/help/rest-api/tasklists-api.html#create-tasklist In API v3 there does not seem to be a way to
    • Ability to Set a Unified Tab Order/View for All Users in Zoho Projects

      Hello Zoho Projects Team, We hope you are doing well. We would like to submit a feature request regarding tab/menu organization in Zoho Projects. Current Behavior: The tab (module) order in Zoho Projects is user-specific. Each user (internal or external)
    • Task Order

      Hello! I've recently switched to Zoho Projects and a long time user of MS Project, Asana and LiquidPlanner (which has recently been purchased) and I'm running into a frustration I'm hoping someone can assist with. It has to do with how tasks are ordered
    • Automating CRM backup storage?

      Hi there, We've recently set up automatic backups for our Zoho CRM account. We were hoping that the backup functionality would not require any manual work on our end, but it seems that we are always required to download the backups ourselves, store them,
    • Vendor legal and DBA names for USA users

      I would like to hear how Zoho Books users are handling DBA names in the vendor profile. If the Company name in the vendor profile has to be the legal name (line 1 of the W-9), whare are you entering the DBA name (the name that checks are made out to)
    • Zoho Books API invoice email bouncing with 'relaying-issues' error

      I have waited over 30 days for zoho books uk to assist with the following and i have had no replies or tickets erronously closed. The service has been terrible - very unlike zoho! So i am raising this here hoping that a community member can assist: Hello,
    • Stop the Workarounds: We Need Native Multi-Step Forms

      After over 17 years of community requests, I'm hoping the Zoho team can finally address the lack of native multi-page form support in Zoho Creator. This has been one of the longest-standing feature requests in the community, with threads spanning nearly
    • Product Updates in Zoho Workplace applications | January 2026

      Hello Workplace Community, Let’s take a look at the new features and enhancements that went live across all Workplace applications for the month of January. Zoho Mail Zoho People Notifications preview in Zoho Mail Notification emails from Zoho People
    • How do i setup default values for few fields

      We have few fields in CRM like rate of return, type etc - they can be picklist and standard inut fields. picklist we have choice to set default value. but how do we default some value in input type of fields?
    • We know the company but not the contact

      We are fairly new to Zoho, part of our marketing stack is we use products like lead feeder to identify which companies are visiting our site. We are able to match this data to salesiq but cannot find a way to add a company name to the salesiq visitor
    • Customize Calendar view in Teamspaces Settings

      Right now every customization that happens inside of the calendar view inside of CRM is only visible for the specific user. We want to be able to set up calendar views as an admin for specific roles. I would suggest to do that inside of the settings of
    • How to filter subform report based upon main form report in dashboard

      Hi Team, I am creating a dashboard in Zoho Analytics. I want to have a main form report and below I want to show subform report of main form. If I filter the main form with date then I want to show subform records based upon main form. how can I achieve
    • using the Client script I want to Hide Show the Fields

      if Related to service means some of the field like service no want to shoe and hide Amc no , purchase no how i achive this let issu = ZDK.Page.getField('Issue_Related_To').getValue(); if (issu == 'Service') { var field_obj = ZDK.Page.getField('Warranty_Cases');
    • Write-Off multiple invoices and tax calculation

      Good evening, I have many invoices which are long overdue and I do not expect them to be paid. I believe I should write them off. I did some tests and I have some questions:  - I cannot find a way to write off several invoices together. How can I do that,
    • Kaizen #210 - Answering your Questions | Event Management System using ZDK CLI

      Hello Everyone, Welcome back to yet another post in the Kaizen Series! As you already may know, for the Kaizen #200 milestone, we asked for your feedback and many of you suggested topics for us to discuss. We have been writing on these topics over the
    • vendors / customers with 2 different address and gst no

      Why can't we have option for more than one address and depending on the state option for more than 1 GST no. ? We have customers / vendors PAN india with different addresses and GST no. for different states.
    • Recurring Automated Reminders

      Hi, The reminders feature in Zoho Books is a really helpful feature to automate reminders for invoices. However, currently we can set reminders based on number of days before/after the invoice date. It would be really helpful if a recurring reminder feature
    • Fail to send Email by deluge

      Hi, today I gonna update some email include details in deluge, while this msg pops up and restrict me to save but my rules has run for one year. can you tell me how to use one of our admin account or super admin account to send the email? I tried to update
    • Transitions do not update fields until the record moves to next stage

      We have a blueprint where a couple of stages have multiple transitions. If only some of the transitions are completed, but not all, Zoho does not update any of the fields impacted by the completed transitions. Is there any way Zoho can udate the fields
    • Zoho CRM - Kiosk Studio : Use action responses across your kiosks with sequential actions

      Hello Everyone, Imagine building a kiosk that gives you full control over how actions are executed in later screens in that same kiosk. What if you could use data from a previous action later in that kiosk—with no interruptions or data gaps? This is exactly
    • Get Cliq Meetings in my O365 calendar

      Hi, we are currently evaluating to replace the Teams Messaging and Meetings with Cliq. We currently still have all our email and calendars in O365. What i want to achieve is, to create a (ZOHO) meeting from Cliq and have this meeting added to my Outlook/O365
    • Custom Button to convert a Deal to a Custom Module?

      Hello Community I am in process of building out a custom CRM for my team and part of this is looking at building out a Custom Button or function of some sort where when a Deal is marked Closed Won the system will allow for a "Convert to Job" option to
    • Power up your Kiosk Studio with Real-Time Data Capture, Client Scripts & More!

      Hello Everyone, We’re thrilled to announce a powerful set of enhancements to Kiosk Studio in Zoho CRM. These new updates give you more flexibility, faster record handling, and real-time data capture, making your Kiosk flows smarter and more efficient
    • Change eMail Template for Event-Invitations

      Hello ZOHO-CRM Team How I can change the eMail Template for Event-Invitations? I work with the German Version of the Free Version. I know how I can modify eMail alerts or Signature Templates, but where I can other eMails modify you send out? Thank you
    • Workdrive Oauth2 Token Isn't Refreshing

      I have set up oauth for a bunch of zoho apis and have never had a problem with oauth. With workdrive i am using the exact same template i usually use for the other zoho apps and it is not working. All requests will work for the first hour then stops so
    • Migrate Your Notes from OneNote to Zoho Notebook Today

      Greetings Notebook Users, We’re excited to introduce a powerful new feature that lets you migrate your notes from Microsoft OneNote to Zoho Notebook—making your transition faster and more seamless than ever. ✨ What’s New One-click migration: Easily import
    • How can I import OLM to Yandex Mail easily?

      For migrating Mac Outlook OLM data to Yandex Mail efficiently, the Aryson OLM Converter is a reliable professional tool that ensures complete data integrity throughout the process. Unlike manual methods, which can risk inconsistent formatting or missing
    • Introducing Radio Buttons and Numeric Range Sliders in Zoho CRM

      Release update: Currently out for CN, JP, AU and CA DCs (Free and standard editions). For other DCs, this will be released by mid-March. Hello everyone, We are pleased to share with you that Zoho CRM's Layout Editor now includes two new field formats—
    • Is it possible to setup bin locations WITHOUT mandating batch tracking?

      Hi fellow zoho users, I'm wondering if anyone else has a similar issue to me? I only have some products batch tracked (items with shelf life expiry dates) but I am trying to setup bin locations for my entire inventory so we can do stock counting easier.
    • Implementing Inventory Process

      I am just starting to create an inventory system through Zoho for a nonprofit. We receive in-kind donations of items for kids, and utilize them in 2 or 3 different programs. Then families come in and take the items. I'm thinking of this structure: Our
    • Best way to start zoho inventory with bulk openning stock

      We are already using zoho book since long time for cars trading company. Now to streamline more, would like to import the excel data of closing stock of inventory to zoho inventory and to start on. Since we need to track each VIN (unique vehicle id number)
    • Next Page