Building extensions #1: Creating and testing extensions for Zoho Finance Suite applications

Building extensions #1: Creating and testing extensions for Zoho Finance Suite applications

Hello developers!

We're excited to announce a new series called "Building extensions" to assist developers in creating efficient extensions for Zoho Finance Suite products. We'll support and guide you through the process of creating an extension and using the features offered in the developer portal.

What are extensions?

Extensions are installable plugins or add-ons that help enhance the existing functionality of your Zoho product or seamlessly integrate and interact with third-party applications for data transmission.

How can you build extensions?

Zoho offers a developer platform called Zoho Developer that allows you to build different types of applications. Sigma is a platform offered within Zoho Developer that is specifically designed for creating extensions for various Zoho products. Throughout this series, we'll look at how to create and develop extensions for the Zoho Finance Suite applications using Sigma.

Get to know all about extensions and building them further in detail.

Sigma extension support

The Zoho Finance Suite consists of seven applications: Zoho Books, Zoho Inventory, Zoho Expense, Zoho Invoice, Zoho Billing, Zoho Checkout, and Zoho Payroll. Currently, the Sigma platform supports creating and building extensions for these five Zoho Finance applications:
  • Zoho Books
  • Zoho Inventory
  • Zoho Expense
  • Zoho Invoice
  • Zoho Billing
Creating an extension
  • Log in or sign up at developer.zoho.com.
  • Go to Sigma and access your workspace.
  • Once you enter your workspace, you'll be taken to the Extensions section in Sigma.
  • Click the New Extension button to start building an extension.                                                                                     
  • Enter a name and description for the extension and choose the service you want to build the extension for. As mentioned earlier, Sigma offers support for Zoho Books, Zoho Invoice, Zoho Inventory, Zoho Billing, and Zoho Expense.                                                                                          
  • For our demo, let's choose the service as Zoho Books. Accept the terms and conditions, and then click Create.                                                                                          
  • The extension is successfully created. You can click the Extension Details icon to see an overview of the extension.                                                                                          
The extension details page shows the general details of the extension, such as creation date, creation time, and version, and allows you to associate developers with the extension.
  • Click the Edit Extension icon to start developing the extension.                                                                                  
  • The Zoho Books Developer Portal opens with the options and native features available to customize, curate, and develop your extension.                                                                
Zoho Books Developer Portal sections

The developer portal has four different sections to help customize and build your extension.

Learn: This section lists the native Zoho Books capabilities that can be used to create and develop extensions. Clicking the Set up Now button next to each feature will take you to the feature's development setup page.
                                                                                           

Build: This is the development setup section, which includes customization, automation, and components like connections, widgets, schedules, webhooks, and signals. You can customize your extension preferences, establish connections to integrate with other applications, and design custom interfaces to enhance user experience.
                                                                                          

Configure: This section assists with handling your extension's required configurations, whether they are generic settings or customizations required from the user. You can add global fields, which can be incorporated as either variables that store static data or through custom widgets that retrieve user inputs. You can also define functionalities that happen during installation and uninstallation.
                                                                                          

Publish: Once the extension has been built and configured, you can use this section to publish it for either private or public use. In both cases, the Zoho Books team will review the extension; for public extensions listed on Zoho Marketplace, the Zoho Marketplace approval team will also review them. You can share your privately published extension with other users using the Shared List option.
                                                                                          

We will explore more about each of these sections and their features in upcoming posts.

Testing an extension

The Zoho Books Developer Portal offers a dedicated testing environment for each extension, allowing you to test and validate it before publishing.

As a developer, you can use the Test Your Extension option in the top right corner of the portal to access your extension's sandbox environment.
                                                                  

This will redirect you to the sandbox testing environment for the extension you're developing, which is similar to Zoho Books and contains relevant modules to test with.
                                                                  

You can populate necessary data and test your extension functionality. Once everything is validated, you can go ahead and publish your extension for private or public use.

For support or questions related to Zoho Finance Suite extension development, you can email developer@zohofinance.com.

