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

    • Live webinar | The Evolution of Zoho Show: 2025 Feature Recap

      2025 has been a year of exciting updates and features for Zoho Show. From advanced design and formatting tools to smarter presentation delivery, enhanced collaboration, and AI-powered features—along with the launch of our desktop apps, Show has continued
    • Batch Tracking custom function

      Hi fellow zoho users, We have our ecommerce site setup to shopify. I have some products I want to add batch tracking too, my only issue is that it breaks our shopify workflow (create sales order, invoice, payment, package) because it requires us to manually
    • Company Multiple Branch/ Location Accounting

      Hi All, anyone know whether company can maintain their multiple Branch Accounting in Zoho  Books. It will be chart of Accounts & Master Data will be same but different report available as per per Branch. Thanks & regards, Vivek +91 9766906737
    • Is it possible to setup bin locations WITHOUT mandating batch tracking?

      Hi fellow zoho users, I'm wondering if anyone else has a similar issue to me? I only have some products batch tracked (items with shelf life expiry dates) but I am trying to setup bin locations for my entire inventory so we can do stock counting easier.
    • Dependent (Conditional) Fields in Zoho Bookings Forms

      Hello Zoho Bookings Team, Greetings, We would like to request the ability to create dependent (conditional) fields in Zoho Bookings registration forms. Current Limitation: There is currently no way to make one field’s available options depend on the value
    • Support “Other” Option with Free Text in Dropdown Fields

      Hello Zoho Bookings Team, Greetings, We would like to request an enhancement to the registration form fields in Zoho Bookings, specifically for dropdown fields. Current Limitation: At the moment, dropdown fields do not support an “Other” option that allows
    • Report on opportunities showing only the last note added.

      Hi I need to create a report that shows the most recent note added to each opportunity. This is so management can see what the latest update is according to the assigned salesperson. One workaround is to use the status field but this implies added manual work and mistakes as the salesperson would have to copy the existing status to a note before adding the latest status... otherwise the activity history would be lost. My current workaround is a report on Notes with Opportunities as the related module.
    • Optimum CRM setup for new B2B business

      Can some advise the most common way to setup Zoho CRM to handle sales for a B2B company? Specifically in how to handle inbound/outbound emails. I have spent hours researching online and can't seem to find an accepted approach, or even a tutorial. I have
    • Include Suggested Articles in New Ticket Email

      When someone creates a new ticket, is there any way to include recommended knowledge base articles (like the ones Zia Suggests) in the email notification to the user? When they're waiting for a reply, it would be nice to have sent them some recommended
    • Mapping a new Ticket in Zoho Desk to an Account or Deal in Zoho CRM manually

      Is there any way for me to map an existing ticket in Zoho desk to an account or Deal within Zoho CRM? Sometimes people use different email to put in a ticket than the one that we have in the CRM, but it's still the same person. We would like to be able
    • Item Bulk Edit - Allow for Reorder Level

      We're implementing a process for using the Reorder Level field for Items, and I have to go through and add this value to a huge chunk of our Items. It's driving me bonkers that I have to do this individually through the UI rather than bulk updating. It
    • 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.
    • StatusIQ

      Please add StatusIQ to data sources. We using site24x7 and StatusIQ together and site24x7 integration is already there. Thanks and regards, Torsten
    • Report sorting not working

      I make extensive use of Summary reports and Pivot Tables. Most of these reports are structured such that I have several columns of "information" data that I want displayed, followed by one or more "Data" summarizations. For example, I have the following
    • This site can’t be reached mail.zoho.com took too long to respond

      In my office at any system, we couldnt able to login zoho email. it shows " This site can’t be reached mail.zoho.com took too long to respond". please fix it soon.
    • Why am I seeing deleted records in Zoho Analytics syncing with Zoho CRM?

      I have done a data sync between Zoho CRM and Zoho Analytics, and the recycle bin is empty. Why do I see deleted leads/deals/contacts in Zoho Analytics if it doesn't exist in Zoho CRM? How can I solve this problem? Thanks
    • Zoho Flow + QuickBooks Estimates – Line items not created from CRM subform

      Hi everyone, I’m trying to create QuickBooks Estimates from Zoho CRM Quotes using Zoho Flow. I’m aware that Zoho Flow’s native “Create Estimate” action does not support multiple line items, so I followed the community guidance for Invoices using a custom
    • SAP S/4 HANA Integration via ZOHO Flow

      Hi How do I change the SAP Client ID while creating a new connection ? MY client ID is 421. I believe the client id should be an input field for length 3 numbers rather then a drop down to select from a fixed set of values. Thanks
    • VLOOKUP FUNCTION PROBLEM

         Hello, i have a problem with the VLOOKUP  function in my sheet http://public.sheet.zoho.com/public/tonimoreno/indicemasacorporal2 in cell D2. This function doesn't work correctly and always returns the last content of the range. Can you help me?
    • Zoho Flow Completely Broken?

      Since December 13th, 100% of our flows have stopped working completely. Nothing is working or triggering??? I called support & sat on the line with them for 2 HOURS until they finally concluded it was a back-end problem on their end?? Now i'm calling
    • Print / Export full Dashboard page

      Hello Zoho team, It is currently only possible to print/export one component of a dashboard at a time. Requesting the option to print/export a full dashboard page with all components to a pdf or picture. Doing through the browser doesn't give good results.
    • emails duplicated in my outlook client

      Hello I am just new here and I have a litle problem that I do not find how to solve. I sumarise here after. Your help would be very appreciated. I have just recently contracted this zoho mail servicesservices as an initial evaluation yesterday night. I then:   - opened a free account  - created 1 initial email address ..........@domain.com  - created a second email address ..........@domain.com - proceeded with the config instructions (checking the ownership of my domain, changing MX etc... ) as
    • How to check task starting time in zoho mobile app?

      I am using the Zoho mobile app on my iPhone, and I am not able to see the task's starting and finishing times. When opening the Task information / Details, I can only see the Task start date and due date, but not the time. Is there any way to check a
    • Creating an extension in Sigma: Zoho CRM isn't selectable as a service

      I have 2 Zoho accounts which are part of 2 different workplaces. One workplace is able to select 'Zoho CRM' as a service option when creating a new extension, the other one is not. I'm not sure what the exact differences are between them. What do I need
    • List of packaged components and if they are upgradable

      Hello, In reference to the article Components and Packaging in Zoho Vertical Studio, can you provide an overview of what these are. Can you also please provide a list of of components that are considered Packaged and also whether they are Upgradable?
    • Cliq iOS can't see shared screen

      Hello, I had this morning a video call with a colleague. She is using Cliq Desktop MacOS and wanted to share her screen with me. I'm on iPad. I noticed, while she shared her screen, I could only see her video, but not the shared screen... Does Cliq iOS is able to display shared screen, or is it somewhere else to be found ? Regards
    • Knowledgebase SEO

      We have a custom-domain mapped help center that is not restricted via login. I have some questions: a) will a robots.txt file still allow us to control indexing? b) do we have the ability to edit the sitemap? c) do category URLs get indexed by search
    • RouteIQ for Zoho FSM

      Beste, Zou wel top zijn dat we een RouteIQ hebben voor FSM aangezien we constant moeten zien wat de beste route is voor onze monteurs. Nu moeten we een speciale aparte programma hebben om de beste route te berrekenen voor onze monteurs aangezien de planning
    • Export Tickets from the Help Center

      Hello everyone! We are now allowing end users to export tickets directly from the help center. The ticket export allows users to: Filter tickets by Department, Priority, and Account before exporting. Download files from Export History (Setup > Data administration
    • Super Admin Logging in as another User

      How can a Super Admin login as another user. For example, I have a sales rep that is having issues with their Accounts and I want to view their Zoho Account with out having to do a GTM and sharing screens. Moderation Update (8th Aug 2025): We are working
    • Is it possible to remove filtering options?

      My CRM has a lot of custom fields that should not be used in filters or views. Fields that are automated and exist only to store temporary values that get used in functions. These create a lot of noise in the list of fields to filter. Isn't there any
    • Function #18: Associate invoice templates automatically based on customer language

      For businesses dealing with a diverse linguistic clientele, it becomes crucial to send out invoices in the customer's preferred language to ensure effective communication. This requirement can be handled in Zoho Books by creating invoice templates in
    • Changing field types

      Question im a Zoho CRM user and curious, if I change a flied type from single or multi line text to a URL field type will i lose the data in the field or will it be converted to website link automatically. Thanks
    • Quote PDF – Header image stopped rendering suddenly

      Hello Zoho Support Team, We are facing an issue with Quote PDF templates in Zoho Books. Previously, images added inside the Quote header HTML were rendering correctly. However, recently the header image is no longer appearing, while header text still
    • Changing Default PDF Name

      Is it possible to change the default name of a PDF? As of right now, all of my quotes are named 'QT_$QuoteNumber' (i,e: 'QT_19803471298374) - would it be possible to change this to: '$CompanyName - $AccountName - $QuoteNumber' for instance?
    • Tip 2: Recursive functions in Deluge: How to dynamically run a function for a specified number of times.

      Hi folks, As part of the Zoho Creator - Tips and Tricks series every fortnight, we are back today with a new tip on Recursive functions.  Let us first quickly understand what Recursive functions are: A function that calls itself one or more times is known as a Recursive function. That is, you can execute a function to perform a particular action a specific number of times. And, at the end of each iteration, a new output is generated. Recursive functions are commonly used by programmers as it enables
    • Function #48: Manage fixed installment payments using Zoho Books

      Hello everyone, and welcome back to our series! Businesses offer installment payment options to their customers, particularly for expensive purchases, to ease the financial burden on them. By breaking down the total cost into smaller, more manageable
    • Function #1: Convert an accepted Estimate to Sales Order automatically in Zoho Books

      As you’re aware, Zoho Books provides a default option to have the estimates automatically converted to invoices once your customer accepts them. Many of you wanted a similar option for sales orders, so here’s a workflow that converts accepted estimates
    • Spotlight series #6: The Show app for Android TV has a new look!

      Hello everyone! We are delighted to introduce our revamped and redesigned Show app for Android TV.  Smart TVs are exploding in popularity. Android TV alone has over 110 million active monthly devices. Zoho Show, as part of a constant effort to improve
    • Employee Appraisal Applicability - Why is Date of Joining Hard-Coded?

      In the new (to me, at least) Performance Appraisal Cycle wizard, it's possible to set criteria to determine for whom the appraisal process should apply. This makes sense on its face. However, one MUST use the Date of Joining criterion as a filter. Why
    • Next Page