Contract creation for Accounts and Vendors in CRM integration

Contract creation for Accounts and Vendors in CRM integration

Info
Zoho Contracts now supports contract request for Accounts and Vendors in our CRM integration by default. Please refer to this topic for more details. Also, the below solution is not required anymore.

One of the most sought feature requests in our Zoho CRM integration is the ability to request contracts for other modules such as Accounts and Vendors. Even though we have considered it on our priority list, we felt it would be helpful for our valuable customers to give a provisional solution through our APIs and the customization capabilities in Zoho CRM, such as custom buttons and custom functions.

Creating a connection:

1) Go to Zoho CRM's Settings > Developer Space > Connections.
2) Select Default Services from the left panel.
3) Click Zoho OAuth service from the list, then click Create Connection.
4) Enter the connection details and choose these scopes: contracts.contracts.ALL, contracts.meta.CREATE, contracts.meta.READ, and contracts.meta.UPDATE.
5) Click Create and Connect.

The connection will be created and listed under the My Connections list.

Adding a custom button and associating a function:

To create a contract for an account record, follow the below steps:

1) Go to Zoho CRM's Settings > Customization > Modules and Fields, then click Accounts.

2) Click your layout in the Layouts tab.

3) Add a Single Line custom field named "Contracts Counterparty ID".

4) Click Set Permission from the 3 dots menu and set the permission of the field as Read Only or Don't Show for all the profiles except Administrator for whom it must be Read and Write, then click Save and Close.

5) Select the Links and Buttons tab and click New Button to create a new custom button.

6) In the Create Your Button form, 
  • Enter the name of the button (say, Create Contract).
  • Choose where you want to place the button (say, View Page).
  • Choose Writing Function (under Functions group) as the action you want to perform.
  • In the Create New Function popup that's displayed, enter the function name without any spaces between the words (say, ContractForAccount) and display name (say, Contract For Account), then click Save.
7) In the Deluge editor window that opens up,
  • Click Edit Arguments seen at the top of the editor.
  • Under the Argument Mapping section, enter AccountId in the Key field.
  • Type # in the Param Value field to choose a value.
  • Select Accounts module followed by its Account ID field from the popup displayed, then click Save.
  • Download the attached file "Contract Creation Snippet for Accounts.txt", then copy and paste the code into the editor.
  • Replace all the occurrences of "zcontractsconn" in the code with the connection name you've created in the previous section.
  • If your account belongs to a DC other than the US, then replace all the occurrences of .com with your DC's extension (e.g., .in for India DC).
  • Save and close the editor.
8) Click Save to save the button.

9) Go to an account record and click Create Contract.

Your contract for the account will be created that you can access from within contracts.zoho.com.

Repeat the above steps for the Vendor module. Here, instead of AccountId, use the argument name as VendorId and download the attached file "Contract Creation Snippet for Vendors.txt" and copy and paste the code into the editor. For vendor records, the counterparty primary contact is created with the same Vendor as the contact.

Note:
  • Each account for which a contract is created will be added as a counterparty record in Zoho Contracts. But it won't be duplicated if you create another contract for the same account.
  • The contract details (such as counterparty type, contract type, term details, renewal details, etc.) have the default values configured within the snippet. You should change them as per your preference within the code.
  • If you would like to get these data through an intermediate form, then you can associate a widget to the button. And, upon submission of the widget, you can call the function.
  • Here, you can even ask the user to choose a contact from a dropdown field whose values can be populated from the Contacts related list. In the given snippet for Accounts module, the contract is created without the counterparty primary contact.
  • To list the contracts created for each account, you can create a custom module and then save the contract name of the each contract created into it and set it as a hyperlink.

Please give it a try. If you have any questions or clarifications related to the functionality and above mentioned configurations, please write to us at support@zohocontracts.com.

For any assistance related to Deluge scripting and CRM functions, please get the assistance from our Zoho CRM Developer community.

Cheers,
Jayakrishnan
Zoho Contracts Team



