Building extensions #3: Fundamental features of a Zoho Books extension

Building extensions #3: Fundamental features of a Zoho Books extension

In our earlier posts, we covered how to create, test, and publish an extension for Zoho Finance suite applications. Moving forward, we'll look specifically at instances relating to one of the products from the Zoho Finance suite: Zoho Books.
In this post, we'll explore the key features listed below that are available in the Zoho Books extension developer portal.
  1. Automation and customization
  2. Seamless integration
  3. Widgets
  4. Event-based data transfer and notifications
  5. Extension configuration

Automation and customization

These are defined sets of rules that automatically execute operations and customize standards for tailoring modules and fields.

Achieving it in Zoho Books

The Zoho Books extension developer portal provides a variety of automation features, including workflows (rules, actions, and triggers), custom actions, and schedules. There are also customization features, like creating custom modules and fields, adding buttons, and including related lists for both standard and custom modules.

Example use case

Automate emails to customers in various organizations based on their accounts receivable (A/R), so that different emails are sent indicating different actions that will be taken against them based on the total value of credit payments they owe.

By using an extension, you can easily add a new custom field for accounts receivable and specify workflow rules to send an email based on the value.


Widgets

A widget is a user interface that displays data to the end-user in order to facilitate their understanding or collects input data from them in order to perform additional operations.

Achieving it in Zoho Books

The developer portal's widget feature helps create a user interface or run a client-side script. You can easily design and develop user interfaces with any web development framework; these widgets could gather user input, if required, and, based on those inputs, perform logical operations.

Example use case

