Hello developers,
Welcome to our next post about building extensions for Zoho Finance Suite applications.
In our previous post, we looked at extensions, their purpose, and how to create and test them. To recap, extensions are installable plugins or add-ons that include customizations to improve the existing functionality of a Zoho product. They can be shared with other users, allowing them to install the plugin and have the customizations reflected in their account as well.
If you wish to customize any Zoho product on your account alone, you can use in-product customizations. Extensions, on the other hand, are created as custom, installable bundles that can be shared and used by multiple users.
In this post, we'll be discussing how to publish extensions both privately and publicly.
Why publish an extension?
The ultimate goal of creating extensions for Zoho products is to share them with users so they can install them and use their features in their own Zoho products.
In order to make the extension available as an installable component, it must first be published.
Private and public extensions
Extensions can be developed for internal organizational purposes or for a larger audience, and they can be published either privately or publicly.
- Private: Published to be shared privately with other users or within an organization.
Example: An organization uses Zoho Books to manage its financial activities, and its employees need customizations to meet their specific demands. In this scenario, extensions would be useful so the customizations could be shared with other users in the organization.
- Public: Published in Zoho Marketplace and made accessible to Zoho users.
Example: A developer creates an extension with some common or general use cases that would help most business categories, e.g., a payment gateway integration, a message integration app, or an extended feature for a Zoho Finance application. In this scenario, the developer could list the extension publicly for a larger audience.
How to publish an extension
- Enter the developer portal of the Zoho Finance extension you want to publish. For our demo, we're using a Zoho Books extension.
- Navigate to the Publish section and click Publish.
- A pop-up displays the list of components you've added to your extension. Check and validate these components.
- Choose either major or minor versioning. Major rounds off and increments your version number to the next integer (version 1, version 2, etc.), while minor increments the version by 0.1 (version 1.1, version 1.2, etc.).
- Enter the release notes in the Release Notes section. Click Publish.
- The extension is successfully published, and a private installation URL is created.
- As a developer, you can use the private installation URL to test the extension in your Zoho Books organization.
Note: In order to install and test the extension privately in Zoho Books, your Zoho Books account should be the same as the one you used to develop the extension.
- In order to share the extension with other users, it will have to be reviewed internally by the Zoho Finance team. To do this, click the Submit for Private Review button that appears after publishing the extension. Read the Zoho Finance extension review guidelines for more information.
- A pop-up displays the auto-populated details on a mail that will be sent to the Zoho Finance review team. Verify the details and click the Send Mail button.

