Title: Publishing an extension | Community | Zoho Finance

Title: Publishing an extension | Community | Zoho Finance

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.
  1. 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.
  1. 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
  1. Enter the developer portal of the Zoho Finance extension you want to publish. For our demo, we're using a Zoho Books extension.
  1. Navigate to the Publish section and click Publish.

  1. A pop-up displays the list of components you've added to your extension. Check and validate these components.

  1. 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.).
  1. Enter the release notes in the Release Notes section. Click Publish.

  1. The extension is successfully published, and a private installation URL is created.

  1. 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.

  1. 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.

  1. 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.
  2. 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.

  1. As the developer, you'll also receive a copy of your submission email.
  1. 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."

  1. 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.

  1. Enter the organization ID and email ID of the user you want to share the private extension with. Click Share.

  1. The extension is successfully shared.

  1. 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.
  2. 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.
  3. To publish publicly, follow the above steps, then submit your extension for Zoho Marketplace review using the Submit for Marketplace Review button.

  1. 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.

  1. 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

    • Changes in the new UI of the record details page

      Hello everyone,   We released a new UI for the record details page early last month (March 11th, 2020) and are happy with the overwhelming response. A big thanks to everyone for your valuable feedback and suggestions.   Based on those suggestions, we have introduced the following changes: The width of the Notes section has been increased. The width of the Description column in the Related List has been increased. Introduced appropriate colors to represent the closed won or closed lost deals. The
    • Approval Process not triggering for specific user

      Hi there! I have a simple approval process set up and have confirmed that it is working for at least one of my team (I'm super admin). So, the process is set up correctly. However, for a specific user in my organization, the process doesn't trigger when
    • Turn Ticket into Zoho CRM Lead

      Is there a way to set up Zoho Desk -> Zoho CRM integration in a way that would allow out support agents to turn a Help Desk ticket into Zoho CRM Lead?
    • Import a list of contacts from csv and delete them

      I have a list of email addresses which I want to delete from all lists. The contacts are distributed over multiple lists. So I cannot delete whole lists because there are other contacts too? Is there a way to import the list and delete the contacts in
    • AUTO ASIGNACION DE TICKETS

      Cuando uno se asigna un ticket y lo contesta se queda asignada esa persona automaticamente para cuando se tenga respuesta de ese ticket, ¿como puedo configurar que ningun ticket se auto asigne? que todo sea manual
    • Custom Time Range Support for Zia Trending Auto Tags in Zoho Desk

      Dear Zoho Desk Team, We’d like to formally request an enhancement to the Zia’s trending auto tags feature to better support our business needs. 🧩 Use Case: We actively rely on Zia auto-tags to: Monitor recurring customer issues. Detect emerging trends.
    • Enhanced Tag Filtering and Selection in Zoho Desk Custom Views

      Dear Zoho Desk Team, We’d like to request enhancements to the tag filtering and selection capabilities when creating custom views in Zoho Desk. 📝 Current Limitation: While it is currently possible to create a custom view using tags and status as criteria,
    • Creator help with max value

      Hi! I come from MS access and I want to build in creator. I have a Registration App I want to make. The main table is called Registrations and I have a subform called RegProgress where the user can indicate the progress by selecting one of 6 steps. Those
    • Can't call function with ZML Button

      Hi, I have a page where I have a subform and a button made in ZML. My initial goal is simply that onClick, I call a function that updates multiple entries. Even though the function exist, I am unable to reference it. If I try to reference it manually
    • How do i move multiple tickets to a different department?

      Hello, i have several tickets that have been assigned to the wrong department.  I am talking about hundreds of automatically generated ones that come from a separate system. How can i select them all at once to move them to another department in one go? I can select them in "unsassigned open tickets view" but i can't find a "move to another department" option. I also can't seem to assign multiple tickets to the same agent in that same view. Could somebody advice?
    • Creating credit cards with sub-accounts for employee cards?

      I'm trying to figure out how to go about reconciling our credit card accounts in Zoho Books since each credit card pulls into its own account, rather than employee cards pulling into a sub-account of the primary card. Ideally, I'd like to be able to setup
    • ZUG is Hitting the Road — Across the USA!

      We’re bringing the Zoho User Group (ZUG) meet-ups back to various cities across the United States — and we’re more excited than ever to reconnect with our incredible community! Whether you're a seasoned Zoho user or just getting started, this event is
    • Ask the Experts 20: Level up your customer service with Zia

      Hello everyone! We're excited to reconnect with you again. The recent sessions of our Ask the Experts series have contributed to valuable conversations, beginning at the live sessions and evolving into one-on-one conversations and remote-sessions where
    • Custom Canvas Tabs

      Hi Team Can you advise if there is a particular tab layout I need to be using in Canvas in order to have the numbers show on the tab ie for a new note it would show 1 as like with the standard view? The below is what I have: This is the desired outc
    • In focus: Profile permissions in Radar

      Hello everyone, Imagine a help desk where everyone can access everything without restrictions. Newbies could answer tickets without supervision, agents would meddle with system settings, and contract employees would have unrestricted access to business
    • Deluge Script wishlist...

      Just throwing it out there ;) 1. += operator. Pleeeeease no more var = var + "test"; 2. Ternary Operator for if/else. Man I wish I could just go myVar = myVar == "test" ? "it is test" : "it's not test" instead of having to write out a huge if/else block of ugly brackets.  3. square bracket notation for referring to record fields and map views.  This would make it terribly hard for Zoho to debug which might break the whole goal of saving new users from themselves. But here's why it would be extremely
    • Selling a product consisting of several components

      hi all,  I have a small issue with inventory items, I am a perfume company, and my product consists of many items,  how can I manage this, from purchase the items and convert them to be one item ready for sales  - using ZOHO platform ..
    • How to Move Behavior, Acquisition, Polls & Forms Data from Zoho PageSense to Zoho Analytics?

      Hi Zoho Community, I'm looking for a way to transfer data from Zoho PageSense to Zoho Analytics, specifically: Behavioral data (clicks, scrolls, heatmaps, etc.) Acquisition data (traffic sources, campaigns, etc.) Polls and forms data As far as I can tell:
    • [Zoho Flow] Problem using "Send document for signing"

      Hi, I get the error "Zoho Writer says \"An Internal Server Error occurred while processing this request.\"" cant understand what exactly the problem is. Any ideas? Thank you KR, Victoria
    • Fusion d'un champ image avec Writer ou Template CRM

      Il semble impossible pour le moment de fusionner dans le CRM un champ de type image vers un template. Par exemple : fusionner une image située dans le champ devis du CRM vers le template 'inventaire-devis'. Impossible également de réaliser cette opération
    • Gestion de suivi des expéditions

      Le suivi des expéditions est un élément indispensable à une gestion réussie de la chaîne d'approvisionnement. Aussi bien le fournisseur que le client peuvent bénéficier de la transparence et de la responsabilité apportées par le système ; ce dernier fournit
    • Transform Numeric Values using st, nd, rd, th or Convert Numerals to Ordinal Form - Deluge

      Please Use this sample Code This_Day_Date = zoho.currentdate.toString("dd"); value1 = "th"; if(This_Day_Date.right(1) ="1" && This_Day_Date != "11") { This_Day_Date = This_Day_Date+" "+"st"; } else if ( This_Day_Date.right(1) = "2" && This_Day_Date !=
    • How to drag and drop documents from Workdrive to Outlook

      Does anyone have an idea on how to drag and drop a document stored in workdrive into an email as an attachment in outlook? Similar to how it is possible to drag and drop documents from File Explorer stored documents straight into outlook as a static attachment.
    • Enhance Delay Configuration in Zoho Flow

      Dear Zoho Flow Support Team, We are writing to request an improvement to the delay configuration process within Zoho Flow. Currently, users are required to manually enter the exact delay duration (e.g., "2 days") in the delay block. This can be time-consuming
    • incoming email not blocked

      I am continually having to add emails and domains to my blocked list, but Still get an occasional email that is on the lists but does not get blocked. Suggestions?
    • Showing Amount Achieved Towards Target on Zoho CRM Dashboard

      I thought I'd create this post to stick a flag in the ground. My requirement: To create a visual gauge/bar chart in my CRM Sales Team Dashboard so salespeople can see their progress towards their monthly/quarterly/annual targets. The problem: After several
    • Reports for "current user"

      <Note: Topic relocated from "Start a discussion" to "Ask a question". Former post deleted.> Is it possible to specify an advanced filter for "whoever is logged in", instead of having to pick a specific user? I want to create one report the can be used by all members, but will only show data that belongs to the person logged in. When setting up the report, I want to use an advanced filter that is something like "Lead owner" "is" "${CURRENTUSER}". So the generated report will be specific to the member
    • Global Subforms

      Hey 👋🏼 We have a few subforms to calculate detailed offers for customers of car dealerships. These subforms are used in different modules and we need to create snapshots of them in different cases for documentation reasons. For example, an approved
    • Add Subform Field based on Record Field

      Hi All, I am struggling with finding a solution that can populate a subform field based on an existing field on the record. Use case is I have added Current Exchange Rate on a quote as a custom field, I then have a subform with Quoted items that include
    • Where are scheduled emails stored?

      After you schedule an email to go out through the CRM, how do you go about changing that scheduled email? Or even where can I see the list of emails scheduled to go out? They are not listed in my Zoho Mail account in Outbox which has been the only answer
    • Sheets are unbearably slow

      I'm doing some extremely simple sheets. Like 2 sheets each with 200 lines and 10 columns and a simple vlookup. ABSOLUTLY can not wait 20 secs to flip between sheets. What's up? anyone else having this trouble? Been this way for about 4 days now. Both
    • Rich text support for Notes

      Hi! Is there an opportunity to add Rich text field to Zoho CRM? We need a field that can save the HTML-formatted text in it. It's crucial for our business. Moderation Updates: The votes for supporting Rich Text for multi-line fields is captured in the
    • Colour Coded Flags in Tasks Module List View

      I really like the colour coded flags indicating the status of the tasks assigned to a Contact/Deal in the module list view. It would be a great addition to have this feature available in the list view of activities/tasks. I understand you have the Due
    • Notes formatting

      I see that I can format this idea proposal with bold, underlines , colors, and dot points even multi-level dot points However, I cannot do the same for notes in leads, contacts, potentials, etc. in CRM. This makes notes very difficult to read. PLEASE
    • Linking records from different modules

      Hello, Is there a way to link customer call records from the 'Calls' module to specific account and contact records? I've realized that our customer meeting reports are linked to both the contact and the Account records, in related list fields but the
    • Quickly send emails and sync conversations with custom email addresses in CRM

      Editions: All editions DCs: All DCs Release plan: This enhancement has been released for customers in all DCs except IN and US. We will be enabling it for IN and US DC customers soon. [Update on 22 May 2024] This enhancement has been released for all
    • Business_hour (by minute)

      Hi Zoho Team business_hours formula can only give the difference of time or day between two dates. (In the time calculation, it can only calculate the exact time. For example, it can give the difference between 16:30 and 16:55 as 0.) I want to calculate
    • At transaction level Discounts for Zoho books UAE version

      Dear Team, Please add transaction level Discounts for Zoho books UAE version. I have been requesting Zoho team past 3 years, Transaction level Discounts is a mandatory option required for our business needs. Zoho books Indian version has the option then
    • Where do Review Questions appear on the Performance Assessment?

      Hi, I want to create a Performance Assessment including only compentencies with a multiple-choice format, and a final open-text question after the competencies asking for justification of the previous objective questions. Can Review questions work for
    • Exit details not linked on employee profile

      Dear Team, The exit details that were filled in are not appearing in the employee's profile, and it seems the data is missing entirely. Please advise on how to proceed. Regards, Preetika
    • Next Page