Issue a mortgage lien release (certificate of release) to a borrower who has paid off their mortgage completely. This certificate indicates that the lien on the borrower's property has been released and they have regained title ownership. In this situation, a customized widget can be developed to collect personalized inputs, such as the issuing bank's (lender's) information and a customized message to be sent to the borrower, before sending the certificate out.


Seamless integration

A seamless integration or tightly coupled integration to establishes a connection between applications for data transfer and synchronization.

Achieving it in Zoho Books

The Connections feature in the Zoho Books extension developer portal can be used to achieve seamless integrations.

You can establish connections between Zoho Books and other apps by:
➤ Using the default, ready-to-use connections offered in the Zoho Books extension developer portal
➤ Creating customized connections for the applications you want to integrate with Zoho Books
Example use case

You can sync data between Zoho Books and Shopify, running your business more efficiently by completing activities from a single app and reducing manual data entry.

This data sync can be achieved by establishing a connection between these apps using the Connections feature. This enables seamless collaboration between sales and finance operations; sales contacts can be added as Zoho Books customers, and invoices issued in Zoho Books can be instantly logged and synced in Shopify.


Event-based data transfer and notifications

These are real-time notifications or actions that are triggered and executed in response to the occurrence of a real-time event.

Achieving it in Zoho Books

Webhooks and signals on the developer portal facilitate real-time data updates and notifications in Zoho Books.
The webhooks feature enhances the connection between two applications. It allows you to capture the occurrence of an event and collect and post the real-time data as an update to another application.

The Zoho Books extension developer portal provides support for both incoming and outgoing webhooks, allowing real-time data updates to Zoho Books from another application and vice versa.

The signals feature allows you to receive real-time notifications.

Example use case

A finance meeting is planned and organized using an event management app, and future potential clients are gathered from the meeting. If the follow-up is successful and a client would like an event organized, it's scheduled for them.

In this case, webhooks capture the occurrence of the event being created, collect the event-related data, update it in Zoho Books, and generate an invoice for the event. Signals can be used to display real-time notifications when new customers are added to Zoho Books.

Learn more about webhooks and signals.

Extension configuration

Manage extension configuration by allowing users to provide their preferences or user-specific data and perform actions when extensions are installed or uninstalled.

Achieving it in Zoho Books

Global fields and installation actions help achieve extension setup and execute installation-related scripts.
  • You can either create global fields to collect input from users or design widgets (with global fields, if necessary), allowing users to provide inputs and choices to configure and use the extension.
  • Perform custom actions during the extension's installation and uninstallation.
Example use case

You can sync and manage Zoho Books projects with Trello, a project management platform, to create customized task views and visually manage tasks.

This is easy to accomplish with global fields and installation actions. Since Trello requires an API key to establish a safe connection with another app, we can add a global field for it in Zoho Books. After installing the extension, users can provide their user-specific API key to establish a secure connection between the apps. Then, an install action script can be created to transfer records.


In this post, we've covered an overview of the features available while developing a Zoho Books extension and how they might be useful. We'll explore each of these features in detail in upcoming posts. We hope you found this information helpful. Keep following us for more posts!


SEE MORE



    • Recent Topics

    • Domain restriction for User Management actions in Zoho One

      Greetings, Zoho One Admins! To strengthen account security further and safeguard user management settings, we are imposing domain-based restrictions for user account-focused admin actions in Zoho One. In addition to password reset of user, organization
    • Zoho Mail iOS app update: Signature

      Hello everyone! In the latest version(3.1.7) of the Zoho Mail app update, we have brought in support to create, edit and remove signature within the app. You can create signature from the compose screen as well as from within the Settings module(inside
    • Copy paste from word document deletes random spaces

      Hello Dear Zoho Team, When copying from a word document into Notebook, often I face a problem of the program deleting random spaces between words, the document become terribly faulty, eventhough it is perfect in its original source document (and without
    • Zoho Mail iOS app update - RTL languages support and access emails using permalink and universal link, image upload resolution

      Hello everyone! In the most recent version of the Zoho Mail iOS app update, we have brought in support for RTL languages(Arabic and Urudu), providing a seamless reading experience with proper text alignment and layout throughout the app. We have also
    • Desktop app doesn't support notecards created on Android

      Hi, Does anybody have same problem? Some of last notecards created on Android app (v. 6.6) doesn't show in desktop app (v. 3.5.5). I see these note cards but whith they appear with exclamation mark in yellow triangle (see screenshot) and when I try to
    • Approval Button in Subform

      Hi Team, I’m working on a subform-based requirement where users will submit requests, and these requests must go through approval by multiple team managers. Each line item in the subform needs to be individually approved or declined based on the user's
    • Reporting Limitation on Lead–Product Relation in Zoho CRM

      I noticed that Zoho CRM has a default Products related list under Leads. However, when I try to create a report for Lead–Product association, I’m facing some limitations. To fix this, I’m considering adding a multi-lookup field along with a custom related
    • Zoho CRM for Everyone's NextGen UI Gets an Upgrade

      Hello Everyone We've made improvements to Zoho CRM for Everyone's Nextgen UI. These changes are the result of valuable feedback from you where we’ve focused on improving usability, providing wider screen space, and making navigation smoother so everything
    • Setting checkbox value on template in Sign from Creator

      Good day, Please help me understand how do I set a tick from a checkbox in Creator into a checkbox on a Sign template. Below is the only values on the Sign template and the code from Creator, "field_boolean_data": {}, "field_date_data": {}, "field_radio_data":
    • Zoho Projects - Unread Comment Icon

      Hi Projects Team, It would be great if there was a notification I con on the comments icon so it's easy to see which tasks have new comments. Something like a red circle with a number of unread comments would be great. Thanks for considering my feed
    • Zoho Projects - Update Feed via API

      Hi Projects Team, Please consider adding an API to allow update and retrieval of messages to the Feed. Thank you
    • Automated log-out/session end

      I'm concerned about security of our data. Is it possible to set an automatic time-out for user sessions on Zoho CRM, after a certain period of inactivity or when the session reaches a certain duration (12 hours perhaps)? 
    • Subform auto populate values

      Hi Team, I’m trying to retrieve values from Zoho People using API functions and dynamically populate them into a subform. For example, I’ve created a form with several fields that users will fill out. Based on their input, I need to fetch records from
    • What is New in CRM Functions?

      What is New in CRM Functions? Hello everyone! We're delighted to share that Functions in Zoho CRM have had a few upgrades that would happen in phases. Phase 1 An all new built-in editor for better user experience and ease of use. ETA: In a couple of days.
    • Gantt Chart - Zoho Analytics

      Are there any plans to add Gantt Charts capabilities to Zoho Analytics?
    • WhatsApp Calling Integration via Zoho Desk

      Dear Zoho Desk Team, I would like to request a feature that allows users to call WhatsApp numbers directly via Zoho Desk. This integration would enable sending and receiving calls to and from WhatsApp numbers over the internet, without the need for traditional
    • How to update Multi File upload field

      Assume that i have a multi file upload field,how can i update the same field again?
    • Request for Auto PO - Min–Max based Automated Purchase Feature

      Dear Zoho POS Team, I’m writing to request a feature enhancement that would significantly streamline inventory management for businesses using Zoho POS — particularly supermarkets, FMCG retail, and multi-store operations like ours. Feature Requested:
    • Presenting ABM for Zoho CRM: Expand and retain your customers with precision

      Picture this scenario: You're a growing SaaS company ready to launch a powerful business suite, and are looking to gain traction and momentum. But as a business with a tight budget, you know acquiring new customers is slow, expensive, and often delivers
    • Identify long running sync jobs/tables

      My sync process causes strain on my production database and I'd love some tools/alerts to help me identify which tables are taking the longest. The current screen only shows 3 tables at a time and truncates the last fetch time so that it is very cumbersome
    • Zoho Analytics Regex Support

      When can we expect full regex support in Zoho Analytics SQL such as REGEXP_REPLACE? Sometimes I need to clean the data and using regex functions is the easiest way to achieve this.
    • Unusual activity detected from this IP. Please try again after some time

      When i try to create new addresses on my account i am getting this error, it has been 24 hours now and i am still getting this error can anyone help
    • Automatically CC an address using Zoho CRM Email Templates

      Hi all - have searched but can't see a definitive answer. We have built multiple email templates in CRM. Every time we send this we want it to CC a particular address (the same address for every email sent) so that it populates the reply back into our
    • Solution to Import PST File into Office 365.

      MailsDaddy OST to Office 365 Migration Tool is an outstanding solution to recover OST files and migrate them into Office 365 without any hassle. Using this software users can multiple OST files into Office 365 with complete data security. It offers users
    • Series Label in the Legend

      My legend reads 'Series 1' and 'Series 2'. From everything I read online, Zoho is supposed to change the data names if it's formatted correctly. I have the proper labels on the top of the columns and the right range selected. I assume it's something in
    • Associate emails from both primary and secondary contacts to deal

      We need to associate emails from multiple contacts to a deal. Please advise how this can be achieved. At present, only emails from primary contacts can be associated. Thanks
    • New integration: Zoho Sign for Zoho Projects

      Hey there! We’re excited to announce the brand-new Zoho Sign integration for Zoho Projects! With this integration, users can now send documents for signatures, track their progress, and manage approvals—all without leaving Zoho Projects. This bridges
    • Boosting efficiency through faster ticket rendering

      This enhancement will provide faster access for support teams and end-users, significantly boosting productivity for everyone. Get ready for a more efficient and satisfying experience! Immediate benefits Faster ticket rendering reduces wait times and
    • Narrative 15: Blueprint - Automate, guide, and transform your support processes

      Behind the scenes of a successful ticketing system: BTS Series Narrative 15: Blueprint - Automate, guide, and transform your support processes Even organizations that deliver quality products and services can face low customer satisfaction when their
    • Every rating counts: Shaping customer experience

      We are back to that beautiful time of the year. It is the season to reflect, be thankful, and appreciate everything that has happened throughout the year. Thanksgiving is a time we connect with our family, friends, and relatives to strengthen relationships,
    • Different MRP / Pricing for same product but different batches

      We often face the following situations where MRP of a particular product changes on every purchase and hence we have to charge the customer accordingly. This can't be solved by Batch tracking as of now so far as I understand Zoho. How do you manage it as of now? 
    • Batch/lot # and Storage bin location

      Hi I want to ask for a feature on Zoho inventory I own a warehouse and I've gone through different management software solutions with no luck until I found Zoho, it has been a game changer for my business with up to the minute information, I'm extremely happy with it. It's almost perfect. And I say Almost because the only thing missing for me (and I'm sure I'm not alone) is the need of being able to identify the lot number of my inventory and where it is located in the warehouse. Due to the nature
    • ZOHO BOOKS - RECEIVING MORE ITEMS THAN ORDERED

      Hello, When trying to enter a vendor's bill that contains items with bigger quantity than ordered in the PO (it happens quite often) - The system would not let us save the bill and show this error: "Quantity recorded cannot be more than quantity ordered." 
    • Good news! Calendar in Zoho CRM gets a face lift

      Dear Customers, We are delighted to unveil the revamped calendar UI in Zoho CRM. With a complete visual overhaul aligned with CRM for Everyone, the calendar now offers a more intuitive and flexible scheduling experience. What’s new? Distinguish activities
    • Sync desktop folders instantly with WorkDrive TrueSync (Beta)

      Keeping your important files backed up and accessible has never been easier! With WorkDrive desktop app (TrueSync), you can now automatically sync specific desktop folders to WorkDrive Web, ensuring seamless, real-time updates across devices. Important:
    • Writer update results in BitDefender blocking it as malware

      After updating Writer to latest update, Bitdefender blocked the app and writer no longer runs.
    • Zia Conversation Summary: Context at a glance for every customer interaction

      Hello everyone! Every customer conversation tells a story—but in CRM, that story is rarely in one place. A sales rep moving between multiple leads has to reopen long email threads, check call remarks, and revisit meeting notes just to remember what was
    • Zoho Books - New Interface keep details with PDF View

      Hello, The Zoho Books Interface has changed for estimates etc... One thing is causing issues though. Before the change, in PDF view you could see the detail information including custom fields entered for the estimate. Now, you have to switch between
    • Zoho One Unified Portal - Applications

      Hello, It is great to see the work on the New Unified Customer Portal. Thanks for that. The number of applications is limited though. It is now only around the Zoho Books ecosystem (Books, Expense...) and Zoho Social. = Are other applications planned
    • Dropdown data depends on filters in another field.

      In my quote form I have a lookup field called Reseller that pulls from Accounts. I would like it to pull from Accounts, but only those accounts with an account field 'Type' where that is 'Reseller'. Does anyone know a way to do this? Similarly, I'd like
    • Next Page