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

      • Zoho CRM Email Templates 100% Width No Background How?

        Hi, On the Zoho CRM Email Templates in setup > customization > templates > new templates > I choose blank template, but still it puts in a gray background and a max width for the email. I just want to make an email that looks like an email I would send from gmail that has no background or max width. How do you do this? 
      • 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
      • Run a workflow after record merge

        Hello, We are wondering if there is a way to trigger a workflow after two records are merged? We have a sms service that use to text back and forth with Prospects and Contacts. To make it easy for our users, we automatically create them in this other
      • 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
      • How to install Widget in inventory module

        Hi, I am trying to install a app into Sales Order Module related list, however there is no button allow me to do that. May I ask how to install widget to inventory module related list?
      • 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
      • 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
      • 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?
      • CRM x WorkDrive: We're rolling out the WorkDrive-powered file storage experience for existing users

        Release plan: Gradual rollout to customers without file storage add-ons, in this order: 1. Standalone CRM 2. CRM Plus and Zoho One DCs: All | Editions: All Available now for: - Standalone CRM accounts in Free and Standard editions without file storage
      • 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
      • Zoho Books Sandbox environment

        Hello. Is there a free sandbox environment for the developers using Zoho Books API? I am working on the Zoho Books add-on and currently not ready to buy a premium service - maybe later when my add-on will start to bring money. Right now I just need a
      • 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
      • Removing "Products" as mandatory field from Sales Order creation page

        Hello, friends According to our workflow, we should: 1) create Sales Order (Stage "New") 2) call and discuss the Products with a customer (Stage "Communication") 3) add the Products to the Sales Order during the call However, "Products" is mandatory to
      • 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