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

    • Introducing Zia LLM: Zoho’s in-house Generative AI solution for CRM's AI capabilities

      Hello everyone, We're excited to announce the launch of our in-house Large Language Model (LLM) by Zia to power our AI offerings. What is LLM? LLM stands for Large Language Model, a powerful AI technology that processes and generates human-like text based
    • How do I fix this? Unable to send message; Reason:554 5.1.8 Email Outgoing Blocked.

      How do I fix this? Unable to send message; Reason:554 5.1.8 Email Outgoing Blocked.
    • Zoho Desk Validation Rule Using Custom Function

      Hi all, I tried to find the way to validate fields using custom function just like in Zoho CRM but to no avail. Is there a way to do this?
    • What do the Image Sizes mean in Zoho CRM Email Templates?

      Below you can see the image options in email templates: Banner, Fit, Small, Medium, Original, Custom. Can someone from Zoho please share with me: What each is/means? How each will look on desktop AND mobile? How to edit "custom"?  If I choose "Custom"
    • Archive Option in Conversation View

      Hello, I have a suggestion\request to add an "Archive Thread" button in conversation view of Zoho Mail. The best suggestion I have is to put an "Archive Thread" button next to the "Label Entire Thread" button in conversation view. Most users don't just
    • Possible to backdate Stage shifts in Deals module?

      I want to enter my organisation's historical dealflow data into the CRM and it's important that the Stage history is showing the correct dates in the past of when it happened. Is there a way for me to modify the "Modified Time" in the Stage History Related
    • Layout Prompt when creating an oportunity

      Hi There, Is there a way to create a pop-up prompt when I create a new Deal giving me the option of what layout to use based on a certain requirement? So, if the prompt had two options 1. is a new business Deal 2. is a renewal Deal Thanks in advance
    • Conditional layouts - support for multi-select picklists

      Hi, The documentation for conditional layouts says the following: "Layout Rules cannot be used on the following field types: Auto Number Lookup Multi Select Lookup User Lookup Formula File Upload Multi Line" I have a custom module with a multi-pick list
    • Elevating Email Security on Zoho Desk: DKIM Now Mandatory

      Hello Zoho Desk Users! It has been a wonderful journey with you on Zoho Desk. As we welcome 2025, we are strengthening our efforts to ensure a secure and seamless experience for you. To enhance email security, DKIM configuration will be mandatory for
    • How to upload mass inventory quantity adjustment with batch number?

      I wanted to clean-up our inventory list; however, I have trouble performing the task as I don't know how to mass upload inventory adjustment with batch numbers. I don't want to do it manually as there are if not thousands at hundreds of inventory tr
    • Product sale report with margins

      we unable to get the data as per product sale report with margins so we need help in this
    • Amazon.in FBA multiple warehouse integration with Zoho Inventory

      My organisation subscribed to Zoho One looking at the opportunity to integrate Amazon.in with Inventory. But during the configuration, we understood the integration has severe limitations when it involves multiple warehouses in the same Organisation.
    • CLIENT PORTAL (If clients can place orders directly on the portal)

      Zoho client portal is excellent. Everything is there except one thing. Client should be able to place orders directly on the portal. This would enhance the portal and end users will be extremely happy. This suggestion infact came from one of our client.
    • Is there provision to charge the attendees to join the webinar?

      We want to host some webinar of public interest and want to charge them to participate in this. Does this feature in-build in the application? Offcourse, we will be having Razor pay account activated for these purpose.
    • Zoho Vault App for Windows

      Hello, is there a Windows app that can be used to access the passwords saved in Zoho Vault? Thank you
    • Emails take up to 14 hours to arrive and often never arrive at all.

      I've been on hold on your support phone for two hours. I spent an hour waiting to talk to somebody somebody finally picked up. They asked me to give them my ID number and when I found it, they were gone they didn't hang up. They just walked away from
    • Emails take up to 14 hours to arrive and often never arrive at all.

      I've been on hold on your support phone for two hours. I spent an hour waiting to talk to somebody somebody finally picked up. They asked me to give them my ID number and when I found it, they were gone they didn't hang up. They just walked away from
    • Print PO receipt

      Hi I would like to print the PO receipt. There does not seem to be any way to do this. I track batch numbers and printing the PO does not show this. Only the receipt would show the details of the receipt. Currently I print the screen which does not have
    • "We’ve fine-tuned Zoho Inventory..."

      Every day I have this message at the top of my screen. I hit refresh everyday and then the next I see it again. What is being "fine-tuned" on a daily basis?
    • How can the direct link to a ticket be created from ticket #?

      Our agents will be using ZDesk but we will have to create direct link to tickets in another ERP by providing the Desk Ticket # Is there a way to create the direkt links from the ticket # alone? Do we have to use the API to get the direct links?
    • Allow standard layout to be used/edited as a starting point for canvas

      Hello, I would really love to improve the look of our CRM interface using Canvas but we have spent so much time customising the screens already (in standard view) that the thought of starting from scratch and building everything again, field by field,
    • How to link to/displaya png stored in workdrive in a Creator HTML snippet?

      How to link to/display png stored in workdrive in a Creator HTML snippet? I've tried it as a plain external link and as an iframe. The iframe works but is kinda slow...and I'd prefer to be able to do finer-grained positioning but referencing the png as
    • Has anyone built a ticket export that allows Help Center users to export the tickets shown in the My Area list they are looking at?

      Hi, We are moving to Zoho Desk soon. Our current support system displays an option in our help center allowing customers to export their Open, Closed, or all tickets based on which list they are looking at. We need to offer the same in Zoho Desk help
    • Contemplating moving my site from WordPress to Zoho Sites

      Hi Everyone, We currently find ourselves in a situation where we ant to review and update our current sites content. We are small business owners, not developers. We currently use a wide range of Zoho products. We sometimes think about the possibility of either moving or just starting from scratch on Zoho Sites. I would like to know if anyone has done this and of course the things that need to be considered. We have spent quite a bit of time getting our current site positioned organically and I guess
    • Using AVG in SQL Query

      My current SQL Query is: SELECT "Client Info", avg("Revenue") FROM "Funded Deals" GROUP BY "Client Info" The current table that this is creating: Client Info avg(Revenue) Previous 4175 1st - New 3411 1st - Old 3013 Renew 3069 While this works as I had
    • Unified customer portal login

      As I'm a Zoho One subscriber I can provide my customers with portal access to many of the Zoho apps. However, the customer must have a separate login for each app, which may be difficult for them to manage and frustrating as all they understand is that
    • Tracking Implementations

      We create Opportunities (Renamed Deals) with associated Quotes (renamed Products and Services). When we close the deal, we want to be able to track the implementation of each product separately. For instance, the client may have ordered Item A, Item B
    • Is this link the transparent pixel used to track opens?

      Could someone please help me identify this highlighted link? It is automatically created by Zoho and a lot of contacts receiving campaigns will click on this link. I don't believe that it is the "update your preferences link" because on the Link Clicks
    • Zoho desk desktop application

      does zoho desk has a destop applicaion?
    • How can I view Help Center articles in 'Sandbox' mode?

      I have published some help center articles but when I try to preview the knowledge base page, it says 'We have no content to display'.
    • Is this possible with Campaigns?

      My company is currently moving CRM's from Monday to Zoho One. Currently, our marketing lead process is send out 7 sms messages over 14 days if the lead is in a certain status. If we don't get a response the lead is put into a "Closed" status. Do we buy
    • Tracking leads through the sales process

      Our leads are being generated via paid google ads and are arriving to us with UTM data showing lead sources, campaign mediums and campaign names. I want to track the progress of those leads as they migrate through our sales funnel while maintaining a
    • Error 403: Forbidden When Updating Email Signature via API

      Hi Zoho Desk team, First, congratulations again on the excellent Zoho API. But, I’m encountering an issue while attempting to update an email signature via the API. Whenever I make a request to update the signature, the response returns an HTTP 403 Forbidden
    • Opening & working multiple tickets

      We work in multiple tickets at the same time. Currently to do this, we have to open multiple instances of Desk.  Is there a way to do this by just opening multiple ticket tabs within 1 instance of Desk?  
    • Different content per social media account..

      Is there a way to add different content per social media account on one post?
    • Merge tickets

      Hello, I am attempting to merge two tickets; however, the option to merge does not appear to be available. Could you kindly confirm if this feature has been relocated or removed? Additionally, could you please provide guidance on the correct process to
    • Add "Merge by Ticket ID" Option on Ticket Screen

      Dear Zoho Team, We would like to request a new feature for the ticket interface in Zoho Desk. Specifically, we propose adding a button to the ticket screen that allows users to merge the current ticket with another ticket by directly providing the second
    • Using tickets to train Zia

      Hi Team, I would like to know if there is any way that Zia can also learn from previous tickets in addition to the articles from the knowledge base. Since we have most of our knowledge curerently in the tickets and that this is hard to combine into a
    • Unable to delete Junk Lead and Not Qualified from the Lead Status field

      Are Junk Lead and Not Qualified default fields or something that cannot be deleted? I have gone into the Leads module and made sure there are no records using these values. Other values have a minus sign that allows me to remove them, but these two fields do not have that option.
    • Welcome Link Expired

      Hi The links sent to the users didn't get clicked on in time and now all the links have expired. Is there a way to send a new link without deleting them and re-adding them>
    • Next Page