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
More context, fewer tabs: View lookup modules' data within a CRM Canvas page
Hello everyone, How often do your users juggle multiple browser tabs just to piece together the full context of a record? This update can make their lives easier. You can now add lookup modules' fields to a Canvas detail view page and a Canvas list view
On click of the Blueprint transition (Qualified or Not Qualified), the 'Convert' option should be enabled in the Lead module.
On click of the Blueprint transition (Qualified or Not Qualified), the 'Convert' option should be enabled in the Lead module. console.clear(); let convertButton = ZDK.Page.getButton('convert'); let leadStatus = ZDK.Page.getField('Lead_Stage').getValue();
Show all items making up the composite item in transactions
Dear Zoho, Currently, when we select a composite item in Zoho Inventory for a transaction, we do not receive a breakdown of the individual items that make up the composite. This makes it challenging for our team to accurately pick, pack, and ship the
Custom Roles & Granular Permission Control in Zoho SalesIQ
Hello Zoho SalesIQ Team, We appreciate the functionalities offered by Zoho SalesIQ, but we would like to request a crucial enhancement regarding user roles and permissions. Current Issue: At present, Zoho SalesIQ provides fixed roles—Admin, Supervisor,
Condition to skip recipient signature
Is there a way, alone or with a Zoho Form integration, to skip a recipient signature when a condition is set? This happens because in this template, not always all the recipients need to sign it. Sometimes its just a few. We are using a Zoho Form integration
How to filter emails by Reply-to field?
I receive a very particular newsletter from an association A registered on a website W (that is used by many associations), and the emails fields are not great: the From just contains the generic website's W's email, while A is only mentioned in the Reply-to
Wich version of Backstage is included in Zoho One
Hello I am in the event business and i am considering Zoho One to replace my current tools. I will need Backstage to manage my events but I am wondering wich version of backstage will I get if I subscribe to Zoho One. Thank you Guillaume
How to restore deleted campaigns?
I accidentally deleted my first campaign that went out today (08/21/18). How do I restore it?
Organize and Clone Task Custom Views
We have rolled out two new enhancements to task custom views: Custom View Groups and Custom View Clone. Custom View Groups Similar to predefined view groups, we have introduced groups for custom views to help organize and categorize them. My Custom Views:
Kits: Option to Hide Associate Items on Documents
The new Kit type of Composite Item is very helpful, and we're already using it in several different ways. One problem is that there seems to be no way to hide the components on some documents, including Package Slips. There is an option given in settings
Zoho Books CREDIT LIMIT is completely USELESS due to a BUG!!! Please fix it ASAP!!
Credit Limit should not be taken into account if payment terms on the Invoice are without credit. If selected Credit 0 days (Prepayment) why in this world would a notification pop up saying credit limit is exceeded and not allowing to create an invoice?
Is it possible to adjust the web browser tab title (when a ZoHo Desk ticket is opened)
Hi All, When I open a ZoHo Desk ticket in a web browser, the tab title (text that appears at the top of the browser tab) uses the logic: *company icon picture* (xxxx) #ticket number - company name See below (highlighted in red) for reference. Company
Configure ChatGPT in Zoho Cliq | Now with GPT-4!
Updated for GPT-4 Support: The post and scripts has been revised to take advantage of the new GPT-4 model's capabilities. Please use the updated version for enhanced performance and accuracy. If you have been on the internet for the past few months, you
Have completed Zoho Sign documents attach automatically to contact and/or account
Hello, Just used ZohoSign for the first time to get an e-signature on an important document. Setting up the template was nice and easy and configuring the request to go to the right people and training a member of staff was also very easy. HOWEVER Why
Using email "importance" as workflow-criteria
I'd like to set up a workflow that triggers if an incoming email has been flagged as "high importance" but I'm not seeing any way to do that. Hopefully I'm just missing something obvious...?
Update Lead Status in Zoho CRM When a Meeting is Booked via Microsoft Bookings
Hi everyone, I’m trying to streamline our lead management process and would like to automatically update the Lead Status in Zoho CRM whenever a meeting is booked through Microsoft Bookings. Has anyone successfully implemented this kind of integration
Kaizen #199: FAQs on Multi-Select Lookup (MxN) Field in Zoho CRM
Nearing 200th Kaizen Post – We want to hear from you! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone. Got
Zoho Desk Android app update: Enhanced UI of the History tab.
Hello everyone! In the latest Android version(v2.9.10) of the Zoho Desk mobile app, we enhanced the UI of the 'History' tab within a ticket. Also, we have introduced a filter option to easily search the history based on the actions performed on the ticket.
Is Zoho Marketing Plus part of Zoho One?
Hi, Is the new fancy Zoho Marketing Plus part of the Zoho One package? Is there any benefit in using this rather than the standalone products? Many thanks Jon
Is it possible to Bulk Update 'Product Name' in Zoho Desk?
Is it possible to Bulk Update 'Product Name' in Zoho Desk? I cannot see that option now. Kindly help how we can do it.
Change visable Subform fields
I have a form with 4 subforms in it. I added another field to each of the subforms in my main form. Now, how do I update the subforms to show the new fields that I added?
Integrate Bunq with ZOHO Bookes
We are new users of ZOHO Books, and our bank (BUNQ, in the Netherlands) isn't listed on the bank integrations. Is there a way to handle this?
Trial Extenstion/ 2nd Go!
Hi, Recently trialed FSM bit didnt get a chance to try out the most recent features is it possible to get another trial to try the new features and see if I can make it work for me?
Weekly Tips : Take Control of Your Sent Emails using Outbox Delay
Ever clicked “Send” on an email, then instantly realized you forgot something—like a file, an attachment, or even made a small typo? It happens more often than you'd think. Wouldn’t it be helpful if your email waited a little before actually going out?
Format of data after export to spreadsheet
Dear Zoho, can you explain to me what is the point of a report exporting to XLSX if the format of the amounts that will be created there is in text format and not suitable for anything? Why do I need data in a sheet with which nothing more can be do
Mapping a custom preferred date field in the estimate with the native field in the workorder
Hi Zoho, I created a field in the estimate : "Preferred Date 1", to give the ability to my support agent to add a preferred date while viewing the client's estimate. However, in the conversion mapping (Estimate to Workorder), I'm unable to map my custom
Customer Payment
Seprate voucher required for cash and bank .You can not authorized any one to enter cash payment .In statement clearly shown is it bank receipt or cash recipt .
how to add previous month purchase bill and claim ITC
Hello we have a unclaimed ITC bill of April (we didn't claim it in may as seller didn't uploaded his gstr1 ) when we trying to file gstr 3b in june month we noticed the bill has been uploaded (april bill) .how to change the filing month of that april
Deluge security enhancements
Hello everyone, At Deluge, security is a top priority, and we're continuously working to enhance the platform's safety and reliability. As part of our ongoing commitment to secure coding and industry best practices, we're rolling out key updates to how
How do I set users up to only send emails using org emails?
We run marketing campaigns for multiple clients and strictly send emails using the official organization addresses provided by each client. However, we've encountered several instances where users unintentionally send emails from their own company accounts—a
open multiple notes at a time.
Hey there, New to Notebook and liking it, but one thing that's really a bother is not being able to open more than one note at a time, either in a new window or in a new tab. Often times, I like to copy/paste from one note to another or compare drafts
Let’s Talk Recruit: Forms that think before you do!
Welcome back to our Let's Talk Recruit series. In our previous post, we shared highlights from our community meetups held across India. This time, we’re talking about something that often gets overlooked but makes a huge difference once you set it up
PEPPOL Support Needed for Zoho Books in Europe
I'm reaching out to discuss the urgent need for PEPPOL support in Zoho Books for European users. With Belgium mandating B2B e-invoicing via PEPPOL starting in 2026, many of us are struggling to manage invoices without this integration. While Zoho Books
Allow Equity Accounts to be Used for Expenses
Currently, when entering an Expense or Bill, the Expense Account (account to be debited) allows for accounts in any of these categories to be chosen: COGS Expense Other Current Liability Fixed Asset Other Current Asset Noticeably missing are Equity Accounts.
メール一括配信の未送信のメールについて知りたい
メール一括配信の後の、未送信のメールの数は添付のようにシステムから連絡がくるのですが それらの対象者を知りたい。レポートなど一覧で知りたい。 また配信対象者なのに(担当者、リード)の メールの履歴に配信したメールの件名でさえ表示されないのはどう理解したらよいのか知りたいです。 また、これらの人をレポートで一覧で出す方法を教えてください。把握したいためです。
How do I add the time zone for the each recipient/subscriber
Hi, I've read that Zoho allows for emails to be sent at a certain time based on the recipient's time zone. How do I add the time zone for the each recipient/subscriber? Thanks!
Zoho Formsから獲得した見込み客をSaleIQでトラッキングし、そのトラッキング情報をCRMに集約することは可能でしょうか?
Zoho formsを活用しています。 Zoho CRM、Zoho SalesIQと連携するよう設定しており、Zoho formsから獲得した見込み客の情報はCRMに連携されるのですが、トラッキング情報はZoho CRMの見込み客データ内の 関連リスト 訪問-Zoho salesIQ にデータが反映されません。※添付画像参照ください 考えられる原因や対策などありましたら教えていただけないでしょうか。 よろしくお願い致します。
Find and Merge Duplicates to trigger webhook
My sales team uses the Find and Merge Duplicates feature often to cleanup records in the CRM. We use webhooks to signal to our internal tools database when new Contacts are created, updated, or deleted, in order to keep our DB in sync with Zoho CRM. However,
Marketer’s Space: Using Zoho CRM Data for Dynamic Content and Personalization in Zoho Campaigns
Hello Marketers! Welcome back to Marketer’s Space. Do you want to send emails or SMS that feel less like mass messages and more like one-on-one conversations? By integrating Zoho CRM with Zoho Campaigns, you can pull in rich customer data and use it to
Add Attendees to Session months before the Event
I need to manually add Attendees to Sessions right away for an event that's taking place in 6 months so that the Speaker can communicate with them in advance of the event. How can this be done?
Next Page