
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
Recent Topics
Related to zoho survey
Hi team. I want to know something regarding zoho survey question builder. I have two questions each of dropdown (One answer) - question type. In the first question, there are 16 answer choices and in the second question, there are 3 answer choices. For
60 Days Into Zoho - Tiktok Branding Startup -7 Questions?!
Wsp Everybody I co-own a TikTok Branding / Consulting Startup & have been using Zoho for the past 60 days - Am now looking to make our overall operations & processes more Efficient & Effective! Curious to know how others are using the platform & what's
Text Message
When trying to sent a text message, it says its an error i should contact a zoho agent
Zoho POS is now available for Canadian retailers
Hey everyone, We're excited to introduce the all-new Canadian edition of Zoho POS, which helps retail businesses simplify and manage their end-to-end business operations. Start by signing up and exploring the 15-day free trial. Sign up now How does Zoho
Payroll In Canada
Hi, When can we expect to have payroll in Canada with books
Mass update to change or shift all project dates and keep project structure + shift all sub-tasks dates with main tasks
Most users would expect that if they change the start date of their project then that will be reflected inside the actual project and any project structure would be retained. Additionally if a task list with associated sub-tasks is moved, most users would expect that those sub-tasks would also be moved along with their parent task. This is not the case. For a total Project shift of dates: * the start and end date from > "Edit Project" page can have a radio button added to "shift all project tasks
Closing Accounting Periods - Invoice/Posting dates
Hi, I have seen in another thread but I'm unsure on how the 'transaction locking' works with regards to new and old transactions. When producing monthly accounts if I close December 24 accounts on 8th Jan 25 will transaction locking prevent me from posting
In-person ZUG Meetups for Real Estate Professionals - US Q1 2026
The Real Estate Zoho User Group is going on a multi-city, in-person meetup tour across the US, and we’d love to see you there! These meetups are a great opportunity to: Connect with fellow real estate professionals using Zoho Share challenges and discover
Zoho CRM custom fields not showing in zoho creator
Hi Team, I have created a Products form with Zoho CRM integration and connected it to Products module of CRM. But when I see the reports of Products in Zoho creator then I am not able to see custom fields of Products module. Only standard fields of Products
Sending email notifications based on language
Hello. I would like to know how we can bypass the default notifications (which are just in English) for when a ticket is created/replied to/closed, to be in other languages, based on the language field in the ticket? I can create other email templates,
Error AS101 when adding new email alias
Hi, I am trying to add apple@(mydomain).com The error AS101 is shown while I try to add the alias.
Zoho Error: This Operation has been restricted. Please contact support-as@zohocorp.com for further details
Hello There, l tried to verify my domain (florindagoreti.com.br) and its shows this error: This Operation has been restricted. Please contact support-as@zohocorp.com for further details. Screenshot Given Below - please check what went wrong. Thanks
Whatsapp Limitation Questions
Good day, I would like to find out about the functionality or possibility of all the below points within the Zoho/WhatsApp integration. Will WhatsApp buttons ever be possible in the future? Will WhatsApp Re-directs to different users be possible based
Introducing parent-child ticketing in Zoho Desk [Early access]
Hello Zoho Desk users! We have introduced the parent-child ticketing system to help customer service teams ensure efficient resolution of issues involving multiple, related tickets. You can now combine repetitive and interconnected tickets into parent-child
Download a file from within a zoho creator widget
I have a widget running in Zoho Creator , it displays uploaded documents in a table file, and I have added a download link in the view. ( The widget is created with html, css and javascript). I do not succeed in getting the download working. Do I have
Correlated subqueries not supported in Zoho Analytics. This creates huge limitations
Running into a major limitation in Zoho Analytics: correlated subqueries simply don’t work, even in completely standard SQL patterns inside a JOIN. Example: LEFT JOIN "Bills" b
ON d."Id" = b."Deal ID"
AND EXISTS (
SELECT 1
FROM "Bill
Zoho / Outlook Calendar sync
The current Marketplace -> Microsoft -> Meetings integration needs 2 changes. 1. The current language for the Two-Way sync option should be changed. It currently states, "Sync both your Zoho CRM Calendar and Office 365 Calendar meetings with each other."
Email content just contain 'OK' ,not what we expect
create campaign API URL: https://campaigns.zoho.com/api/v1.1/createCampaign req params: {'campaignname': 'General_Outreach_d0cfc415-43aa-4b96-bb09-558e76a3dda3_50_20251117_214806_660', 'from_email': 'admin@allinmedia.ai', 'subject': 'ALL IN MEDIA', 'list_details':
Introducing the all-new email parser!
Greetings, We are pleased to introduce to you, a brand-new, upgraded version of the Zoho CRM Email Parser, which is packed with fresh features and has been completely redesigned to meet latest customers needs and their business requirements. On that note,
Possible to connect Zoho CRM's Sandbox with Zoho Creator's Sandbox?
We are making some big changes on our CRM so we are testing it out in CRM's Sandbox. We also have a Zoho Creator app that we need to test. Is it possible to connect Zoho CRM's Sandbox to Zoho Creator's Sandbox so that I can perform those tests?
Reopen ticket
Hello! Can I reopen a ticket just using the API ticket/sendReply ? What's the rules to do it? I'm trying but it doesn't reopen the ticket, it just send the reply
Allow Admins to Transfer Ownership of Their Own Files & Folders
Hi Zoho WorkDrive Team, Hope you are doing well. We would like to request an important enhancement to the ownership-transfer functionality in Zoho WorkDrive, specifically regarding administrator capabilities. As administrators, we have the ability to
Tip#46: Capture accurate log hours
Hello everyone, Use the newly introduced timer settings that will streamline the usage of timers and help admins or workspace owners to manage the time entries of the workspace users better. Check out the below mentioned timer settings added to the Timesheet
Moving to app-specific authentication for Google integrations
Hello everyone, We’re making an important change to how Google integrations work in our platform. Until now, we used a common Google project across Zoho to enable integrations like Google Drive, Calendar, and more. Going forward, we’ll be moving to an
Double opt-in notifications and customizable confirmation messages for your webforms
Dear CRM Community, We are excited to announce a major upgrade to our Webforms feature. You can now customize the confirmation message shown to your users who double opt-in from your webform and also customize your confirmation emails when they submit
Lost the ability to sort by ticket owner
Hi all, in the last week or so, we have lost the ability to sort tickets by Ticket Owner. Unlike the other columns which we can hover over and click on to sort, Ticket Owner is no longer clickable. Is it just us, or are other customers seeing this too?
Using a CRM Client Script Button to create a Books Invoice
Hello, I need help handling error messages returned to my client script from a function. The scenario I have setup a client script button which is available from each Deal. This CS executes a crm function, which in turn creates an invoice based on the
How Can i put a form in Zobot
Hi,how can i integrate a form which has a multiple options to choose from.the form should be opened or displayed by zobot after it meets a requirement in the conversation. Thanks in advance !
Has Anyone successfully integrated Zoho and Sage Intact?
Hey all, We’re evaluating Zoho One + Sage Intacct and I’m trying to connect with anyone who has actually implemented the two together.Specifically, I’d love to know: -- Which functions you kept in Zoho vs. Intacct (e.g., Product Catalog, AR/AP, invoicing,
Admin asked me for Backend Details when I wanted to verify my ZeptoMail Account
Please provide the backend details where you will be adding the SMTP/API information of ZeptoMail Who knows what this means?
Playback and Management Enhancements for Zoho Quartz Recordings
Hello Zoho Team, We hope you're all doing well. We would like to submit a feature request related to Zoho Quartz, the tool used to record and share browser sessions with Zoho Support. 🎯 Current Functionality As of now, Zoho Quartz allows users to record
Zoho Analytics - Feature Request For Time Based Data Source Fetch
Hi Analytics Team, I have a client using Zoho CRM and they want a weekly report at 4:30pm every Friday, emailed to the sales team showing a pie chart of Closed Won Deals for that week. This is easy to achieve in Analytics but not so easy to ensure the
Which user's capacity is used for Shared Mailbox storage?
We use shared mailboxes at our company, and their size is increasing daily. Which user(s)'s total mailbox limit is being used up by this space?
Inserting the current date / time
I'd like to use Zoho Notebook as a log - so it would be great to be able to insert the current date and time at the beginning (or end) of each my log/journal entries - or wherever I want. Something simple, like pressing a button/icon to insert it wherever my text cursor is. It could be formatted like "Mon Dec 11, 2017 - 11:43p".
Migrate data from old to new account
Hy, Have one Old Zoho Notebook Account with Data , want to migrate that whole Data to New Zoho Notebook Account which is in Zoho One . Is that possible ? If Yes then how?
Campaign editor overrides href value
I've been trying to insert a deep link in an email campaign so recipients can directly open a native app on their device. My deep link looks something like "myapp://". The options to insert links in the campaign editor are limited to strict urls, emails,
Can't login IMAP suddenly
Since this evening I'm getting the error: You are yet to enable IMAP for your account. Please contact your administrator... IMAP always been enabled in my account and was workign fine for the past 7 years. Already tried turning IMAP off and on again.
how to add subform over sigma in the CRM
my new module don't have any subform available any way to add this from sigma or from the crm
Bug Report and Suggestions for Improvement in Zoho Applications
Hi Zoho Team, I’d like to report a few bugs and improvement suggestions I’ve noticed while using Zoho products: Zoho Cliq Video Call: The camera sometimes turns off automatically during video calls. This seems to be a bug — please check and fix it. Zoho
Super Admin Logging in as another User
How can a Super Admin login as another user. For example, I have a sales rep that is having issues with their Accounts and I want to view their Zoho Account with out having to do a GTM and sharing screens. Moderation Update (8th Aug 2025): We are working
Next Page