We hope you found this guide useful. Keep following this space for more information!

      • Recent Topics

      • Zoho Books blocks invoicing without VeriFactu even though it is not mandatory until 2027

        I would like to highlight a very serious issue in Zoho Books for Spain. 1. The Spanish government has postponed the mandatory start of VeriFactu to January 1st, 2027. This means that during all of 2026 businesses are NOT required to transmit invoices
      • Unable to produce monthly P&L reports for previous years

        My company just migrated to Books this year. We have 5+ years financial data and need to generate a monthly P&L for 2019 and a monthly P&L YTD for 2020. The latter is easy, but I'm VERY surprised to learn that default reports in Zoho Books cannot create
      • Hide fields only for creation

        Hello, I'd like to hide some fields only during the creation of a contact in Zoho CRM. In fact I have some fields that are automatically calculated thanks to an automation, so when my users create a contact I don't want them to fill those fields. I know
      • Can I hide empty Contact fields from view?

        Some contacts have a lot of empty fields, others are mostly filled. Is there a way I can hide/show empty fields without changing the actual Layout? I would like to de-clutter my view, and also be able to add information later as I am able. I would be willing to learn to code a button, but I am highly confused about it and thus worried it would be beyond me.  I've looked at a lot of the developer documents and I'm not able to make a lot of sense of them.  Thank you in advance to anyone who knows the
      • Issues with Zoho Sheet in Mac

        I have downloaded the Zoho App from App Store but It is failing to Save As, Open & Download Operations. App Store
      • Weekly Sales Summary

        Is it possible to generate a weekly report in Zoho Books to show -$$ amount of estimates generated -# of estimates generated by Salesperson -$$ amount of Sales Orders created -$$ amount of Invoices generated
      • Create case via email

        Good Afternoon, I have just registered and am taking a look around the system. Is it possible to create a case via email.  I.e. an employee/client/supplier emails a certain address and that auto generates the case which then prompts a member of staff
      • Can I write a check in Zoho Books with no associated bill?

        This currently does not seem possible, and I have a client that desperately needs this function if I am able to convert them with Quickbooks. Thank you in advance for your reply. 
      • OpenAPI Specs are just plain wrong

        The provided yml files for generating the OpenAPI specs are absolutely riddled with errors and inconsistencies. From missing fields on the objects, to just incorrectly named resource objects. I'm having to go through and manually changing the spec to
      • Why Sharing Rules do Not support relative date comparison???

        I am creating a Sharing Rule and simply want to share where "Last Day of Coverage" (Date field) is Greater than TODAY (Starting Tomorrow). However, sharing rules don't have the option to compare a date field to a relative date (like today), only to Static
      • How create a draft via workflow?

        I wish to create a workflow rule for specific emails that creates a draft response - not an automatic email reply, but just a draft with a set response ready to be verified by an agent who can then manually select recipients. Alternatively, the workflow
      • About Meetings (Events module)

        I was working on an automation to cancel appointments in zoho flow , and in our case, we're using the Meetings module (which is called Events in API terms). But while working with it, I'm wondering what information I can display in the image where the
      • Custom Footer – Zoho Writer Document

        Hello everyone, I’m having an issue adding a custom footer in a Zoho Writer document. I would like to insert my company information (including a logo + address) in the footer. The problem is that when I add these elements, the main content of my pages
      • From Zoho CRM to Paper : Design & Print Data Directly using Canvas Print View

        Hello Everyone, We are excited to announce a new addition to your Canvas in Zoho CRM - Print View. Canvas print view helps you transform your custom CRM layouts into print-ready documents, so you can bring your digital data to the physical world with
      • Workflow Down/Bug

        We have a workflow that sends an email to one of our internal departments 10 minutes after a record is created in a custom module. The workflow actually works correctly. However, we have now noticed that on January 8, between 3:55 p.m. and 4:33 p.m.,
      • Report grouping

        I have added a grouping in a report but it is not working how i had expected. I wanted to group a summary on a field named Size but when i add the grouping the report is still showing me each record and making a summary at the bottom of the report. What
      • Social Media Simplified with Zoho Social: Preview your Instagram grid before posting

        For a platform like Instagram that relies on visual appeal, it's important that you plan your image and video content in a way that holds your audience's attention. Planning your grid ahead of time gives you the benefit of understanding how your posts
      • FSM - Timesheet entires for Internal Work

        Hi FSM Team, Several of my clients have asked how they can manage internal timesheets within Zoho FSM. Since their technicians already spend most of their day working in FSM, it would be ideal if they could log all working hours directly in the FSM app.
      • VAT rates - exempt and out of scope

        Good Evening, UK based company here. I am a bit confused in respect of setting up VAT rates for exempt goods and services; at present I am simply leaving the VAT rate blank in the transactions in order to prevent any VAT appearing in the VAT return. When
      • Are there settings for hyperlinks?

        Clicking a hyperlinked cell in Sheet creates this little pop-up with the actual hyperlink inside. Is it possible to have a 1-click link where if you click the cell it opens the link directly with no pop-up?
      • How to loop through Multiple Upload and Display Actual File Name

        I have been reading the help on the File Upload Control and reviewed the Deluge help on files and I can not figure out how to loop through the uploaded files and do anything but get the automatically created file names. The code below will run but each
      • abou arattai

        I want to use the Arattai app for business purposes, so please convert my account to a business account.I have my own invoice app, and I want to link it with the Arattai app for direct messaging.
      • IF Statement in Zoho CRM Formula Field

        Hi, I am attempting to write a formula field that will give me one result if one statement AND another statement are true, then a different value if the first statement AND a different statement are true, else 0. Stated differently: if account = destination
      • Sending automated messages that appear in the ticket's conversation thread

        Good morning, esteemed Zoho Desk community, warm greetings Today I am here to raise the following problem, seeking a solution that I can implement: I need to implement an automation that allows me to send reminder messages to customers when I am waiting
      • Configurable Zoho Cliq Notifications for Zoho People Alerts

        Hello Zoho People Product Team, Greetings and hope you are doing well. We would like to request an enhancement to Zoho People notifications, enabling a native delivery via Zoho Cliq with admin-level control, similar to the notification settings available
      • Overlapping Reports in Dashboards

        It's rare, but occasionally it would be a good feature if I were able to overlap reports, either fully or partially in the Dashboards. Also, then having the ability to move objects to the front or rear, or make them transparent/translucent would be good
      • PDF Annotation is here - Mark Up PDFs Your Way!

        Reviewing PDFs just got a whole lot easier. You can now annotate PDFs directly in Zoho Notebook. Highlight important sections, add text, insert images, apply watermarks, and mark up documents in detail without leaving your notes. No app switching. No
      • Looking back at Zoho Calendar in 2025

        Hello Zoho Calendar Community, As we step into a brand-new year, we’d like to take a moment to thank you for being an active and valued part of the Zoho Calendar community. Your trust, feedback, and continued engagement motivate us to keep evolving and
      • Why hybrid project management might be the best fit for you?

        Project management techniques are designed to equip teams with proven methods for easy and efficient project execution. While management teams may have apprehensions about adopting the hybrid method of project management, we’ve compiled the top reasons
      • Add a way of clearing fields values in Flow actions

        It would be great if there was an option to set a field as Null when creating flows. I had an instance today where I just wanted to clear a long integer field in the CRM based on an action in Projects but I had to write a custom function. It would be
      • There was an error while connecting to GSTN

        I am trying to file GSTR1. Everything flows smoothly until I reach the final step of filing the return. After I enter the PAN and OTP for filing it raises the error "There was an error while connecting to GSTN"
      • Zoho Books Extension: What Happens If Custom Fields Already Exist?

        When developing Zoho Books extensions, what happens if the target Zoho Books organization already has a custom field with the same API name as one defined in the extension? I’m asking because we originally created an on-Books version of this functionality,
      • Internal Server Error (500) When Attempting to View Banking Transactions

        I am experiencing an Internal Server Error (500) when attempting to view transactions across all of my banking accounts. Despite multiple attempts to resolve this, I have received little more than runaround from support, and the issue remains unresolved.
      • How do I add a blank line to the Organisation Address Format?

        I'd like to have my VAT number, for example, shown prominently by having a clear gap between it and the address block above, but any blank lines in the address format get ignored in PDF outputs.
      • Automatic Invoice Number generation for createRecord

        Hello, while testing some custom Buttons in my Zoho Books application, I noticed that I get an error that previously did not occur. After some further digging I found that the automatic transaction numbering of invoices no longer work in my organization.
      • Adding number of days to an estimate.

        I need both QTY of item and "number of days hire" in my estimates at the line item level. Any clues as to how this is done would be greatly appreciated. It needs to calculate. Thanks J
      • Books Api: listing expenses created after certain dates

        Is there any parameter I can add to the List Expenses endpoint that will let me look up expenses by when they were created?
      • Why can't we change the Account type from an Expense to an Asset?

        Like the question. Why in QuickBooks for example if I mistakenly created an account as an expenses and I already captured information in those accounts, I can just change the account type from expense to asset
      • Nueva edición de "Ask The Expert" en Español Zoho Community

        ¡Hola Comunidad! ¿Te gustaría obtener respuestas en directo sobre Zoho CRM, Zoho Desk u otra solución dentro de nuestro paquete de CX (Experiencia del Cliente? Uno de nuestros expertos estará disponible para responder a todas tus preguntas durante nuestra
      • Highlight a candidate who is "off limits"

        Hello: Is there a way to highlight a candidate who is "off limits"?  I would like to have the ability to make certain candidate and / or Client records highlighted in RED or something like that.   This would be used for example when we may have placed a candidate somewhere and we want everyone in our company to quickly and easily see that they are off limits.  The same would apply when we want to put a client or former client off limits so no one recruits out of there. How can this be done? Cheers,
      • Next Page