- The extension is successfully submitted for private review and is under the status "Submitted For Review."
Note: If you want to make changes to the submitted version, you have to deprecate the version submitted for review. Once deprecated, the Finance team can't approve the version you originally submitted.
- As the developer, you'll also receive a copy of your submission email.
- The Zoho Finance team will review the extension and, once successfully validated, approve it, changing the private review status from "Submitted For Review" to "Approved."
- Now that the extension has been privately approved, you can share it with other users. Go to the Shared List option in the left panel, and click the Share Privately button.
- Enter the organization ID and email ID of the user you want to share the private extension with. Click Share.
- The extension is successfully shared.
- The user will get an email about the shared extension, along with the installation URL. They can simply click the link to install the extension.
- To publish and list the extension publicly in Zoho Marketplace, it'll have to be reviewed and approved by the Zoho Marketplace team as well.
- To publish publicly, follow the above steps, then submit your extension for Zoho Marketplace review using the Submit for Marketplace Review button.
- You'll be redirected to the extension details page, where you can view a Submit to Marketplace button beside the extension version. Click Submit to Marketplace.
- A pop-up appears with extension details that will be listed in Zoho Marketplace. Fill in the details to complete the submission process.
Extension compatibility across Zoho Finance Suite applications
Once you've developed the extension and submitted it for private review, check to see if it has any common use cases that would work with another Zoho Finance application. If it does, you can reach out to extension-submission@zohofinance.com and say you would like to have your extension reviewed for whichever other Finance applications you think it would suit. The Finance review team will evaluate your suggestion and guide you accordingly.
Once these reviews are validated, you can publicly list the extension for the other apps with ease. Using the available Marketplace installation URL, you can directly submit another application through the Zoho Marketplace Partner console.
When providing details in the Zoho Marketplace Partner console for the compatible application, make sure to change the product name in the Marketplace installation URL. Once submitted, the Zoho Marketplace approval team will internally validate it with the Zoho Finance team, review it themselves, and list the extension if it's verified.
Example
Zoho Books includes modules that are present in other Zoho Finance apps. Assume you've created a Zoho Books extension and shared it with the Finance team for private review. You can also contact the Finance team and request a review for Zoho Inventory because the extension's use case is compatible.
If the Finance team approves the review for both applications, and you want to publicly list the extension on both counts, instead of creating and publishing an extension for Zoho Inventory from scratch, simply change the product name from Books to Inventory in the Marketplace installation URL when submitting the application in the Zoho Marketplace Partner console.
In this post, we've given you a detailed outline of the steps involved in publishing an extension for a Zoho Finance application, both privately and publicly.
Going forward, we'll look at Zoho Books extension creation since Zoho Books includes features and functions that are found in the other Zoho Finance Suite products. We hope you found this information useful. Keep following this space for more useful guides!
SEE ALSO
Recent Topics
Lookups from Standard Modules to Custom Modules
I have created an "External Contacts" Custom Module for adding Contacts who aren't directly associated with a Customer or Vendor but who are related to Orders by being a Site Contact, Job Contact, Warehouse Contact, etc for third party. How can I go about
Run automation on quiz completion
Hello, We're exploring Zoho Learn as a possible solution to creating some training courses to external users on our system. We'd like to run a workflow/ integration to Zoho CRM when a course is completed. Is this possible?
Dynamic user applications for CPQ?
Hi, I've been enjoying getting to know CPQ, the Product Configurator and Price Rules components have been very useful, albeit with some issues. I have noticed that I don't have the power to decide which level of sales staff has permissions when it comes
Need details on search criteria for zoho.crm.searchRecords
Hi, If I understood correctly the integrated functions (getRecords, searchRecords, etc..) I can use inside Functions in Zoho CRM are actually using the Zoho CRM V2 API. I am looking for all the field types and criteria I can use with searchRecords. The
Do my notebooks get transferred to a new phone?
Hello I was wondering about a new phone and I'd like to know whether your notes are automatically transferred to the new device? Regards Will.
Client Script Error - Cannot read properties of undefined (reading 'CRM')
Hi Guys I have a custom form, and I have a client Script set for onLoad of the new form. Below is the script I have defined and the error: Cannot read properties of undefined (reading 'CRM') See Screen Shot Attachement for Details. Here is the Script:
Notebook sync
Hi,After Restart Mobil-Phone since i pressen „Synchronisation“ in my Notebook-App (iPhone) the App is hanging all the time and I have no possibility to Break up. Also Not After Restart my mobile-Phone. After the Restart ( inkl. Connection to WiFi or mobile
Employee survey data when the survey creator's account is deleted
I can’t find in the documentation on this topic, so asking here. When the employee who has created an Employee Engagement survey leaves the organisation and their Zoho account is deleted, will the survey results still be accessible to other persons if
DANE IS NOT implemented
According to the answer of @Sagar S , "DANE has been implemented". on this topic Allow me to disagree, DANE is not implemented at least not to the EU area. The Zoho domain is not under DNSSEC protection and the related TLSA DNS records
Enhance Your CRM Experience with Zoho Webinars in Sandbox Environments
Greetings all, Zoho Webinars will now be available for testing and deployment in Zoho CRM's sandbox environment. Sandboxes offer a safe way to replicate production environments and enable risk-free testing, training, and refining processes before making
Increase the elegant comparator to more than 5 users
Hi Team Requesting to increase the elegant comparators number of custom users to more than 5, this is such a crucial tool in dashboarding but 5 users is simply not enough.
No emails coming in
Hi, I am not receiving any emails, I have tried to send myself an email from another acct and I am not receiving anything, possibly for the last few days. Bit desperate as we are a nursery and not getting important emails from our parents.
Problem with Schedule Email parameters in "Send Reply to an Email" API
Hello, This is my Json script: { "fromAddress": "test@gmail.com", "toAddress": "{{8.fromAddress}}", "subject": "{{8.subject}}", "content": "{{4.result}}", "action": "reply", "isSchedule": true, "scheduleType": 6, "timeZone": "Europe/Lisbon", "scheduleTime":
What's New? - May 2025 | Zoho Backstage
Hi everyone, A May-zing month for you! As summer rolls in and event season picks up the pace, we’ve been working on a set of updates in Zoho Backstage to help make your day-to-day life a little easier. This month’s improvements are all about tackling
Integrate Zia AI into Zobot with Support for Hebrew and Bot Context
Dear Zoho SalesIQ Team, Greetings. We would like to submit a feature request that would significantly enhance the functionality and intelligence of Zobot: native integration of Zia AI into Zobot scripts and blocks—with full support for Hebrew language
Mail Merge: Need Transparent Background for Signatures
I'm using ZohoCRM and Zoho sign to send documents to customers to sign. We use zohoCRM's "Mail merge" option to create the templates. The problem is that those "Signature" fields have a solid white background so it looks like a stamp on the page instead
Zoho Flows
Basically I can't build a connection that works between Excel on OneDrive and Zoho. I wanted to have 1 flow checking on a row added to an excel file and then intiate an import of that row. I'm doing that manually now and thought that this could be automated.
Zoho time tracking with automated screenshots
Time tracking option with automated screen shots would be an exeptuonally good feature, any plans to develop something like that?
Sharing my portal URL with clients outside the project
Hi I need help making my project public for anyone to check on my task. I'm a freelance artist and I use trello to keep track on my client's projects however I wanted to do an upgrade. Went on here and so far I'm loving it. However, I'm having an issue sharing my url to those to see progress. They said they needed an account to access my project. How do I fix this? Without them needing an account.
Zoho Campaigns Forms not Responsive on Website
I have a mobile responsive Zoho Sites website and when I add a Zoho Campaigns form, it is not responsive. I have used the website code and ensured that the 'responsive' checkbox is selected. But, the form is not responsive to mobile. I have attached a
Oldest mail on top?
I am old, and probably missing something simple, but how do I flip my zoho mail so oldest mail is on top? Thanks in advance, and a HUGE thank you to the entire ZOHO team. You just keep getting better!
Desk API to add or change commenterId to a comment
Please let me know how to add comments on tickets for different agents using the API. When adding a comment it will take commenterId but then ignores that and used the API agentId. Did not see in API docs which values are readonly. I pleased to see commentedTime worked for past times. Regards, Glenn
How send a ticket attachment using the Sendreply API in Zoho Desk
API document references : you make use of the Upload file API and gather the attachment ID. This ID is be passed with the Send email Reply API to deliver responses with the attachment intact. Code template is as below: // ORGID ORGID = "XXXXXXX"; // Masked
First Insight - Find your Fields
The Wheels of Ticketing - Desk Stories Find your Fields What are fields? Fields are crucial in ticketing modules that capture information about Tickets, Customers, Organizations, Products, and more. Depending on the kind of data being stored, users can
Automation#30: Auto-Update Time Entry to the Nearest 5 Minutes
Hello Everyone, Time tracking is a feature in Zoho Desk to help businesses stay organized and efficient. For Zylker Techfix, this feature has helped to track the duration of gadget services to generate accurate bills. However, Zylker Techfix faced a unique
Email adding to existing ticket
hello Is there some syntax i can add e.g. to the subject line / body of my email that when it reaches the Zoho portal will add the request to an existing ticket. e.g {123} Currently if i have an open ticket and a customer emails me direct, i then forward
How to define different shift timings for each weekday in Zoho People?
Hi everyone, We’re using Zoho People for attendance tracking and need to configure a standard 39-hour workweek that is structured like this: Monday to Thursday: 8 hours per day Friday: 7 hours Currently, our service provider has set up the workweek as
add two date range
Hi, How can I add two date range selections to compare two different column values in a single pivot view? I have attached a snap for your reference.
Announcing new features in Trident for Windows (v.1.26.5.0)
Hello Community, Trident for Windows is here with exciting new features to elevate your email communication and enhance productivity. Let’s dive into what’s new! Open .eml files in Trident. You can now open .eml files directly using Trident. This makes
Adjust The max character in Specification Field
Is there another way to adjust the maximum character limit for the Specifications field in Zoho Commerce? I need to accept responses with fewer than 200 characters.
Customize the Sign In And Sign Up in Zoho Commerce
Is there another way to customize the Sign In and Sign Up in website Zoho Commerce like this i want to customize to edit it like change the "Sign In" word into "Login Zoho Commerce" it is possible or other way to do that?
Territories : Deluge and APIs
I am trying to work out how to filter a deluge query by territory eg "SELECT Total_Amount, Stage, Closing_Date, Created_Time, Deal_Name FROM Deals WHERE Stage in (" + varBaseCriteria + ") AND Territory = 'Territory1'" The problem being that Territory
Tidying up messes file system on Site
I'm been given access to a new site that's been managed by several different people over the years, each with different ways of managing images and files. If I move an image from one folder to another, it shows a missing image icon on the site's page.
Move Archive Button in Zoho Mail to Main Toolbar?
Is there a way to add the Archive Button to this tool bar so I don't have to click the three dots every time?
Introducing Bigin 360: Our new pricing edition with increased feature limits and pre-installed toppings
Dear Biginners Club, Today, we're pleased to launch a brand-new pricing edition called Bigin 360, our highest pricing edition that will sit on top of Express and Premier editions. It's been over four years since our launch, and we're receiving some great
URL field display value
Is it possible to give a URL stored in a project a display value, rather than showing the whole url? I have a lot of projects connected to issues filed on a separate site, each with a distinct URL. For example: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40000
need payment link excl. TDS Amount.
Dear Team Zoho, Kindly generate a payment link excluding TDS amount. So that TDS can be submitted through portal. Thanks & Regards, Arijit S.
CRM is very slow now
CRM is very slow now. Plz check ASAP
Access error when running invokeurl
Hi, I'm running the following code: string standalone.test_api() { LoroToken=zoho.crm.getOrgVariable("LoroToken"); info "LoroToken:"+ LoroToken; headersMap = Map(); headersMap.put("Authorization", "Bearer "+LoroToken ); headersMap.put("Content-Type",
Disable Column Freeze in PWA View but Keep It on Desktop — Zoho Creator Reports
Zoho Creator offers a useful feature to freeze up to two columns in a report view, which works well on desktops. However, our users access the app on both laptops and mobile devices, and freezing columns makes reports nearly unusable on smaller screens.
Next Page