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

    • Cliq iOS can't see shared screen

      Hello, I had this morning a video call with a colleague. She is using Cliq Desktop MacOS and wanted to share her screen with me. I'm on iPad. I noticed, while she shared her screen, I could only see her video, but not the shared screen... Does Cliq iOS is able to display shared screen, or is it somewhere else to be found ? Regards
    • Inserting images into Articles or Knowledgebase

      Hi, Are there any plans in improving the Knowledgebase text editor so it would allow inserting images through Windows clipboard via copy-paste? Say for example I took a screenshot using the snipping tool in Windows and I'd like to insert that image to
    • Links not functioning in Zoho mail

      Links that are included in emails I receive are not activating. Nothing at all happens when I click on them. I have researched FAQs and this forum to no avail. Any suggestions?
    • Zoho Mail iOS app update: Manage folders and tags

      Hello everyone! In the most recent version of the Zoho Mail iOS app, we have brought in support to manage(create, edit and delete) the folders and tags. Create folders Create Tags Edit/ Delete folder In addition to this, we have also brought in support
    • [Important announcement] Zoho Writer will mandate DKIM configuration for automation users

      Hi all, Effective Dec. 31, 2024, configuring DKIM for From addresses will be mandatory to send emails via Zoho Writer. DKIM configuration allows recipient email servers to identify your emails as valid and not spam. Emails sent from domains without DKIM
    • Zoho CRM Feature Requests - SMS and Emails to Custom Modules & Time Zone Form Field

      TLDR: Add Date/Time/Timezone form field, and be able to turn off auto timezone feature. Allow for Zoho Voices CRM SMS Extension to be able to be added to custom modules, and cases. Create a feature that tracks emails by tracking the email chain, rather
    • Our Review Of Zoho CRM after 60 Days

      The purpose of this is to just share with Zoho why I love their product, but ultimately why I could not choose Zoho CRM for our next CRM. About two months ago we begun a CRM exploration process for our financial planning firm, based in Texas. We already
    • 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
    • Extend the Image Choice Field

      Hi, The New Yes/No field is great for what it does, and the Image Choice Field is good but could be better with some functions from the Yes/No field. Take an example, rather than just Yes/No you want Yes/No/Maybe (Or more than 3 choices), but unlike the
    • Zoho Desk: Macro to assign Ticket to self

      Hello, We are using macros in Zoho Desk to set some fields and send a response. I would also like to assign the ticket to myself (or whoever applies the macro). I can only set a fixed agent in the macro, so I would have to create one for every agent.
    • Turn off Knowlege Base Follow options and Follower lists

      Is there a way to hide or turn off the option in the Knowledge Base for users to follow specific departments/categories/sections/articles? If not, is there a way to turn off the public list of followers for each of those things? Otherwise, customer names
    • Enterprise Data management solutions

      I'm on the hunt for the perfect Data management solution for my organization. I've been doing a ton of research across different websites, but honestly, it's just left me more confused! A friend suggested I check here, so I'm hoping someone can point
    • New Feature: Audit Log in Zoho Bookings

      Greetings from the Zoho Bookings team! We’re excited to introduce Audit Log, a new feature designed to help you track all key actions related to your appointments. With Audit Log, you can maintain transparency, strengthen security, and ensure accountability.
    • Automated Task reminder

      First question: If a task does not have a reminder set, will it still send an email notification that the task is due today? If not, how can I set up an automated reminder to send the task owner an email that it is due on a certain date?
    • Zoho Support - contract notifications

      Hi, I have a few questions about using Zoho support. Is there a way to add custom contract notifications like (90 days before expiry send notification e-mail to agent and customer, then another 60 days before expiry and another 30 days.). And is it possible
    • Kaizen #230 - Smart Discount-Based Quote Approvals Using CRM Functions and Approval Process

      Hello everyone! Welcome back to the Kaizen series! Discount approvals are a standard part of sales governance. Most organizations need something like this: Discount % Required Action < 10% Auto-approve 10–19.99% Sales Manager approval ≥ 20% VP Sales approval
    • How to create a new Batch and update Stock via Inventory?

      Hi everyone, We are building an automation where a user enters batch details (Batch Number, Mfg Date, Expiry, and Quantity) into a Custom Module. I need this to trigger an API call to Zoho Inventory to: Create the new batch for the item. Increase the
    • OAuth2 Scope Error - Incorrectly defaulting to CRM instead of Analytics.

      Hello Zoho Team, I am trying to connect n8n to Zoho Analytics API V2 for a simple automation project. Despite using the correct Analytics-specific scopes, my OAuth handshake is failing with a CRM-related error. The Problem: The authorization screen shows:
    • Archive Option in Conversation View

      Hello, I have a suggestion\request to add an "Archive Thread" button in conversation view of Zoho Mail. The best suggestion I have is to put an "Archive Thread" button next to the "Label Entire Thread" button in conversation view. Most users don't just
    • Is it possible to create a meeting in Zoho Crm which automatically creates a Google Meet link?

      We are using Google's own "Zoho CRM for Google" integration and also Zoho's "Google Apps Sync" tools, but none of them provide us with the ability to create a meeting in Zoho CRM that then adds a Google Meet link into the meeting. Is this something that
    • Trigger a Workflow Function if an Attachment (Related List) has been added

      Hello, I have a Case Module with a related list which is Attachment. I want to trigger a workflow if I added an attachment. I've seen some topics about this in zoho community that was posted few months ago and based on the answers, there is no trigger
    • How can I link Products in a Deal Subform to the Products Module

      Hello, I have a pricing subform on our Deals page and use a lookup field to associate a product with each line. I want to be able to look at a product page within the Products module and see a list of the deals connected to that product. I have this working
    • Email Field Validation Incorrectly Rejects RFC-Compliant Addresses (Forward Slashes)

      I've encountered a validation issue with Zoho Creator's Email field that rejects RFC-compliant email addresses containing forward slashes, and I'm hoping the Zoho team can address this in a future update. The Issue When entering an email address containing
    • Call result pop up on call when call ends

      I’d like to be able to create a pop up that appears after a call has finished that allows me to select the Call Result. I'm using RingCentral. I have seen from a previous, now locked, thread on Zoho Cares that this capability has been implemented, but
    • ZOHO.CRM.UI.Record.open not working properly

      I have a Zoho CRM Widget and in it I have a block where it will open the blocks Meeting like below block.addEventListener("click", () => { ZOHO.CRM.UI.Record.open({ Entity: "Events", RecordID: meeting.id }).catch(err => { console.error("Open record failed:",
    • Payment system for donations management

      I manage an organization where we receive donations from payers. Hence, there is no need to first create invoices and then create payments received against the invoices. What are the recommended best practices to do this in ZohoBooks?
    • Recording the deducted TDS on advance received from Customer (Zoho Books India)

      Hi, How can we record the tds that has been deducted by my customer for the advance that he has paid to me. 1) My customer has paid Rs 10000 to me as advance (Rs 9800 as cash and deducted Rs 200 as TDS). I am not able to record the tds that has been deducted
    • Changing Account Type in Chart of Accounts

      Does anyone know how to change/edit the account type for an Account name in Chart of Accounts. Zoho will not let me do this for some reason
    • Bulk bank rule creatioin

      Hi team, I am exploring Option to create a multiple bank rule. Could please suggest the option to implement this?
    • Zoho books aide

      Bonjour, je rencontre un problème avec Zoho Books. J’ai effectué une demande de support via l’interface prévue à cet effet, mais je n’ai jamais de retour. Je ne reçois ni email de confirmation, ni information concernant la prise en charge de ma demande,
    • Smart Data, Smarter Contracts — Ensuring Consistency Between Metadata and Documents

      In contract management, data accuracy is not just a nice-to-have—it is essential. A single mismatch between what your system shows and what is written in the contract can ripple into approval delays, compliance risks, and broken trust in your data. Imagine
    • Join Zoho Meeting only via Web browser and not with Zoho Meeting App

      Dear Zoho team, according to the documentation [1], Zoho Meeting only offers web view for Chrome and Firefox on a desktop. For other browsers and devices, participants can only join a Zoho Meaning with the Zoho Meeting App installed. This is a big hurdle
    • CRM gets location smart with the all new Map View: visualize records, locate records within any radius, and more

      Hello all, We've introduced a new way to work with location data in Zoho CRM: the Map View. Instead of scrolling through endless lists, your records now appear as pins on a map. Built on top of the all-new address field and powered by Mappls (MapMyIndia),
    • Manage control over Microsoft Office 365 integrations with profile-based sync permissions

      Greetings all, Previously, all users in Zoho CRM had access to enable Microsoft integrations (Calendar, Contacts, and Tasks) in their accounts, regardless of their profile type. Users with administrator profiles can now manage profile-based permissions
    • inability to use different primary address on invoice per location

      my company operates in two different locations with different email address. The problems then is the inability to edit the primary to suite the invoice for the second location.
    • AI Search and Record Retrieval Inside Zoho Creator – Is This Possible?

      Is it possible to integrate an AI assistant into Zoho Creator that can intelligently search, retrieve, and analyze records within the application’s forms and reports? Can AI access and query existing Creator data securely using Deluge or APIs to provide
    • I have a requirement to integrate Zoho Books with Zoho Projects at both project and task levels.

      Currently, when i create transactions in Zoho Books (Expenses, Invoices, Bills), we can only map them at the project level. However, our requirement is to: Map records at both project and task levels Sync these transactions back to Zoho Projects under
    • Scheduled AU Data Center Database Version Upgrade for Zoho Forms

      Dear Zoho Forms' users, We would like to update you on a scheduled AU Data Center database version upgrade for Zoho Forms. Find the schedule below: Migration window: Sunday, 22nd February 2026 12.00 AM to 12.30 AM AEDT This migration is a part of our
    • Cannot get code to work with v2.mergeAndStore!

      Please can someone help me pass subform items into a repeating mail merge table row using v2.mergeAndStore? I have a mail merge template created in Writer and stored in Workdrive. This template is referenced by a custom CRM function which merges all of
    • Hotmail is blocking the zoho mail IP

      Greetings, Since last Tuesday (5 days ago today) I wrote to Zoho support and I still haven't received a single response (Ticket ID: 2056917). Is this how you treat people who pay for your email service? I am making this public so that those who want to
    • Next Page