Function #49: Manage varying installment payments using Zoho Books

Function #49: Manage varying installment payments using Zoho Books


Hello everyone, and welcome back to our series!

Last week, we discussed automating the collection of fixed installment payments in Zoho Books. But what if your payment structure involves charging varying percentages of the invoice total as installments? We've got you covered with a solution—a Custom Button that simplifies the process.

Let's consider an example where Mr. John Hector is availing the services of Zylker Designs to build a website for his new business. The total project cost is $5,000 and is divided into the following milestones:

Initial Discussion: 10%
Design Phase: 30%
Development Phase: 40%
Final Delivery and Testing: 20%

Let's see how this payment structure can be handled in Zoho Books using a Custom Button.

First, Zylker Designs should create a sale invoice of $5,000 in their Zoho Books organization. When it's time to bill for a milestone, they can click the Custom Button and input the percentage of the invoice total to be charged. Then, a retainer invoice is automatically created and sent to the client. Once the payment for this installment is recorded, another custom function will apply it to the sale invoice, reducing the balance accordingly. This process can be repeated for each milestone until the invoice is fully paid.

But wait, there's more!

In addition to the Custom Button, we are also sharing a Related List script. This script displays information about the installment payments, such as the associated Retainer Invoice number, amounts paid, and the invoice balance both in amount and percentage.


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 Decimal-type custom field called "Installments" for the Invoices. This field will dynamically reflect the percentage of the invoice total that has been billed. 

3. 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 in line 19 of the custom button script. This ensures that all the retainers sent for collecting installment amounts are correctly labeled.

(1) Custom Button to create Retainer Invoices:

Go to Settings -> Sales -> Invoices -> Custom Buttons -> Click +New -> Populate the details as mentioned below:

1. Name - Give a suitable name (e.g., Send Installment Invoices).
2. Visibility - Select the option that aligns with your preference for granting users access to the custom button.
3. Location - Choose "Details Page Menu".

Once done, add the script from this GitHub link -> Click "Edit Arguments" > Input the Param name as "Percentage" and Param type as "String" -> Save. 

Input only "Percentage" as the Param name. 

(2) 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. 

(3) Workflow Rule to apply instalment 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.

(4) Related List:

Navigate to Settings -> Sales -> Invoices -> Related Lists -> +New Related List. Provide a suitable name, select view preferences, and then paste the script from this GitHub link. Save the changes.

Here's how to access the Custom button:

Go to Sales -> Invoices -> Click on the invoice for which you need to generate installment invoices -> Click the custom button "Send Installment invoices" -> Input the percentage to be charged -> Execute. 

Do give this a try and let us know how you liked it. If you need any help with setting up this automation, feel free to contact our support team at support[at]zohobooks[dot]com. We're here to assist you every step of the way.

Shireen Farhana
Zoho Books

      Zoho Developer Community

                                Zoho Desk Resources

                                • Desk Community Learning Series

                                • Digest

                                • Functions

                                • Meetups

                                • Kbase

                                • Resources

                                • Glossary

                                • Desk Marketplace

                                • MVP Corner

                                • Word of the Day

                                    Zoho Marketing Automation

                                            Manage your brands on social media

                                                  Zoho TeamInbox Resources

                                                    Zoho DataPrep Resources

                                                      Zoho CRM Plus Resources

                                                        Zoho Books Resources

                                                          Zoho Subscriptions Resources

                                                            Zoho Projects Resources

                                                              Zoho Sprints Resources

                                                                Qntrl Resources

                                                                  Zoho Creator Resources

                                                                    Zoho WorkDrive Resources

                                                                      Zoho Campaigns Resources

                                                                        Zoho CRM Resources

                                                                        • CRM Community Learning Series

                                                                          CRM Community Learning Series

                                                                        • Tips


                                                                        • Functions


                                                                        • Meetups


                                                                        • Kbase


                                                                        • Resources


                                                                        • Digest


                                                                        • CRM Marketplace

                                                                          CRM Marketplace

                                                                        • MVP Corner

                                                                          MVP Corner

                                                                            Design. Discuss. Deliver.

                                                                            Create visually engaging stories with Zoho Show.

                                                                            Get Started Now