Edit Note: Replaced the first section by removing registering Zoho Contracts application steps and updated the related points because Zoho Contracts' related connections are now available under the default service Zoho OAuth service.
Edit Note (Dated: 18th Sep, 2024): The fourth point under the heading "Adding a custom button and associating a function" has been updated where the Read and Write permission for Admin is required is mentioned.
Edit Note (Dated: 7th Apr, 2025): The info section has been added at the top of the topic.





      • Sticky Posts

      • Adding signature fields in your contract template

        When you send a contract document for the signing process, you have to insert the signature fields into your contract document by dragging and dropping them for each signer. It won't be effort-intensive for contracts that have fewer pages or signers.
      • Mapping Billing Country Field to Your Contract Template Field

        In Zoho CRM, while configuring Counterparty Fields Mapping to map counterparty information in your contract type, the field 'Billing Country' doesn't have the support to be mapped due to field type mismatch. Because the Billing Country field in Zoho CRM
      • Bulk Import Counterparty Data

        Currently, as the feature to bulk import counterparty data is not available, here is a solution using our APIs that would be useful for our customers. For example, Zoho CRM customers can import their Accounts as counterparties in Zoho Contracts. Using

        • Recent Topics

        • 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 Projects - Show Task List as dropdown field on Task records

          Hi Project's Team, I noticed today that there is no field on a task record related to the task list it belongs to. A dropdown would be helpful for quickly moving tasks between lists while in a task. I know that you can go to "Other Actions" and choose
        • Changing the Default Search Criteria for Finding Duplicates

          Hey everyone, is it possible to adjust the default search criteria for finding and merging duplicate records? Right now, CRM uses some (in my opinion nonsensical) fields as search criteria for duplicate records which do nothing except dilute the results.
        • My followed tickets extension is not working under the All departments view

          Hi. I've installed the My followed tickets extension. However, when I try to open the extension under the all departments view, I get the following message: 'Sorry, this extension is not supported in the All Departments view.' How can I solve this p
        • Ticket Time Entry to Timesheet

          The title just about sums it up. I have searched here and not found anything relevant, but If I overlooked, then please set me straight.  We have staff that do nothing but close tickets in desk all day long. These tickets represent their timesheet. Is there a way to have this information sync or for a tech to go into their timesheet themselves and sync it with their tickets of the same timeframe?? We waste a ton of time doing timesheets and the old "Clock in/Clock out" isnt detailed enough for us!!
        • Calls undetected.

          The call is not showing on the call log.
        • Calls undetected

          Zoho is not reading calls made.
        • Multi-currency and Products

          One of the main reasons I have gone down the Zoho route is because I need multi-currency support.  However, I find that products can only be priced in the home currency, We sell to the US and UK.  However, we maintain different price lists for each. 
        • Archiving Contacts

          How do I archive a list of contacts, or individual contacts?
        • How to add to Subforms via Zapier with Zoho Writer?

          I have the following layout for a Zoho Writer Document. As you can see there is a repeating subform taking in "Items". I am trying to make a Zapier integration with it, and I can see there is 1 field saying: "Items", but it does not specify how I'm supposed
        • Missing information data Zoho inventory

          there some missing data in Zoho inventory connection. pick list stock counts bin location we have requested it via mail and the support team doesn’t gove feedback. has anyone achieve to get these info or to ask other ya les
        • Calendar Events Issues

          Not able to view scheduled events on my calendar
        • Extensions 101 webinar series: Build, integrate, and monetize with extensions

          Attention developers! Are you ready to take your extension development skills to the next level? We're excited to bring back the Extensions 101 webinar series with an expanded lineup of Zoho products and an introduction to more platform features. Last
        • Custom Related List Inside Zoho Books

          Hello, We can create the Related list inside the zoho books by the deluge code, I am sharing the reference code Please have a look may be it will help you. //..........Get Org Details organizationID = organization.get("organization_id"); Recordid = cm_g_a_data.get("module_record_id");
        • Where are recordings stored?

          I have hosted a couple of test meeting, used the "record" button to start and stop the recording but I am unable to find where are those recordings saved?  Can anybody help? Thanks
        • Zoho Desk's integration with Microsoft PowerBI delivers advanced analytics insights

          Hello everyone, Gaining advanced insights through reports and dashboards is one of the critical requirements of every business. In addition to key metrics tracked in Zoho Desk, such as agent performance, SLA adherence, and ticket lifecycle, businesses
        • Create static subforms in Zoho CRM: streamline data entry with pre-defined values

          Last modified on (9 July, 2025): This feature was available in early access and is currently being rolled out to customers in phases. Currently available for users in the the AU, CA, and SA DCs. It will be enabled for the remaining DCs in the next couple
        • IMAP error message in Zoho mail

          I cannot send emails today. Everything fine for years until today. Get a message: "You are yet to enable IMAP for your account. Please contact your administrator". Does anyone know how to correct this?
        • Enhancements to Zoho Map integration tasks

          Hello everyone, We're excited to announce enhancements to the Zoho Map integration tasks in Deluge, which will boost its performance. This post will walk you through the upcoming changes, explain why we're making them, and detail the steps you need to
        • IMAP stopped working today

          Hello! I've been a paid customer for more than 10 years, IMAP was always working fine. But today this is the error I've got on my iPhone: I've tried toggling the IMAP for my account (Mail -> Settings -> Mail accounts) off and on again, but that did not
        • Are custom portals accessible on the Zoho learn smartphone app?

          In other words, can users external to my organisation, once signed up, use the app in the same way as internal users? Thanks
        • Zoho Books/Inventory - Update Marketplace Sales Order via API

          Hi everyone, Does anyone know if there is a way to update Sales Orders created from a marketplace intigration (Shopify in this case) via API? I'm trying to cover a scenario where an order is changed on the Shopify end and the changes must be reflected
        • Conditional Layouts On Multi Select Field

          How we can use Conditional Layouts On Multi Select Field field? Please help.
        • Multiple columns in a form

          I am evaluating Zoho Creator. However, I am seeing almost no layout control on a form.  Just a basic 1 or 2 column format that is then imposed on the entire form.  That's not going to work for many, many real world cases. We need multiple columns per line, and we need each line/section to occupy a single column or be able to span the columns.   Someone please tell me that I'm missing something and the capability is actually there.  
        • Global search

          Hi! I think it would be great to have a global search that would give you results from all records of a database, no only for a single field of a single form as we have now. Thanks!
        • Any insights about API/v2? Having problem for a while.

          I don't know why it is throwing a 404 error, my report name is correct. Has someone had this issue and how you fix it?
        • Edit QR code with redirect to form

          Guten morgen, wir haben ein Formular Reklamation_erstellen. Dort soll ein QR Code erstellt werden, der im Lieferschein angezeigt wird. Beim Scannen auf dem soll das jeweilige Formular zum BEARBEITEN geöffnet werden. Leider bekomme ich es nur so hin, dass
        • Getting all the ingredients together for baking an app

          Good day everyone. After reading a lot of the help docs and watching videos, I now started on my app. To prevent hours and hours wasted on going down the wrong track, I would like some clarification on the following. But first some background: I have
        • Help Needed with Configuring ZC Microservice

          I'm attempting to create a simple microservice, but am running into problems with scope and auth. Using Custom API Builder, here's my setup: 1. Method: GET 2. Auth: OAuth2 3. User Scope: All users 4. Response: Standard 5. Function: A function that returns
        • Creator Simplified #10: Predefine Form Field Values and Make Them Read-Only for Users

          Hey Creators, Ready for this week's tip in the Creator Simplified series? Today, we will explore how to have read only fields in a form. Use Case: Assume a scenario where the default value for a Department field needs to be English Literature, but you
        • To Assign a genrated pdf to a file upload field using delug

          content = "<html><body>HTML Content on page One <div style='page-break-after:always'></div> HTML Content on page Two </body></html>"; file = zoho.file.convertToPDF(content); file.setFileName("Name of the file"); <variableName> = <FormLinkName>[ID == input.ID];
        • Zoho Mail : Email Outgoing Blocked

          I suddenly received the following message yesterday. I cannot send any mail. Please resolve as soon as possible, I cannot work without sending email. Dear User, We regret to inform you that your email outgoing has been blocked and you will not be able
        • Creator and Tables

          Good day. I am trying to create my first application. I have imported my data into Tables and am creating my app in Creator. I do not see my tables and cannot see how to write forms data to a table. Even the Workflow just uses the form. In one of the
        • Calendar week view: Today + 6

          Is there anyway to have the calendar change dynamically based on the date? Due to the amount of events, we only display a week at a time, but towards the end of the week, we can no longer see ahead to next week (without changing it manually every time).
        • customer Name and address details

          i created one application there is no customer details in that . how to add customer details and
        • Recalculate every row in the subform

          Hello, Can anyone help me with a script, please? I have an issue. Sometimes it happens, that in a multi row subform one of the rows show an incorrect row total value. Not really understand how it can happen, if I have a 20 row subform, 19 rows show correct
        • Creating Repeat Forms that remove redundancies

          I wanted to understand if you can make multi-layer forms that reduce the need for users to input information in again and again. We want a form that our suppliers fill out per ingredient they sell, and the end result should have the Ingredient (Section
        • What is the difference between the free plan and the mail lite plan?

          What is the difference between the free plan and the mail lite plan? How many emails can I send per day?
        • Unblock email

          Hi The outgoing mail from a client of me is blocked. I already made tickets and tickets are send to the EU desk but nobody is responding. The problem is already 4 days! There is absolutely no help from the support. I am really not satisfied at all! Can
        • Domain verification failure

          Hello Zoho Support, I purchased my domain directly through Zoho Mail, but the domain verification keeps failing with the message “TXT verification failed.” I’ve already waited and retried several times, but it still won’t verify. Could you please manually
        • Next Page