InteGreat 03: Integrating Zoho Creator with Zoho Books

InteGreat 03: Integrating Zoho Creator with Zoho Books



Hi everyone,

Today, we'll look at how to integrate your Zoho Creator app with Zoho Books. This is one of the most popular Zoho integrations that our customers use. 

You can use this integration to automate processes like:

  • Creating quotes and invoices in Zoho Books from within Zoho Creator
  • Accessing quotes, bills, and invoices from within Zoho Creator
  • Linking bills and invoices to a project and performing profit calculations

With Deluge, you can use the built-in integration task to connect with the different modules in Zoho Books. Here are the different Zoho Book modules that we support:

  • Contacts
  • Invoices
  • Customer Payments
  • Items
  • Estimates
  • Recurring Invoices
  • Expenses

Add data to Zoho Books


You can add a record when submitting a Zoho Creator form and have it simultaneously added in Zoho Books, without re-entering the data a second time in Books. You can do this with the zoho.books.createRecord() Deluge task.

Syntax:
  1. <response> = zoho.books.createRecord(<module>, <orgID>, <params>);
Use case:

Let's say you're collecting details about your resellers using a Creator form, and you need to pass this information on to Books to send them an estimate or a sales order. That is, whenever a new reseller is added to Creator, we'd need to create a new contact in Books.

The "Add New Reseller" form has the following fields:

  • Name (single line field type)
  • Company Name (single line field type)
To create this record simultaneously in the Contacts module of Zoho Books, you need to execute the zoho.books.create() task in the On Success actions block of the "Add New Reseller" form. Thus, whenever you fill in the "Add New Reseller" form and submit it, it automatically creates a record in Zoho Books with the relevant details.

You can achieve this using the following script:

  1. resellerInfo = Map();
  2. resellerInfo.put("contact_name",input.Name);
  3. resellerInfo.put("company_name",input.Company_Name);
  4. response = zoho.books.createRecord("Contacts","<ORG ID OF ZOHO
  5. BOOKS>,resellerInfo);
For more details click here.

Fetch data from Zoho Books:

Similarly, you can fetch data from Zoho Books and have it populate a Zoho Creator form. You can achieve this by using the zoho.books.getRecords() task in Zoho Creator.

Syntax:
  1. <response> = zoho.books.getRecords (<module>, <orgID>,<search>);
Use case:

This task works if you want to fetch the list of all your product items stored in Zoho Books and populate them in a drop-down field in Zoho Creator.

The "Customer Details" form has the following fields:

  • Customer Name (single line field type)
  • Items (dropdown field type)
You can fetch the name of each item from the Items module and populate the items field using the ui.add() task. All you need to do is write the below script in the On Load action block of the Zoho Creator form.

  1. response = zoho.books.getRecords("Items",<ORG ID OF ZOHO BOOKS> );
  2. itemList= response.get("items").toJSONList();
  3. for each item in itemList
  4. {
  5. input.Items:ui.add(item.getJSON("item_name"));
  6. }
For more details on this task please click here.

Update Data in Zoho Books

Next, let's look at how to update records in Zoho Books by simply submitting a form with the relevant details in Creator. You can achieve this by using the zoho.books.updateRecord() task in Creator.

Syntax:

  1. <response> = zoho.books.updateRecord(<module>, <orgID>, <contactID>, <params>);
Use case:

Let's say you're updating the reseller information that you entered earlier using the Zoho Creator form. Now, you need to update this information in Zoho Books as well.

The "Add New Reseller" form has the following fields:

  • Name (single line field type)
  • Company Name (single line field type)
We can trigger this task with the "On Validate" action of the form.

