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

        • Uploading data to S3

          Has anyone successfully uploaded data from Creator to S3 using the InvokeURL command or any other method in Deluge? (keywords: S3, AWS, Amazon, bucket)
        • UPS Label size when generated via Zoho

          We've integrated UPS with Zoho inventory. When creating and downloading the shipping labels they are created in a larger paper size. I'd like them to be generated to print on a 4x6 printer. Zoho have told me I need to do this within our UPS portal. UPS
        • Credit Management: #4 Credits on Unused Period

          Recall a familiar situation. You sign up for a monthly gym membership. You pay the subscription fee upfront, get motivated, and show up consistently for the first week. Then, suddenly, you get caught up in work deadlines, travel plans, or a dip in motivation.
        • Zoho Analytics Automatically Deletes Queries and Reports When a Synced CRM Field Is Removed

          We’ve encountered a serious and recurring issue that poses a massive data integrity risk for any Zoho Analytics customer using Zoho CRM integration. When a field is deleted in Zoho CRM — even an unused one — Zoho Analytics automatically deletes every
        • Prevent new Record Association

          Hello all, We have a small sales organization therefore, it's helpful for everyone on the sales team to be able to view the full list of accounts to assist in preventing duplicate accounts from being created. However we want to prevent people from creating
        • Tip of the Week #73– Automate workflow with Make integration.

          Make is a no-code workflow automation platform designed to connect your favorite apps and automate repetitive tasks across services. By integrating Make with Zoho TeamInbox, you can streamline everyday inbox management and save valuable time. With this
        • Viewing attachments

          I'm using a Web Form integrated in my web site to collect Leads several info, including a image upload. In order to to approve each lead, we have to view the image uploaded. Unfortunately, in the Leads view, the Attachments can only be downloaded, not
        • Kaizen #89 - Color Coding using Client Script

          Hello everyone! Welcome back to another exciting Kaizen post. Today let us see how you can apply color codes to the List and Detail Pages of Zoho CRM using Client Script. Need for color code in Zoho CRM When you mark things with different colors as a
        • Instant Sync of Zoho CRM Data?

          With how valuable Zoho Analytics is to actually creating data driven dashboards/reports, we are surprised that there is no instant or near instant sync between Zoho CRM and Zoho Analytics. Waiting 3 hours is okay for most of our reports, but there are
        • Is it possibly to directly set the tax amount on order instead of indirectly via tax rates?

          We own an eCommerce application and want to funnel submitted orders from that system into Zoho. We're already calculating tax in our application and just need a way to set it in Zoho. We tried to use Zoho's tax objects for tax by setting the rates to
        • Zoho account sign in with passkey

          Hello, I am trying to sign in using passkey, but the option doesn't show up in the web and is disabled in Oneauth on mobile, saying the admin has restricted the use. On the Admin page in Security MFA I can find no option for passkey. Help would be greatly
        • Rescheduled US meetups: Zoho Desk user meetups are coming to seven U.S. cities in October and November, 2025

          Hello to our Zoho Desk users in the United States, We're excited to share the revised dates for the upcoming Zoho User Groups happening across the US this summer. Our product experts are heading to seven cities throughout the country, and for the first
        • Checklists as templates

          Is it possible to save checklists as templates to reuse them in other tasks? Example: I have a web project. I maintain individual web URLs as tasks. Within the tasks the same checklist should be used again and again: - Page created in CMS - Properties
        • Send mass email using my secondary email

          Hello, When I send an email to just one person from Zoho CRM, a complete email editor appears, where I can choose which of my email addresses I want to use in the From field. When I send a mass email, there is not such option. I can only select the email
        • Soft Bounce from transational emails from BREVO (Sendinblue)

          I manage the website of a client who uses your EMAIL service for the domain floranativadobrasil.com. And I use the BREVO email service, previously called SendinBlue, to send transactional emails about events specific to the website. All emails sent to
        • ZOHO TEAM INBOX Calendar Integration

          The Problem: Clients send meeting invitations to our TeamInbox address. TeamInbox receives these invites, but we cannot accept them. We do not use individual inboxes for transparency purposes. Ideal Solution: A way to accept calendar invites sent to our
        • Why Can't I add unicode emoji's to my signature?

          Why would Zoho Mail prevent me from adding unicode emojis to my email signature? Every time I try to save the signature, Zoho Mail erases the emoji and any nearby content. Every time I setup something with Zoho, I know I'm going to run into some incredibly
        • Unearned / Deferred Revenue Automatic Calculation for Subscriptions

          As a SaaS business, we have multiple active subscriptions with varying dates and amounts. Is there a way to have a monthly automatic calculation for all of them that debits or credits the unearned revenue and revenue accounts accordingly? Alternatively,
        • Zoho Desk Limit for Comma Separated Queries

          Hi, I have just discovered a limit that I believed is not mentioned in any of Zoho's documentations. My search query looks like so: "query: {"accountId":"786050000091629966,786050000163589273,786050000163589427,786050000162753705,786050000162112971,786050000161987643,786050000160752868,786050000167089504,786050000167089378,786050000167089024,786050000167070005,786050000166295256,786050000128153693,786050000110560021,786050000046594575,786050000039106461,786050000002225356,786050000076889093,786050000047895103,786050000043365354,786050000044765191,786050000041790249,786050000040359116,786050000037945198,786050000024605077,786050000000525015,786050000155333895,786050000157741437,786050000000718125,786050000011574353,","departmentId":"786050000042648070","status":"Finished","sortBy":"createdTime","customField2":"cf_completion_date:2025-01-28T03:00:00.000Z,2025-10-28T03:00:00.000Z","customField3":"cf_billed:false"}"
        • Module Name doesn't exist

          I am trying to create a module named Activity, with plural Activities, but I have an error that module name already exists. This module is doesn't exist, and I don't have a single field called Activity or Activities.
        • Zoho Desk iOS and Android app update: AI powered: Reply Assistance and Refine Messages on IM module.

          Hello everyone! We are excited to introduce new AI powered features on the IM module of the Zoho Desk app. Reply Assistance: Reply Assistance generates suggested responses for incoming chat messages, which you can directly insert into the conversation
        • Is it possible to embed Youtube shorts?

          Hi Zoho desk support, This is Ryan from Accuver America. While I'm trying to create a knowledge base article with embed video, I ran into this issue. "www.youtube.com refuse to connect" A little bit background is that because this video is recorded on
        • Split functionality - Admins need ability to do this

          Admins should be able to split an expense at any point of the process prior to approval. The split is very helpful for our account coding, but to have to go back to a user and ask them to split an invoice that they simply want paid is a bit of an in
        • Delegates - Access to approved reports

          We realized that delegates do not have access to reports after they are approved. Many users ask questions of their delegates about past expense reports and the delegates can't see this information. Please allow delegates see all expense report activity,
        • How to include total km for multiple trips in expense report.

          Whenever I create a mileage report it only shows the total dollar amount to be reimbursed. The mileage for each individual trip is included but I also need to see the total distance for all trips in a report? How do I do this?
        • I didn't receive my domain verification mail

          I didn't receive my domain verification mail 
        • Get logged in user ID in Deluge script

          Hello all, How do I get the id of the logged-in user in a deluge script? the "zoho.loginuserid" function actually returns the users email address or whatever the user id they use to login to zoho with and not the id of the user record, and given that
        • Item Details Field - New Barcode / Document option?

          Is this a new feature??? its in both books and inventory.
        • Shared Mailbox - Mark as read for all users

          Hi all, Maybe someone can help me out. At the moment we have a shared mailbox without streams. When a users reads an mail or marks it as read other users will not see this. How can we resolve this? We now archive the mails when read and followed up. However
        • Can I export to PDF in Zoho Learn

          I have seen help pages where export to pdf options are available but I do not see that option available from the application. I see that exprt is available in my free trial version but that is only to html pages. I need to be able to export my manuals
        • Zoho Sites "pages" management page

          I have 80 plus pages on zoho sites. When I go to the "pages" link to view and edit pages, They are not in any kind of order, so I spend lots of time searching for pages when I need to edit or create new. How can I change the view order of all my pages
        • Staff rules

          Hi! Do you people know what are the default staff rules when a new booking is created? We have two staff members in my team (me as the admin, and my employee). As we share the same services, I'm wondering how Zoho will pick the staff for new apointments.
        • Add Image Upload Field to Zoho Bookings Registration Form

          Hi, We would like to request the addition of an image upload field to the Zoho Bookings registration form. Currently, Zoho Bookings only supports text-based fields (e.g., Single Line, Multi-Line, Email, Checkbox, Dropdown, Radio Button, and Date), but
        • Merge Tags Output Incorrect Placeholder Text After CRM Sync

          Hi everyone, I’m experiencing an issue with merge tags in Zoho Campaigns after last sync of contacts and leads from Zoho CRM (days before everything worked perfectly). Here’s the situation (seems like a default configuration in Campaigns) : My leads have
        • UI Improvement - Ability to Collapse Flow

          The UI for Flow is generally pretty good. However, when multiple decision trees are used, the layout can get pretty convoluted and hard-to-follow (see one of my Flows below): In these cases, even the auto-arrange fails to make this something that a normal
        • Windows agent 2025_M02 release notes

          Agent Version: 111.0.3.300 Release date: 24 February, 2025 Various Major enhancements to improve overall performance and optimize the user experience. Squashed a few bugs to improve overall product quality.
        • Windows agent 2025_M01 release notes

          Agent Version: 111.0.3.299 Release date: 05 February, 2025 Major Enhancement: Live Monitor feature compatibility released. Major Enhancement: Updated Scaling for multi technician cases with Android and Web based viewers. Various other bug fixes and performance
        • how to record deferred revenue?

          Dear Zoho Team, We issue invoices relating to 12-month web hosting service. When we issue the invoice, we should record the entire amount of the invoice as DEFERRED REVENUE (ie. $10 x 12 mths = $120, balance sheet item). After the particular month of the hosting service, $10 of revenue has been earned and deferred revenue amount will be $110. We must keep adjusting the balance sheet and income statement over the course of the service until the company has fulfilled its obligation of services and
        • Sending of username did not succeed: Mail server pop.zoho.com responded: User already specified

          I am having issues receiving emails from Zoho in Thunderbird.  I am getting the above error.  The first error tells me Authentication failed, and prompts me to enter in my password.  Then I get the above error.  I can receive emails when I log in online to zoho, but for some reason, it's stopped working in Thunderbird. 
        • Narrative 13: Importing your data

          Behind the scenes of a successful ticketing system: BTS Series Narrative 13: Importing your data When importing data into an application, it is crucial to prevent data loss or duplication. These types of errors can hinder the development of a clean and
        • Next Page