IN THIS PAGE…
Extension Components
Once you have created an extension as mentioned in the create extensions help document, the next step is to add components to it. Components are the building blocks of an extension. The components will be available in the Build section at the top.
Components
The Zoho Billing Developer Portal supports the following components:
- Preferences
- PDF Templates
- Email Notifications
- Automation
- Web Tabs
- Signals
- Widgets
- Incoming Webhooks
- Connections
- Custom Views
- Custom Modules
- Payment Gateway Connectors
Preferences
You can customize extensions based on your requirements using these components from the Preferences pane:
Field Customization
If the fields in a module do not meet your requirements, you can create additional fields to store the required information using custom fields. Read our help document on Custom Fields to learn more about the feature.
Custom Buttons and Links
Create custom buttons to perform tailor-made actions for your transactions or open external links. You can create them using a deluge script and execute actions based on the functions you add. Read our help document on Custom Button and Links to learn more about the feature.
Related Lists
Using Related Lists, you can fetch and view data from within Zoho Billing as well as from other third-party services. This comes in handy when you want to cross-reference data from different entities. Read our help document on Related Lists to learn more about the feature.
Meta Fields
Meta fields are fields that you can use when the value stored in the custom field is static or constant. In the Zoho Billing Developer Portal, you can use meta fields to store a plugin’s data.
For each extension, you can use one meta field and store up to 64000 characters in the meta field. A unique key is generated for the meta field of each extension. To identify the unique key of the meta field:
- Go to Zoho Billing Developer Portal.
- Switch to the Build section at the top.
- Select Preferences in the left sidebar.
- Select a module in the Preferences pane.
- Click Learn Meta Fields at the top right corner.
- In the pane that appears, go to the To Store or To Retrieve section under API Documentation.
- The 5 alphabets after /pu_ in the URL field will be the unique key for the meta field of your extension.
By default, the details of the meta fields will not be shown to the users. However, if the meta field is used in a widget or related list, the meta field’s details can be accessed from the GET API call.
The table below is the list of modules that support meta fields:
Module | URL |
---|---|
Invoices | /invoices/(\d+)/metadata/{plugin_identifier} |
Quotes | /estimates/(\d+)/metadata/{plugin_identifier} |
Credit Notes | /creditnotes/(\d+)/metadata/{plugin_identifier} |
Retainer Invoices | /retainerinvoices/(\d+)/metadata/{plugin_identifier} |
Customer Payments | /customerpayments/(\d+)/metadata/{plugin_identifier} |
Expenses | /expenses/(\d+)/metadata/{plugin_identifier} |
Recurring Expenses | /recurringexpenses/(\d+)/metadata/{plugin_identifier} |
Projects | /projects/(\d+)/metadata/{plugin_identifier} |
Users | /users/(\d+)/metadata/{plugin_identifier} |
Items | /items/(\d+)/metadata/{plugin_identifier} |
Customers | /customers/(\d+)/metadata/{plugin_identifier} |
PDF Templates
Customize the look and feel of sales transactions to suit your brand better in Zoho Billing. You can customize an existing template or create a new one. Read our help document on PDF templates to learn more about the feature.
Email Notifications
Customize the emails sent from your organization. Read our help document on Email Notifications to learn more about the feature.
Automation
You can automate your day-to-day work processes to save time and money. Here’s a list of automation tasks that can performed in Zoho Billing:
Workflow Rules
A workflow rule consists of actions that comprises of Email Alerts, In-App Notifications, Field Updates, Webhooks, and Custom Functions that play an essential role in executing a task. A workflow rule may employ one or more workflow actions to automate the tasks of your organization. Read our help document on Workflow Rules to learn more about the feature.
Workflow Actions
Workflow Actions in Zoho Billing allows you to automate tasks and actions based on predefined triggers or conditions. The workflow actions available in Zoho Billing are:
Email Alerts
Email Alerts are automated emails that are sent when the criteria in a workflow rule are met. You can create new email alerts and use them in a workflow rule. Read our help document on Email Alerts to learn more about the feature.
In-App Notifications
In-app Notifications help you notify your users of an event or a significant activity that has taken place in your organization. Read our help document on In-App Notifications to learn more about the feature.
Field Updates
In-app Notifications alert the users within your organization about events or significant activities that have occurred. Read our help document on In-App Notifications to learn more about the feature.
Webhooks
Webhooks facilitate communication with third-party applications by sending instant web notifications every time an event occurs in Zoho Billing. With Webhooks, you can configure HTTP & HTTPS URLs and associate them with workflow rules to automate the notification process. Read our help document on Webhooks to learn more about the feature.
Custom Functions
Custom functions in Zoho Billing allows you to write small pieces of code to automate your business processes. Read our help document on Custom Functions to learn more about the feature.
Schedules
Create and run predefined tasks at a specified time or intervals using Schedules. You can create your tasks using a deluge script and schedule this task to be executed at a particular time or on a recurring basis. Read our help document on Schedules to learn more about the feature.
WebTabs
Web Tabs are similar to browser tabs, but are accessible from within Zoho Billing. They enable you to access web pages or applications that provide you with an embeddable URL. You can create a maximum of 10 web tabs in Zoho Billing. This feature is available only for a few plans of Zoho Billing. Learn more about web tabs
Signals
A Signal sends in-app notifications to users in your organization whenever an action is performed in a third-party app that you had configured. Read our help document on Signals to learn more about the feature.
Widgets
Sometimes, you may want to access features from third-party applications in Zoho Billing. Widgets can help you achieve this using embeddable UI components. Read out help document on Widgets to learn more about them.
Incoming Webhooks
Incoming webhooks is a method of bringing information from a third-party service or an API request to Zoho Billing on occurrence of an event. In Zoho Billing, you can use the action performed in the third-party service as a trigger to perform a task in Zoho Billing. Read our help document on Incoming Webhooks to learn more about the feature.
When you create an incoming webhook in the developer portal, you will not be given the ZAPI Key URL to identify which organization is installing the extension. The ZAPI Key URL can be obtained by editing an existing incoming webhook.
In the On Installation tab, you have to use this snippet to fetch the organization specific ZAPI Key URL and configure the outgoing webhook in your end. Here’s how:
- Go to the Configure section at the top.
- Select Install Actions in the left sidebar.
- Paste the script that you copied from the incoming webhook in the Deluge script in the On Installation tab.
The script will be executed automatically for the organization installing the extension on every successful installation.
Connections
You can connect to a third-party service or other Zoho applications using connections in Zoho Billing. You can set up a connection from the Deluge editor page. Read our help document on Connections to learn more about the feature.
Custom Views
Create custom views to filter the records in any module based on the criteria you’ve set. Read our help document on Custom Views to learn more about the feature.
Custom Modules
There might be times when the predefined modules in Zoho Billing may not be sufficient to manage all your business requirements. In such cases, you can create a custom module to record other data. Read our help document on Custom Modules to learn more about the feature.
Payment Gateway Connectors
A Payment Gateway Connector bridges software and a payment gateway, securely transferring payment data from the customer to the gateway for processing, and back to the software.
If you’re a developer, you can create an extension for payment gateways that are not currently supported by Zoho Billing using Payment Gateway Connectors. Once done, you can publish and sell your extension in the Zoho Marketplace to Zoho Billing users.
Zoho Billing users can then install your extension for their Zoho Billing organization and use it to receive payments.
To create a payment gateway extension, email us at support@zohobilling.com and we will enable Payment Gateway Connectors for your organization.
Extension Creation Guidelines
Now that you’ve learned about the various components of an extension, you can begin building your extension. However, it’s crucial to ensure that your extension aligns with the Zoho Billing extension guidelines. This makes it easier for your extension to be approved or to be published in Zoho Marketplace.
The guidelines that you have to follow when developing an extension are:
Common Guidelines
- Do not use any unwanted components or scripts in the extension.
- Do not use more than 5 custom fields in each module.
- Ensure that the extension name does not contain the name of the product for which it is developed. For example, if you’re developing an extension for Twilio, the extension name should be Twilio and not Twilio for Zoho Billing.
Guidelines for Connections
- If you’re using connections in your extension, enable only the scopes that are required for the connection.
- If the connection’s authentication type is OAuth2, include access_type=offline in the Authorize URL field.
- Ensure that the connection name is a combination of the service name and the extension name, separated by a hyphen in Pascal case. For example, ZohoBilling-Twilio.
- If individual users of an organization have to connect and authorize the connections used in your extension, set the value for the user access param to true.
Guidelines for Custom Scripts
- If you want to publish the extension in other Zoho Finance apps, do not use any internal SDK methods. For example, instead of using zoho.billing.getRecord, use invokeurl.
- Include api_root_endpoint in the Invoke call’s URL.
- Do not create components using scripts.
- If you’re using comments in the custom scripts, ensure that you do not add personal or sensitive information as comments.
Guidelines for Widgets
- If you’re using widgets in the extension, ensure that they adhere to the style used in the Zoho Billings user interface.
- Ensure that the widget’s data is not displayed in the console tool.
Guidelines for Global Fields
- If you’re using global fields in custom scripts, check the Allow use of Global fields in this custom function option.
- If the data type of the global field is Users or Roles, and notifications are sent to the users, set the value of the is_mandatory param to true.