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

    • Zoho Home Tasks View - any way to add conditional formatting?

      Hello! Is there any way to add conditional formatting to the tasks window under Home Page? Id like tasks to be shown in green/yellow and red depending on its task date. I know Classic View shows colorfull icons: But its not possible to add any custom
    • User Name in Zoho Cliq Not Updating Across Apps?

      We updated the name of a user in Zoho. (From Sue to Taylor) Her name has not been updated in Cliq on all apps. When in Zoho One, if I go to Cliq directly, it is correct, but if I am in another app, and the Cliq bar pops up on the bottom, it will be the
    • Set Default Status of Assembly to "Assembled" When Entered in UI

      I've just discovered the new "confirmed" status of Assemblies within Inventory. While I understand the intent of this (allowing for manufacturing planning and raw material stock allocation), it was initially confusing to me when manually entering some
    • New Customization options in the module builder: Quick Create and Detail view

      Hello everyone, We have introduced two new components to the module builder: Quick create and Detail view. The Quick Create Component It is a mini form used to create a record and associate it to the parent record from a lookup field. For example, if you have a Deals lookup in the Contacts module, then you can associate existing deals or create a deal and associate it with the contact. You can customize this Quick Create form by adding standard as well as custom fields. There is no limit to the number
    • Items Landed Cost and Profit?

      Hello, we recently went live with Zoho Inventory, and I have a question about the Landed Cost feature. The FAQ reads: "Tracking the landed cost helps determine the overall cost incurred in procuring the product. This, in turn, helps you to decide the
    • How do I automate my package and shipment process

      Hey, I have a very basic problem regarding automating my package and shipment. My business does not require me to have those modules and manage them currently and since I'm new to zoho I want to start with just the basics. I just need to automatically
    • Announcing Zoho Sheet desktop app for macOS and Windows (Beta)

      Hello Sheet users, We know you’ve been waiting for this one. It has always been the top priority on our roadmap to provide a single native desktop app for macOS and Windows that works both online and offline. Today, we are excited to announce that the
    • zoho creator panel add formula

      Hello. I'm using zoho panels which works good for me but i need to add an extra calculation the predefined sum function provided by zoho. not sure if this is possible? The code zoho is generating for the sum is as follows; <text margin='0px' padding='0px'
    • How to take result of calculation in a form and subtract from a value in another form

      I'm using the following code on successful form submission to perform a calculation and enter the result into a field a shown below input.Space_Used = ifNull(input.Area_In_Square_Meters,0) * ifNull(input.Total_Stock,0); I now need the result above, the
    • Re: Application Architecture in Zoho Creator — A Platform-Specific Deep Dive

      A recent community post on application architecture made some excellent points about planning architecture early in Zoho Creator projects. The core message is right — Creator applications have a habit of growing organically into maintenance nightmares,
    • Missing Fields in Lead Conversion Mapping

      I’ve been using Zoho CRM since 2013 to manage leads and convert them into contacts and jobs. When I convert a lead to a customer, I create a new contact and a job. Previously, this process automatically transferred key information from the lead to the
    • Mass email from Report output

      Hi, I'd like to send a mass email based on a report output. The report is pulling multiple information from linked modules. Each line of the report ends up with a contact name, email and multiple field values pulled from the linked modules (some are custom
    • What's New in Zoho Analytics - February 2026

      Hello Users! We're back with another round of updates for Zoho Analytics. This month's release focuses on giving you greater flexibility in how you visualize, manage, and act on your data - with new features like custom visualizations, remote MCP server,
    • Understanding tasks

      So we have a module linked to contacts called Equipment and that in turn has a related module called service calls. Often on a service call we want add a task but we are not able. I think it needs a link to the contact. WE therefore tried to add tasks
    • Cross Module Filtering – Use Fields from Lookup modules in Custom Views criteria and Advanced Filters

      Hello everyone, Zoho CRM now enables you to achieve deeper filtering of records in a module, using fields of a lookup, thereby enhancing your data management experience manifold. This filtering based on lookup module fields is now available in advanced
    • Related Lists in Email Templates

      Hi Zoho team, I would love to see a feature where related list information can easily be added to an email template (instead of mail merge). I have a client who books flights for their customers. They do this through a Flights module so all booked flights
    • Auto-sync field of lookup value

      This feature has been requested many times in the discussion Field of Lookup Announcement and this post aims to track it separately. At the moment the value of a 'field of lookup' is a snapshot but once the parent lookup field is updated the values diverge.
    • Introducing SlyteUI : From Idea to a Working Interface in Minutes

      Hello everyone! Are you spending hours building basic UIs? Does even the smallest customization feel like a major task? CRM customization should feel intuitive and straightforward, not time consuming or exhausting. SlyteUI makes this possible by simplifying
    • need to add tax in servce and items

      please give access to add gst or tac to add in service and parts
    • Blueprint transitions on locked records

      We use the ability to automatically lock records (quotes, sales orders, etc.) based on criteria, such as stage. For instance, if a quote has been sent to a client, the quote is then locked for further edits. Our ideal quote stage process is: Draft>Sent>Won.
    • Lead Entry Strategy

      Hi there. Was wondering if anybody could share their strategy around lead entry into Zoho CRM. One of the challenges with Zoho CRM is a lead requires a last name. We want to capture companies that operate within our addressable market, and we often don't
    • Social posts not saving as drafts or posting

      Over the past two days, I have written and modified the same post for 5 different channels 4 different times. They will neither save as draft, nor go through and load in the scheduler, nor will they post when I try to push it live now. In every case,
    • Introducing user groups, roles, and profiles in Zoho Sign

      Hello, Today, we're excited to unveil user groups, roles, and profiles to offer granular access controls in Zoho Sign. These help administrators manage document visibility and accessibility based on assigned user roles and permission sets. User groups:
    • On Duty Requests - Zoho People Data

      Hello Team, We are currently using the On Duty Form to record Work From Home (WFH) requests in our organization. However, we are facing an issue where pending On Duty requests are not appearing in the Attendance Module. For example, if I submit On Duty
    • Add org-specific data with Custom modules

      Zoho Sprints offers a wide range of default modules designed to support agile project management. However, some projects or organizations may require additional modules to store project-specific or organization-specific data. To address this, Zoho Sprints
    • All new Address Field in Zoho CRM: maintain structured and accurate address inputs

      Availability Update: 29 September 2025: It's currently available for all new sign-ups and for existing Zoho CRM orgs which are in the Professional edition exclusively for IN DC users. 2 March 2026: Available to users in all DCs except US and EU DC. 24
    • 【無料/オンライン】4/30開催|Zoho ワークアウト(オンライン勉強会)

      ユーザーの皆さま、こんにちは。 コミュニティグループの中野です。 4月開催の「Zoho ワークアウト」のご案内です。 本イベントは、Zohoユーザー同士で交流しながら 設定・運用・活用に関する課題解決を目指すオンライン勉強会です。 「設定を進めたいけれど、一人だと手が止まってしまう」 「他社がどう活用しているのか知りたい」 「相談できる相手がおらず、運用に悩んでいる」 そんな方におすすめのイベントです。 ▶︎参加登録はこちら(無料) https://us02web.zoom.us/meeting/register/qIH1ut8aTnq-R7-21eF3BQ
    • Give your organization a branded login experience with White Labeling

      When users log in to their email, the URL they land on is often the first thing they notice. A generic login page can feel disconnected from your organization's identity, especially when you have already established a strong brand presence. For administrators,
    • 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
    • Search API filter/sort ignores comment-triggered modifiedTime updates

      Summary When a comment is added to a Call or Account, the parent record's modifiedTime is correctly bumped. This bumped value is visible in: GET /api/v1/calls/{id} ✅ GET /api/v1/calls/search without a filter ✅ — the record's response body shows the new
    • Automation#17: Auto-Create Tasks in Zoho Projects Upon Ticket Creation in Zoho Desk

      Hello Everyone, This edition delivers the solution to automatically create a task in Zoho Projects when a ticket is created in Zoho Desk. Zylker Resorts uses Zoho Desk for bookings and handling guest requests. Zylker resorts outsources cab bookings to
    • Mail Merge in Zoho Desk

      Hello Team, Do we have an option of mail merge within Zoho Desk like we have in Zoho CRM? We have a requirement to generate some pdf file in the form of mail merge doc from the ticket.
    • No DINAR (Serbia) in currency list

      There is no Serbian Dinar listed in the currency list. Dinar is available in Books, Inventory, CRM, FSM. Please make it available in Desk as well. Without it, the integration with other apps is not possible.
    • CRM Notes

      Hello, We want to add a Note to the Contact record when a Note is added to a Case or Deal. I wasn't able to do this using a workflow, so I tried using Zoho Flow, but that didn't work either. Does anyone have a suggestion on how we can accomplish thi
    • Zoho Forms for Vertical Studio Subscriber Organizations

      We’re excited to introduce the Zoho Forms integration with Vertical Studio. This allows you to capture data using forms and send it directly to your Vertical Studio modules. With this integration, form submissions can be used to create or update records,
    • Using Email Triggers on Zoho Flow

      Hello, I'm sending the email to create the variables as this article says: https://help.zoho.com/portal/en/kb/flow/user-guide/create-a-flow/articles/email-trigger#How_email_trigger_works But the collection of the variables only seems to work when the
    • How to transfer uploaded files from Zoho Survey to external systems?

      Hi everyone, I'm currently integrating Zoho Survey with an external system and have run into a limitation I haven't been able to solve yet. I'm using webhooks to send submitted survey data (JSON) to my external API, which works perfectly for all standard
    • Re-Apply SLA When Ticket Reopened from Closed Status?

      If you have an SLA applied, timers are deactivated when going to "On Hold" status type and reactivated when going back to an Open status type. What we discovered is when a customer replies to a closed case and it reopens, the SLA is not applied and timers
    • WhatsApp Calling Integration via Zoho Desk

      Dear Zoho Desk Team, I would like to request a feature that allows users to call WhatsApp numbers directly via Zoho Desk. This integration would enable sending and receiving calls to and from WhatsApp numbers over the internet, without the need for traditional
    • Sync Task Status from Zoho Projects to Zoho Desk

      Hi Zoho Desk Team, Hope you’re doing well. We’re actively using the Zoho Desk–Zoho Projects integration, which helps our support and project teams stay aligned. However, we noticed that when we change a task’s status in Zoho Projects, the change is not
    • Next Page