You can achieve this using the following script:

  1. if(old.Name != input.Name // check if the Name is changed when you edited the record
  2. {
  3. search=encodeUrl(old.Name);
  4. sp1 = zoho.books.getRecords("Contacts",<ORG ID FROM
  5. BOOKS>,"contact_name=" + search);
  6. contact_id = sp1.get("contacts").get(0).getJSON("contact_id");
  7. Update_Map = Map();
  8. Update_Map.put("contact_name",input.Name);
  9. resp = zoho.books.updateRecord("Contacts",<ORG ID FROM
  10. BOOKS>,contact_id,Update_Map);
  11. }
For more details, please check here.

 

We hope this post on Zoho Books integration was useful to you. If you have any questions, feel free to add them as comments below. We'll be happy to address them all for you!

    • Recent Topics

    • Transformer vos stocks en décisions intelligentes avec Zoho Inventory et Zoho Analytics

      Zoho Inventory permet de suivre facilement les niveaux de stock et d’anticiper les restockages. Pour de nombreuses entreprises, cela suffit à gérer les opérations au quotidien. Mais à mesure que l’activité se développe, cette clarté peut commencer à montrer
    • Security Enhancements | Migrate to the Updated Policies

      Hello everyone, Zoho Directory's security policies have been updated and reorganized into three new policies with features that enhance the overall organization security. These policies provide a stronger and more secure sign-in methods and improve the
    • Bring Zoho Shifts Capabilities into Zoho People Shift Module

      Hello Zoho People Product Team, After a deep review of the Zoho People Shift module and a direct comparison with Zoho Shifts, we would like to raise a feature request and serious concern regarding the current state of shift management in Zoho People.
    • Facturation électronique 2026 - obligation dès le 1er septembre 2026

      Bonjour, Je me permets de réagir à divers posts publiés ici et là concernant le projet de E-Invoicing, dans le cadre de la facturation électronique prévue très prochainement. Dans le cadre du passage à la facturation électronique pour les entreprises,
    • Quick Create needs Client Script support

      As per the title. We need client scripts to apply at a Quick Create level. We enforce logic on the form to ensure data quality, automate field values, etc. However, all this is lost when a user attempts a "Quick Create". It is disappointing because, from
    • How to block a WhatsApp user for sending spam

      Is there a way to block those whatsapp users that just come to play and annoy our service, they also spam us. We have a waba service with sales iq
    • Inquiry regarding auto-save behavior for Zoho Sign Embedded Sending

      Dear Zoho Support Team, I am currently integrating Zoho Sign's Embedded Sending functionality using iframes on my website. I would like to know if there is a way to ensure that the document state (including any added fields) is automatically saved as
    • Introducing Connected Records to bring business context to every aspect of your work in Zoho CRM for Everyone

      Hello Everyone, We are excited to unveil phase one of a powerful enhancement to CRM for Everyone - Connected Records, available only in CRM's Nextgen UI. With CRM for Everyone, businesses can onboard all customer-facing teams onto the CRM platform to
    • Automation#17: Auto-Create Tasks in Zoho Projects Upon Ticket Creation in Zoho Desk

      Hello Everyone, This edition delivers the solution to automatically create a task in Zoho Projects when a ticket is created in Zoho Desk. Zylker Resorts uses Zoho Desk for bookings and handling guest requests. Zylker resorts outsources cab bookings to
    • Automation#20 : Auto-Add Ticket Tags based on Keywords

      Hello Everyone! Welcome to unveiling custom functions on our Community series. This week's post lets you add tags to your tickets automatically based on the keywords in the ticket subject and the ticket thread. Discover how this custom function helps
    • Automation#21: Track Ticket Transfers Across Departments

      Hello Everyone! With Halloween just around the corner, we'd like to let you know the Zoho Desk team is always there to sweep away your customer service troubles! This week, we’re excited to introduce a custom function that tracks tickets moved between
    • Email Integration - Zoho CRM - OAuth and IMAP

      Hello, We are attempting to integrate our Microsoft 365 email with Zoho CRM. We are using the documentation at Email Configuration for IMAP and POP3 (zoho.com) We use Microsoft 365 and per their recommendations (and requirements) for secure email we have
    • Homepage not assignable to group

    • MS Teams for daily call operations

      Hello all, Our most anticipated and crucial update is finally here! Organizations using Microsoft Teams phone system can now integrate it effectively with Zoho CRM for tasks like dialling numbers and logging calls. We are enhancing our MS Teams functionality
    • Automation#22 Track Ticket Duration at Specific Status

      Hello Everyone! Welcome back to the Community Learning Series! Today, we explore how Zylker Techfix, a gadget servicing firm, boosted productivity by tracking the time spent at a particular ticket status in Zoho Desk. Zylker Techfix customized Zoho Desk’s
    • Automation#23: Automate Guided Conversations in Zoho Desk with Business Hours

      Hello Everyone, This week's edition introduces a custom function designed to automate Guided Conversations in Zoho Desk, based on your business hours. With this feature, you can align the bot's behavior with your business schedule, ensuring a smooth and
    • Address changes in quote form

      When entering a quote, the first piece of information required is the Account, which properly populates the billing and shipping address fields. Then I use the lookup function to select a contact, and when I do, the billing and shipping addresses are
    • Automation#24: Auto-Update custom field from Accounts to Tickets

      Hello Everyone! Welcome back to the Community Learning Series! This episode dives into how Zylker Techfix streamlines account-related ticket references. Previously, employees had to manually check account details to retrieve specific customer information,
    • Kaizen #227 : Client Script Support for List Page (Canvas)

      Hello everyone! Welcome to another week of Kaizen. In today's post lets see how Client Script can be used in Canvas List Page to mask sensitive information from specific roles and add colors to Canvas List Page records based on custom criteria.This use
    • Automation#25: Move Tickets to Unassigned When the Owner Is Offline

      Hello Everyone, Welcome to this week's Community Series! 'Tis the holiday season—a time when work often takes a brief pause. The holiday spirit is in full swing at Zylker Techfix too, with employees taking some well-deserved time off. During this period,
    • Automation#27: Retain Ticket Owner on Moved Tickets

      Hello Everyone! This week, we present to you a custom function that retains the ticket owner when a ticket is moved from one department to another. Here’s more to help you understand the custom function: At Zylker Techfix, Alex, the Support Engineer manages
    • Automation#28 Notify Agents on Article Expiry

      Hello Everyone! This week, we’re bringing you a feature that notifies your team when articles in the Knowledge Base are set to expire to keep your content relevant and helpful for customers. The Zoho Desk's Knowledge Base is an asset for customers to
    • Automation#29 Retain ticket status on moved tickets

      Hello Everyone, Hear out Zylker Techfix’s Success Story on Smoother Ticket Transitions! Zylker Techfix, a gadget servicing firm committed to quick repairs and timely deliveries, faced a challenge when ticket statuses changed automatically while moving
    • Automation#32:Auto Add New Portal Users to the Help Center User Groups

      Hello Everyone, Introducing a custom function that automates the process of adding new portal users to Help Center user groups, making user management effortless! By default, Zoho Desk allows you to assign new portal users to groups manually. But with
    • Automation#34 : Automate Email threading for Ticket notification

      Hello Everyone, It's been a while since we've presented an automation. However, our community has been buzzing with ideas, use cases, and discussions with our community experts and Ask the Experts session. So, here we are again, presenting an automation
    • Automation#35 : Auto-Add Comments under the Owner's Name in Tickets via Macros

      Hello Everyone, This week's custom function provides simple steps to configure a Macro for adding comments to tickets with the name of the Comment owner. When managing tickets, you can use the Comment feature to communicate internally with your team and
    • Automation#36: Auto-create time-entry after performing the Blueprint transition

      Hello Everyone, This week’s edition focuses on configuring a custom function within Zoho Desk to streamline time tracking within the Blueprint. In this case, we create a custom field, and request the agent to enter the spending time within the single
    • Automation#33: Automate Splitting Names for Existing Contact Records

      An organized directory – who doesn't love one? Previously, we explored how to split contact names into First Name and Last Name for new contacts in Zoho Desk. But what about existing contacts already in your database? This week, we bring you a custom
    • Workqueue

      I really like the idea of the Workqueue generally - it will be really useful. What it seems to lack however, is the ability to customise it properly. I want to be able to show a custom view rather than just "My Leads" and "Leads Assigned in Last 3 hours".
    • Webform & spam

      Hi, We set up 2 webform on our website, fowarding the content to Zoho CRM. Since it has been opened up, we are getting lot of spam message (for now about 20 a day). To lower the amount of false new leads we added the captcha field and new enquieries are
    • Zoho CRM Web form page URL

      Hi there, I am getting quite a bit of spam through my Zoho CRM Web form and want to restrict the URLs it is submittable from. I can see that I can add Location URLs but I need to be able to just add a domain so can I enter mydomain.com/* to cover all
    • Receiving too many Spam Leads. Why?

      I am receiving so many junk leads from web forms created by zoho's platform. The junk queries are increasing day by day and are affecting our business. I am continuously following up with zoho team from the past one year but not getting any satisfactory
    • Mail Merge is not working properly as far as the AUTOMATE section is concerned

      Hi there, I created a Mail Merge template for the Deal module. I would like Deal owners to mail merge their Deal records, download the Mail Merge document as a Word doc and make a few changes before sending it to the customer. Thing is, neither the "Merge
    • Canvas Detail View Related List Sorting

      Hello, I am having an issue finding a way to sort a related list within a canvas detail view. I have sorted the related list on the page layout associated with the canvas view, but that does not transfer to the canvas view. What am I missing?
    • project name field issue- n8n

      Hey guys, I have a question. I want to create a new product using the workflow. The problem is with the product name field; I don't know how to fill it in. The workflow starts with retrieving information from the leads table, retrieving links to scrape
    • Critical:- Eneble TDS filing for 26Q from the zoho book

      We currently extract TDS data from Zoho Books and manually input it into a separate TDS software to generate the FUV file and file returns. Previously, while using Tally, we benefited from an integrated feature that seamlessly recorded transactions and
    • How to track repeat customers?

      I own a food business and every order is entered into Zoho with: a unique Customer ID total order amount date of order With this information, I want to be able to see a list of my "best" customers. In other words, descending lists arranged according to:
    • Zoho Books - Breaking A Working App

      We've been using Zoho for many years now. Across all apps, entering phone numbers in standard formats was enabled in all apps. These formats are: xxx.yyy.zzzz xxx-yyy-zzzz (xxx) yyy-zzzz and we were able also to add extension numbers in these formats:
    • Build data protection into your support

      At Zoho, privacy is our principle. Every Zoho product is built with privacy as the foundation and the finishing touch, guiding every decision we make. Security, privacy, and compliance are woven into the software development lifecycle, starting from how
    • Conditional formatting: before/after "today" not available

      When setting conditional formatting, it only allows me to set a specific calendar date when choosing "Before" or "After" conditions. Typing "today" returns the error "Value must be of type date". Is there a workaround? Thanks for any help!
    • Next Page