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

    • Add "Reset MFA" Option for Zoho Creator Client Portal Users

      Hello Zoho Creator Team, We hope you are doing well. We would like to request an important enhancement related to Multi-Factor Authentication (MFA) for client portal users in Zoho Creator. Currently, Creator allows us to enforce MFA for portal users,
    • Tables for Europe Datacenter customers?

      It's been over a year now for the launch of Zoho Tables - and still not available für EU DC customers. When will it be available?
    • NOTAS INVISIBLES

      Siempre que abro mis notas salen invisibles, muchas no resaltan las *negritas* en la vista previa hasta que te metes en ellas y modificas algo. Pero omg con el equipo de Zoho. Les dije que las usaba mucho precisamente por la VISTA PREVIA y encontrar las
    • Does Zoho has chatroom/chatbot url feature?

      Hi Zoho community! I’m looking for a quick "Yes/No" answer for my dev team regarding Zoho’s capabilities. We currently use Zoho Desk for our Service Team and Zoho CRM for our Marketing Team to bring both functions under one platform. Our question: Does
    • One Support Email Managed By Multiple Departments

      Hello, We use one support email (support@company.com). Incoming emails come to the "Support Department" and based on what the customer is asking, we route that ticket to different departments (billing, technical support, etc.). When users in these different
    • Is it Possible to Modify Standard Report Urls

      Is there a way to permanently modify standard report Urls? Use case: Suppose I have a Products report. Showing list as timeline, calendar, or kanban doesn't make sense. Want to hide that from users by adding #Report:Products?zc_ShowAs=false&zc_Print=false
    • Updated font library: New font styles and custom font options in Zoho Sheet

      Zoho Sheet's font library now supports 500+ font styles in 60+ languages! The updated font library is stacked with new font styles, and some of the previously available font styles have been replaced with equivalent options. There are two ways you can
    • scope for phonebridge in CRM and phonebridge API documentation

      Hi I cannot find the scope to be used for phonebridge in CRM API V2 calls. I am getting OAUTH_SCOPE_MISMATCH for scope group ZohoCRM.modules.ALL,ZohoCRM.setttings.ALL Also I am not able to locate the documentation for the same, All I have is phonebridge
    • Job Alerts for Candidates

      hi All, I have 2 questions relating to sharing job details with candidates. 1. is there a way to notify candidates that meet certain criteria of current jobs available? eg. I run a candidate search, and identify 50 candidates that might be suitable. Can
    • Zoho Wiki or new Zoho Learn

      We are currently evaluating if we should move off confluence. At present in Confluence we have multiple levels within our documentation but with learn it looks like you can only have Space       - Manual             - Chapter Is it possible to have levels below Chapter? Also the same question for the existing wiki, can I have more sub-levels?
    • Fix image at bottom of a page fot automatic proposal creation

      I'm working on a proposal document to automate our proposal creation process. So far it works fine, but I experience some problems with an image I want to have fixed at the bottom of the page AND above the footer. This section of the document consists
    • Can't scroll the page down unless I refresh the page

      Hello, This issue has been going on with me and a lot of other users in my organization, we can't scroll down! the scrolling side bar doesn't appear and scrolling down through mouse or keyboard keys doesn't work, it seems that the page just ends in the
    • Price List

      II want to restrict the items to display in sales, quote, etc for which custom rates are added in price list. How I can do the same in Zoho books
    • Let’s Talk Recruit: Still switching tabs to source?

      Welcome back to the Let’s Talk Recruit series. Let’s talk about how you actually source talent. Do you open multiple job boards every single time a role opens? Run the same keyword searches you ran yesterday? Download, upload, rename, and then do it again
    • Kaizen #231 - Embedding Zoho Desk Tickets in Zoho CRM

      Hello, CRM Wizards! This week, let us enhance cross-team visibility between Zoho CRM and Zoho Desk. We will use the Zoho Request Client inside a Related List widget to display open Zoho Desk tickets directly within the Contact record in Zoho CRM. This
    • Introducing a smarter, faster, and more flexible charting experience

      Hello Zoho Sheet users, We're delighted to share the latest news about a major update to charts in Zoho Sheet! The new version supports dynamic data ranges, granular styling options, faster loading, and other interesting enhancements that allow you to
    • Introducing Job Alerts

      Keeping candidates engaged beyond their first application is one of the most consistent hiring challenges. Many interested candidates simply do not revisit career sites regularly, which can result in missed opportunities and reduced re-applications. To
    • Task status - completed - other options

      I have a dumb question I know i can make custom statuses for the tasks - but is there anyway to make additional "completed" statuses like for instance if i have a task "call back customer" and i leave a vm for them to call back marking it "completed -
    • Bank feed integration First Abu Dhabi Bank (FAB) to Zoho? (UAE)

      Hello everyone, Is First Abu Dhabi Bank in the list of banks available for bank feed integration with Zoho Books? Thank you.
    • How to Export Filtered List of Contacts?

      This seems like it should be simple, but I'm stymied. I'm trying to export a filtered list of my Contacts for analysis in a spreadsheet. The use case is that I'm an ecom business based in the US. The bulk of our customers are individuals stored as Contacts.
    • Quick Create needs Client Script support

      As per the title. We need client scripts to apply at a Quick Create level. We enforce logic on the form to ensure data quality, automate field values, etc. However, all this is lost when a user attempts a "Quick Create". It is disappointing because, from
    • can we add product images in Zoho CRM Quote PDF template?

      I want to create a quotation format in Zoho CRM similar to the attached PDF, where each product is displayed in a table with rpoduct image I need the product image to appear inside the line items section of the quote. However, while checking the Quote
    • Does Zoho Writer have Dropdowns

      I want to add a drop down field in Zoho writer. Is this possible?
    • Facturation électronique 2026 - obligation dès le 1er septembre 2026

      Bonjour, Je me permets de réagir à divers posts publiés ici et là concernant le projet de E-Invoicing, dans le cadre de la facturation électronique prévue très prochainement. Dans le cadre du passage à la facturation électronique pour les entreprises,
    • Users Lookup

      It would be extremely convenient to have a lookup field whose type is Users. There are many instances where we need to relate certain actions to users. Furthermore, in our company the candidate sourcer might not be the one who's creating the profile (done by an admin). Please do consider adding this essential feature in the future. Thank you
    • Connecting Multiple WooCommerce Stores to a Single Zoho Marketing Automation Account

      Is it possible to connect multiple WooCommerce stores to a single Zoho Marketing Automation account?
    • Service Title in Service Report Template Builder

      I am currently working on the Service Report Template Builder in Zoho FSM. I have created three separate service report templates for different workflows: Preventive Maintenance Report Requested Service Report Installation Report My issue is that I cannot
    • Update: New Security Admin Role

      Hello Zoho Directory Admins! This post is to highlight the recent role and permission changes introduced as part of the security enhancements. Previously, Helpdesk Admins had the security permissions and were responsible for managing the security configurations
    • Client Script | Update #14 - Client Script Support for Quick Create

      Hello Everyone! We are back with another exciting and highly awaited update in Client Script! Over the past months, many of you shared your insights and requests, asking for the power to extend Client Script functionality to Quick Create forms. This capability
    • I'd like to suggest a feature enhancement for SalesIQ that would greatly improve the user experience across different channels.

      Hello Zoho Team, Current Limitation: When I enable the pre-chat form under Brands > Flow Controls to collect the visitor’s name and email, it gets applied globally across all channels, including WhatsApp, Messenger, and Instagram. This doesn't quite align
    • The Social Playbook - February edition: Why moment marketing works (and how brands use it)

      Imagine the final season of your favorite series is about to drop. Your entire feed is talking about it. Trailers everywhere. Fan theories. Hype at 100%. Now your go-to burger place launches a limited-edition meal box themed around that series—custom
    • PDF Attachment Option for Service Reports

      Hello Team, I would like to check with you all if there is an option to attach PDF documents to the service reports. When I try to attach a file, the system only allows the following formats: JPEG, JPG, and PNG. Could you please confirm whether PDF attachments
    • Cliq Bots - Post message to a bot using the command line!

      If you had read our post on how to post a message to a channel in a simple one-line command, then this sure is a piece of cake for you guys! For those of you, who are reading this for the first time, don't worry! Just read on. This post is all about how
    • Copy paste settings

      Hello all i have 2 organizations running in ZOHO books in one organization i have customised Tax rates, codes and customized templates instead of manually doing again in org 2 can i have some shortcut to copy paste or export and import??
    • 【Zoho CRM】営業日のロジックに関するアップデート

      ユーザーの皆さま、こんにちは。コミュニティチームの中野です。 今回は「Zoho CRM アップデート情報」の中から、営業日のロジックに関するアップデートをご紹介します。 本アップデートにより、ワークフローにおける営業日の計算方法が改善されました。 週末などの非営業日にワークフローのトリガーが発生した場合でも、 「+0」「+1」「+2 営業日」といった設定が、意図どおりに正確に動作するようになりました。 営業日に基づくワークフローでは、日付項目を基準に「何営業日後に処理を実行するか」を指定します。
    • Merged cells are unmerging automatically

      Hello, I have been using Zoho sheets from last 1 year. But from last week facing a issue in merged cells. While editing all merged cells in a sheet became unmerged. I merged it again, but it again unmerged. In my half an hour work I have to do this 3-4
    • Just want email and office for personal use

      I am unclear as how to how I would have just a personal email (already do have it and love it) and get to use docs, notebook, workdrive etc. In other words mostly everything I had a google. I find gocs can be free with 5gb and so can mail with 5gb. Are
    • Unable to change the "credentials of login user" option when creating a connection

      I want to create a new Desk connection where the parameter to use 'credentials of login user' is set to YES. I'm able to create a new connection but am never given the option to change this parameter. Is this a restriction of my user profile, and if so,
    • Show backordered items on packing slip

      Is it possible to show a column on the Packing Slip that shows number of backordered items when a PO is only partially filled? I would also like to see the Backordered column appear on POs after you receive items if you didn't get ALL of the items or partial amounts of items. And lastly, it would be nice to have the option of turning on the Backordered column for invoices if you only invoice for a partial order. -Tom
    • Zoho CRM Community Digest - January 2026 | Part 1

      The new year is already in motion, and the Zoho CRM Community has been buzzing with steady updates and thoughtful conversations. In this edition, we’ve pulled together the key product enhancements, Kaizen learnings, and helpful discussions from the first
    • Next Page