Extensions 101: Build Extensions for Zoho Finance suite

Extensions 101: Build Extensions for Zoho Finance suite



Hello Developers!

We are thrilled to announce our 5-day webinar series on building extensions for Zoho Finance Suite products.

Our first session was a resounding success, introducing Extensions, Zoho Developer, Zoho Marketplace, and the Zoho Books Developer platform. The session was not only informative, but also highly interactive. We look forward to continuing this momentum in our upcoming sessions.

If you missed the first session, you can find the recording below. To participate in our upcoming sessions of this series, you can register here.



As part of our commitment to your learning, we have carefully curated the questions received during the session and provided answers. We understand your questions are crucial to your understanding, and we are here to support you.
  1. Could you help us with more information related to Zoho Platform in general, Zoho Flow, and Zoho Creator.
    You can find the details about the different platform capabilities in the following link. https://www.zoho.com/developer/apps.html. You can also refer to this video, which explains the Zoho Developer platform and the different sections available in it.

  2. How do we make connections work in the test environment?
    The base URL for testing APIs in the developer portal sandbox is
    https://extension-books.sandbox.zoho.com.
    The respective team is working on a fix to resolve this, so that "api_root_endpoint" from the Organization map can be used without any issues to test the APIs in the sandbox. We will keep you updated here in this post once the fix is rolled out live.

    [Updated on 02/Jul/2024]
    As mentioned earlier, the issue has been fixed and rolled out. Now, you can use the "api_root_endpoint" from the Organization map, which will automatically fetch the current environment's base URL. You can refer to the code snippet below for fetching Books information with your connection details:

    organizationID = organization.get("organization_id");
    apiEndpoint = organization.get("api_root_endpoint");
    respcontacts = invokeurl [
         url :apiEndpoint + "/contacts?organization_id=" + organizationID
         type :GET
         connection:"xxxxxxxxxx"
         ];

  3. What are the criteria to be considered while choosing to utilize a Private Extension or performing the customizations on a Zoho Books instance?
    A private extension would be helpful when you need to share a customized feature with multiple Zoho Books instances (orgs or users). Otherwise, you can go with product customization.

  4. Are global variables created in an extension accessible in other extensions/widgets?
    No, global fields can be accessible within the extension in which they were created. If necessary, visibility can be controlled within the extension.
    https://www.zoho.com/books/developer/extensions/configuration.html#global-fields

  5. Is it possible to connect WhatsApp business account with Zoho books along with its features?
    No. You cannot directly connect an application with Zoho Books. For any integration with Zoho Books, a secure and valid connection with the respective product must be established. Following that, you need to build the integration based on the use cases you plan to achieve. This implementation will depend upon the platform as well as the products' supported features.

  6. How do I construct data for items, materials, and prices without manually editing items as it consumes more time?
    With widgets and APIs, you can use your own user interface to create the respective module's records.

  7. Can we use global variables to store sensitive information needed for use by the extension/widget? What is the alternative to global variables?
    While reviewing the extension, we don't encourage storing users' sensitive information as per privacy policies. Other than that, if you need some data to be stored securely and used within an extension, global variables would be the best option. Otherwise, you can store it through a widget.

  8. Is the sandbox data retained between tests?
    Yes. The data will be retained.

  9. How do widget and extension share data?
    Similar to how you add various components to your extension, widgets are also added as a component. Unlike the other components, widgets must be embedded into Zoho Books at a specific, customizable location. Consequently, data or values defined within an extension will be accessible from a widget. The visibility and accessibility of the data can be controlled depending on how it is defined.

  10. Can I access the Zoho Developer from my Zoho Books?
    No. Zoho Developer is a free cloud platform that allows users to build different types of apps for Zoho products. You can only develop extensions for Zoho Books using this platform.

  11. Use case: When a contact is linked to a product in Zoho CRM, a new ticket needs to be created in Zoho Desk. To implement this, how can I connect to Zoho Desk to create a ticket?
    To implement your use case, you must create an extension for Zoho CRM with a connector for Zoho Desk. You can invoke the Desk API to create a ticket using that connector.

  12. Is approval from the Zoho Books team required for a private extension?
    Yes. A review of private extensions will be done for the initial phase. Since finance suite extensions involve financial data, the review is mandatory.

  13. Which Zoho Books plan is offered in the developer platform? Also, which plan of Zoho Books is required to test and install an extension?
    The Ultimate plan of the Indian edition is applied by default in the Zoho Books developer platform to build extensions. All the features available as part of the Ultimate plan will be available during your extension development on the developer platform.

    With regard to the plan required to test an extension, a 14-day trial plan should suffice. However, if you already have a paid org, it's recommended to have a Premium or above plan to test and install the extension. If you're using other paid plans, the suitability depends on the component's limits. Please refer to this link for more details: https://www.zoho.com/in/books/pricing/pricing-comparison.html?highlight=professional#:~:text=Customization%20and%20automation

  14. Should we post in the developer forum or write directly to the support email for suggestions and help.
    If your query is a support question related to a Zoho product, you can email the respective Zoho product's support email address. However, the developer forum is ideal if you want to validate your thoughts from other Zoho users. There are 100+ million users in the forum. The challenge you face could have already been shared and discussed by other users. Hence, the Zoho Cliq developer forum is an efficient mode of quick exchange of thoughts.

  15. When will the comments in threads be accessible to Cliq channel users in EU data center?
    We love for all customers across the world to come together, exchange knowledge, and grow together. Our Cliq team is working to address some bottlenecks, like checking the thread, regardless of your DC. We will be the first to update you once the feature is ready.

  16. How can I use the request method within a widget?
    We have SDKs for widgets to communicate with Zoho Books. The ZFAPPS.request() method will help you to make a network request. You can learn more here.

  17. Will there be support for SDK methods for package module in future?
    We have currently supported SDK methods for limited modules. We will add the missing modules in future updates.

  18. Does the get method work only when we are on a particular module?
    The get method helps you to get records' data only on specific locations. For example, consider that you are on the sales order page; you can get the 'salesorder' data only. If you require other details, you have to use the request method to initiate an API call.

  19. What is the difference between Integration and extension?
    The terms integration and extension are almost similar. Integrations include both API-built apps as well as platform-built apps.

    Extensions: We use this term to the apps that are built using the Sigma platform, wherein you can make enhancements to extend the existing functionality of a Zoho product by customising the product or connecting with other applications.

    API-built apps: These apps could be built in any development environment of your choice, and you would consume the respective Zoho product REST APIs to implement your use case. In these types of apps, you would be operating more on the data of the respective apps.

  20. What's an example of a web tab?
    Say you've created a Zoho Creator application to manage the manufacturing process, POS, or a specific aspect of your business. You can copy the embed URL and create a web tab for it. Now, you’ll be able to access this Zoho Creator application within Zoho Books instead of opening it in a separate browser tab.

  21. Can we have a Zoho Books web tab directly inside Zoho CRM? Finance is available, but it is limited in its functionality.
    No, the entire Zoho Books product cannot be constructed as a web tab inside Zoho CRM. In general, a web tab is used to embed a page inside the product. However, Zoho finance inside the Zoho CRM is an integration with additional functionalities.

  22. What happens if an extension is not approved after review? Can it not be published on the Marketplace, or can I not use it as well?
    An approved extension can only be deployed in the Zoho marketplace. If it is not approved, you can make the necessary changes and send it again for review. Until then, you can use the extension locally and share it privately with your customers.

  23. What is the size limit for data storage in the Zoho Books widget?
    Up to 10000 characters can be stored.

  24. For third-party integrations, can you host the API pull request on Sigma?
    Yes. To invoke third-party APIs, you can use the request SDK method. These topics will be covered in our upcoming sessions. Stay tuned :)

  25. Is there any charge for building and listing extensions?
    No, the Zoho Developer platform is free, and hence, there is no charge for building extensions or listing them in the Zoho Marketplace.

  26. Can we create extensions using trial account also? I am unable to create extensions for CRM in my trial account.
    In general, trial accounts can be used to test product functionalities. Since Zoho Developer is a free cloud platform, you can sign up for a Zoho Developer account and directly start with extension development. Also, the extensions for Zoho CRM can be developed using a Zoho Developer account in the U.S. DC only.

  27. In the Zoho Books widget, is there any method to retrieve records from another module without using the request method, perhaps through any SDK methods?
    Sorry, this is not possible right now.

  28. As an individual developer and not a company, is it possible for me to create extensions?
    Yes, you can go ahead and create extensions if you have a Zoho Developer account.


      • Sticky Posts

      • Zoho Developer Community Monthly Digest - November 2024

        Hello everyone! Welcome back to the November edition of the Developer Community Monthly Digest. Dive in to explore the upcoming events, hands-on training sessions, exciting product updates, insightful discussions, and more to keep you informed and inspired!
      • Zoho Developer Community Monthly Digest - October 2024

        Hello everyone, This edition highlights October's product updates, upcoming community events, engaging discussions that sparked inspiration, and celebrates the top contributors who drove progress. Grab your favorite beverage and dive in! Upcoming Events
      • Zoho Developer Community Monthly Digest - September 2024

        Hello everyone, This month's Developer Digest is packed with resources to help you build powerful applications. Learn how to leverage Zoho CRM's new features, explore the latest in Zoho Finance and Catalyst, and join exciting bootcamps, webinars, and
      • Zoho Developer Community Monthly Digest - August 2024

        Hello everyone, Get ready for another exciting month of Zoho development! Our August digest is packed with events, resources, and community discussions to empower you as a Zoho developer. Let's dive right in! Upcoming Events To stay on top of the upcoming
      • Extensions 101: Build Extensions for Zoho Finance suite

        Hello Developers! We are thrilled to announce our 5-day webinar series on building extensions for Zoho Finance Suite products. Our first session was a resounding success, introducing Extensions, Zoho Developer, Zoho Marketplace, and the Zoho Books Developer

        • Recent Topics

        • fetch records from analytics table from creator

          I have a creator workflow that I am working in that will compare data from within the app to a table in zoho analytics. Is there a way to fetch a record from Analytics? I have attempted a custom connector with analytics and tried to use it with invoke
        • Directly Edit, Filter, and Sort Subforms on the Details Page

          Hello everyone, As you know, subforms allow you to associate multiple line items with a single record, greatly enhancing your data organization. For example, a sales order subform neatly lists all products, their quantities, amounts, and other relevant
        • Ability to Change Custom View After Cadence Creation

          Dear Zoho Team, I hope you are well. We would like to request an enhancement to the Cadence feature in Zoho CRM. Currently, during the creation of a Cadence, we can select a Custom View under the "Who is this for?" section. However, once the Cadence is
        • Zoho Creator Integration with QuickBooks: A Step-by-Step Guide

          Introduction: Integrating Zoho Creator with QuickBooks allows you to sync your business data between the two platforms, providing a seamless experience for managing accounting, invoicing, and financial data. This integration helps automate workflows and
        • Note not being pulled for other modules in email template

          Hi there, Currently i am creating an email template that is able to pull the data from notes field in estimate module and email it to procurement team where they will be able to receive the email with the contents of the note, i am unable to replicate
        • No Sales Returns on SO's with Dropped Shipped items + Inventory Items

          We have encountered an issue in Zoho related to sales orders that include both dropshipped items and inventory items. Specifically, it is currently not possible to create sales returns for the company’s own inventory items from these sales orders. This
        • Pre-fill TO and CC fields for Email Templates

          This would be a game changer to be able to set either specific email addresses or merge fields based on deal role titles into email templates. Please pass this along to *hopefully* add to future features of Zoho CRM.
        • Pick list - Cannot save list "Special Characters not Allowed" error message

          Bulk uploading values. All values are pretty standard - with the exception of a "-" (dash). Like:  Industry - Prepared Food Is the simple dash a special character too? Jan
        • Flow with CRM

          Hello, I have a simple flow that uses a web hook to enter data into a Sales Order. I have the web hook sending Flow data which has a PO field. If the PO has a special character like - or / or \ the task fails. How can I get the flow to be okay with the
        • Making the Resolution Tab Mandatory

          Hello Everyone! This edition is here to show you how to make the Resolution mandatory when closing a ticket. The Ticket Resolution tab helps keep a record of the solution provided for the ticket query. The resolution can serve as a quick reference to
        • Remove County field from Customer Address input screen (or allow input to be deleted)

          We are in the USA and have just noticed that there is now a County field in the Customer Address input screen (and maybe other areas of Zoho Books, but this is the one affecting us at the moment). County is not important to our business, and in fact we
        • Notificación de cumpleaños

          Hola: Se puede enviar alguna alerta de felicitación al personal que cumple años, que se dispare solo? Si existe como se puede hacer? Saludos
        • Automation#25: Move Tickets to Unassigned When the Owner Is Offline

          Hello Everyone, Welcome to this week's Community Series! 'Tis the holiday season—a time when work often takes a brief pause. The holiday spirit is in full swing at Zylker Techfix too, with employees taking some well-deserved time off. During this period,
        • Callback URLs

          I need to connect to an external service through an API that requires me to provide a Callback URL so that a status update can be sent back when the API request has been processed. Is there a way to do this in Creator without having to use a middleware
        • Email signature not being included if user creates ticket / sends email

          When I create a ticket (send email), the signature doesn't appear to be added to the ticket. Can you confirm if this is the case? It would obviously be useful to include the user's signature even when sending a client an email and not only on replie
        • Zoho Notebook window ignores taskbar

          When maximized to full screen, the Zoho Notebook window ignores the presence of the taskbar and overlaps it. What could be the problem? Linux Mint 22 Cinnamon. Zoho Notebook 3.2.0
        • URL for job opening

          I would like to ask you to add this feature to the product: create an unique url for each job opening on Zoho Recruit, so that I can add a link to it when I post the opportunity in a mailing list or on a forum.
        • Document images

          We used to be able to rotate the images but this has now been removed ???
        • VENDORS ARE NOT SYNCHED WITH CONTACTS IN CRM

          Hello, While the ACCOUNTS and CONTACTS (Including the primary contact) are synced with the CONTACTS module in CRM, the vendor's CONTACTS are not synced with CRM - which basically forces the users to re-enter all vendor's contacts twice and then update
        • Involved account types are not applicable when create journals

          { "journal_date": "2016-01-31", "reference_number": "20160131", "notes": "SimplePay Payroll", "line_items": [{ "account_id": "538624000000035003", "description": "Net Pay", "amount": 26690.09, "debit_or_credit": "credit" }, { "account_id": "538624000000000403", "description": "Gross", "amount": 32000, "debit_or_credit": "debit" }, { "account_id": "538624000000000427", "description": "CPP", "amount": 1295.64, "debit_or_credit": "debit" }, { "account_id": "538624000000000376", "description":
        • KB Templates

          * It would be nice if Zoho can provide users an option to create custom templates for KB articles. Also, it would be nice as well if the users can have an option to 1.) select a default template and 2.) declare default tag/tags, for KB articles created through Ticket's resolution.
        • Zoho CRM Reports Module on Mobil App

          I have the mobile app and the reports module doesn't appear in the sidebar for some reason. I saw a Youtube video where the user had the Reports module on mobile. Is there a setting to show it on mobile? Thanks.
        • Contacts Don't Always Populate

          I've noticed that some contacts can easily be added to an email when I type their name. Other times, a contact doesn't appear even though I KNOW it is in my contact list. It is possible the ones I loaded from a spreadsheet are not an issue and the ones
        • Zoho Projects Android app update - List view enhancement

          Hello, everyone! In the latest android version(v3.9.15) of the Zoho Projects app update, we have enhanced the List view of tasks. We have also introduced a complete scroll of the tasks in the list view without scrolling the task fields(status, start date,
        • Print PO receipt

          Hi I would like to print the PO receipt. There does not seem to be any way to do this. I track batch numbers and printing the PO does not show this. Only the receipt would show the details of the receipt. Currently I print the screen which does not have
        • On the US Data Centre rather than the UK but dont know how to migrate it

          We have a new staff member with an external email address and cant add them to Zoho chat - we have been told its becuase we are in the UK but on a US Data centre - we therefore need to change it but no idea how to can anyone else as we are going round
        • Zoho Sheet Custom function column showing Error #EVAL!

          Hello I have a custom function in Zoho Sheet developed to convert a date time from one time zone to another. The custom function takes date and time columns and then using subHour( ) converts the time to PST time. However, though the custom function works,
        • How to add a Data Updated As Of: dynamically in text?

          I need to add a "Data Updated As Of" in the dashboard to show when was the last date the data was updated. I tried to create a widget but it does not look really good, see below. Is there a way I can do this through the text widget and update it automatically
        • Create Your Own Issue Management System

          Effective issue management is a cornerstone of project success. Every bug or issue, no matter how small, needs to be tracked and resolved in time to maintain project momentum. In this post, we’ll explore how an issue management system in Zoho Projects
        • Resource utlisation

          Dear Team, We use the excel for the weekly predicted people utilization how the resource are allocated , is there any way that i can use any of the zoho products.
        • Ask the experts - A live Q & A discussion on Zoho Recruit

          We are delighted to come back with another edition of Ask the Experts community series. This edition, we'll be focusing on everything about Zoho Recruit. The topics will focus on the features that are used/asked by the majority of users and also based
        • Bug - OTP (email) and No Duplicates

          Scenario: Form with an email field, Validation: "No Duplicates" (because I want to ensure 1 entry per email). Embedded form into website (JS option). Enabled email based OTP. 1st test (via my website) - entered my email address - sent OTP - entered pin,
        • Personal Facebook page posting instead of Business Page

          I have a Facebook page that is associated with my Personal Profile and I am the Admin of that Page. I would like to schedule and Post to my Personal Page not the Business Page. Each time I try to connect to the "Page" it takes me to the Business Page. Is there a way of connecting to my personal page?
        • Fixed asset management

          I want to know if there is any individual module for fixed assets management
        • Recording depreciation of fixed assets as a percentage of residual value

          In India, fixed assets are depreciated as a percentage of their residual value at the beginning of each fiscal year. I went through the documentation for creating recurring journal entries, but could only find ways to depreciate by a fixed rupee amount
        • Function #28: Automatically calculate Customer Loyalty points

          Hello everyone, and welcome back to our series! Today, we're excited to share a workflow designed to streamline the management of loyalty points. Many businesses offer incentives or rewards in the form of loyalty points to their customers as a way to
        • Function #6: Calculate Commissions for paid invoices

          Zoho Books helps you automate the process of calculating and recording commissions paid to sales persons using custom functions. We've written a script that computes the commission amount based on the percentage of commission you enter and creates an
        • How to Add Product SKU in Invoice?

          How to Add Product SKU in Invoice?
        • Tracking movement between departments

          I've been developing a reporting system in Zoho and one of the groups I want to develop a report on primarily moves tickets from department to another. Is there a way to set up the reporting on Zoho (or Zoho Reports) that can tell me the number of tickets
        • Zoho CRM Calendar View

          Hello Zoho team, We need desperately a calendar view next to list, kandan and other views. I think it should be easy to implement as you already have the logic from Projects and also from Kanban View in CRM. In calendar view when we set it up - we choose
        • Next Page