Zoho Books: Error 7008: There are no contact persons associated with this Invoice
- Category: Zoho
- Hits: 9749
A quick article on how to get around this error.
Why?
The use-case here is that I am using the send invoice API and I kept getting this error despite including the customer_id and there was a primary contact on the customer record.
This is from within ZohoCreator, requesting for an invoice in ZohoBooks to be sent.
How?
So the key here is that there were no contact persons on the customer record. Instead, when building the invoice, this had to be added (don't ever remember having to do this) as contact_ids (array/list). Instead the below script will show you how to use this API having a few email addresses as the recipients:
Zoho CRM: Client Script Confirmation Box and Popup Mailer
- Category: Zoho
- Hits: 14492
This is an article just repeating a script from the Zoho Kaizen series allowing a confirmation box (something lacking in Zoho Creator - but that every app outside of Zoho has) as well as a popup to email from CRM with a rich-text interface.
Why?
The use-case here is non-existent. It's more of a play around to see what can be achieved and how much this can be customized. The task I've set for myself is as follows:
- Trigger if the contact record has a tickbox called "Extra Confidential" ticked/checked=true
- Popup a confirmation box to proceed or cancel.
- Popup the email from CRM mailer with the to email address, bcc, subject and message content already populated.
How?
The example from the Kaizen series uses a record with canvas mode applied; but I wanted to try it without a canvas to see if we can have this functionality using the out-of-the-box ZohoCRM.
Zoho Creator: Get Images in Report to be Exported to PDF
- Category: Zoho
- Hits: 11322
This is an article to document how to produce a report which when exported to PDF will display images without a user wall.
Why?
Our client needs to send a report to suppliers that include photos of the faulty products. These display fine in a Zoho Creator report and even show up on the preview when exporting to PDF. But when you download the PDF and view this outside of the Zoho instances, the photos don't display.
This is because the photos were just links in the Zoho Creator image field, links to another Zoho app that is behind a user wall (ie. login and password as a Zoho User).
How?
So I'll go over what happens in the real world process; then cover some technical information; and even include the function that makes it work:
ZCRM Client Script: Correct Decimal Fields OnLoad
- Category: Zoho
- Hits: 14313
This is an article detailing the client script to fix any fields which exceed their decimal places limit in ZohoCRM.
Why?
So we have a customer that has some decimal fields on the products module that are calculated and will sometimes return numbers with more than 6 decimal places. As this is more than specified on the ZohoCRM field properties, as soon as the staff user tries to save the record, they will get a validation error on the decimal field even if that's not the field that is being changed:
Decimal places for the Unit Price field should be less than or equal to 6.

How?
The workaround for staff is to round this up manually and then save the record. But this can be an annoying overhead, especially if it can be auto-corrected with a client script.
ZohoDesk & ZohoAnalytics: Display Ticket Attachments in Analytics Report
- Category: Zoho
- Hits: 14555
A quick article with the code to download image attachments from a Zoho Ticket and then to upload the attachment to Zoho Analytics.
Why?
First of all, we couldn't find how to sync attachments from ZohoDesk to ZohoAnalytics using the integration. Other tables will sync but we couldn't find attachments, so our solution here is to create a data table and then to push the attachment from ZohoDesk to ZohoAnalytics using the API.
The use-case here is that a client wants customers to submit ZohoDesk tickets and upload photos of the problematic product to the ticket. They then want an Analytics report to show these photos.
How?
The following is simply the steps to create a data table in ZohoAnalytics, then the code to list a ticket's attachments and push them to the ZohoAnalytics data table.
ZohoCRM & ZohoWriter: Generate Rich-Text / HTML Email Signatures in CRM
- Category: Zoho
- Hits: 15099
This is an article to show you how to, using Deluge code, generate all the email signatures in the user profile in ZohoCRM.
Why?
To simplify the on-boarding process. A client of ours has a rather rich HTML email signature with a profile photo included. When sending an email from CRM, they want CRM to include this rich signature (different per user) at the bottom of the email message.
How?
So there are a few issues with displaying images which would have other solutions, such as hosting the images on a web-server, or converting to a base64 or an SVG. ZohoCRM signatures seem to be unable to handle a lot of code or long URLs such as a base64 source URL for an image.
ZohoCRM: Using Criteria with Module Record Count
- Category: Zoho
- Hits: 13214
An example of code using the new API call "Module Record Count" with some criteria.
Why?
At time of print, I couldn't find an example of how to use this API call with search filters or criteria. Not sure about the rest of you, but I've been using this for pagination purposes and for the system to work out how many pages or loops in total it would need to do.
How?
Here's a couple of working examples I use in production systems:
Zoho Books: System Values Maps
- Category: Zoho
- Hits: 8673
A collection of code snippets I seem to be regularly using to generate a dynamic map of system values held in a ZohoBooks instance.
Why?
Rather than hard-coding and having a ton of if..then statements, I can feed these maps a textual value and it returns the ID to use. Some of these can be found elsewhere in my site but I'm putting all of them here just for quick reference.
How?
Note that for the below, I recently updated this article (2024-05-21) due to the API domain name change from https://books.zoho.com to https://www.zohoapis.com/books and changed the Top Level Domain (or Zoho DataCenter) from EU to COM as I was using this for a client on the US datacenter.
Page 5 of 73
Credit where Credit is Due:
Feel free to copy, redistribute and share this information. All that we ask is that you attribute credit and possibly even a link back to this website as it really helps in our search engine rankings.
Disclaimer: Please note that the information provided on this website is intended for informational purposes only and does not represent a warranty. The opinions expressed are those of the author only. We recommend testing any solutions in a development environment before implementing them in production. The articles are based on our good faith efforts and were current at the time of writing, reflecting our practical experience in a commercial setting.
Thank you for visiting and, as always, we hope this website was of some use to you!
Kind Regards,
Joel Lipman
www.joellipman.com
Latest Articles
Accreditation



Donate & Support
If you like my content, and would like to support this sharing site, feel free to donate using a method below:

bc1qf6elrdxc968h0k673l2djc9wrpazhqtxw8qqp4
0xb038962F3809b425D661EF5D22294Cf45E02FebF
Paypal:

Bitcoin:

Ethereum:
