Customer Relationship Management Systems

Zoho CRM & Zoho Books: Get Books Currency and Tax IDs

What?
A quick note for when I want to quickly generate maps of a currency or a tax from a client's Zoho Books.

Why?
The use-case here is that we are creating a Sales Order in Zoho Books from Zoho CRM and want to map the correct currency and tax by their ID numbers.

How?
Using the REST API and InvokeURL in Zoho Deluge to look at Zoho Books. This uses up an extra 2 calls so you could run them once, store them as a map on your function if you don't want to use up these 2 every time your sales team push a CRM Sales Order to Zoho Books.
ZohoCreator: Using .toFile and Uploading to a Creator field

What?
This is a quick article on generating a file with the Zoho Deluge function .toFile() and uploading it to a file upload field within Zoho Creator.

Why?
The use-case here is that we want a file to be hosted within Zoho Creator for use by a JS widget that will download the CSV (in this case a Text *.txt) file for use by a dynamic auto-suggester dropdown; one of those fancy ones that includes photos and a bit of fuzzy logic.
ZohoCRM / Client Script / Canvas: Hide Tab based on Pipeline

What?
A quick article with snippets of code to hide and show certain tabs on a deal record based on the pipeline.

Why?
A request from a customer asked if a tab specific to the pipeline selected can be shown while others hidden. Standard tabs such as Notes, Attachments, Emails, and Timeline should remain.

Code will be needed as a layout rule couldn't control the tabs on a canvas view page. An additional function is needed as the pipeline was not displayed on the canvas view of the deal record but it was on the edit page.

How?
First we're going to add some element IDs to the canvas view page on each of the tabs. Then we'll make an OAuth function that can be executed by the client script which returns the value of the Pipeline given a deal record ID. Finally, we'll have client script execute this function, then show/hide tabs based on the value.
Zoho Creator: Embed Forms/Reports on a Page

What?
Well known by most but this serves as a quick reminder to myself and anyone else on how to embed a form or a report into a Zoho Creator page.

Why?
Cos

How?
The below is a template snippet for a Zoho Creator page. We set the parameters of the form/report. Then this shows how to embed using a DIV layer which allows for CSS styling. The last part shows how to embed using an IFRAME tag which isn't great for CSS styling as you can't do cross-dom acoss child iframes; but it does let you use OpenURL(v_Url, "iframe", "iframe_name") which is good if you have multiple iframes on a page and you only want part of the page to display different content dynamically or on click of a button:
ZohoCRM Client Script: On Change of Dropdown: Subform Rewrite: REST Function

What?
An article on a client script used in CRM which is a working example of rewriting a subform (line items of an invoice) and calls a REST API fuction to return the custom fields of the line items. Pretty much a function which took me a day to write.

Why?
As mentioned, it took me a while to write and I would like to use it as a reference for when I forget how to do this.

The use-case here is that we have a dropdown/picklist on a CRM invoice record that has the options of "Deposit" and "Final Balance". This rewrites the invoice line items to represent a deposit or a final balance invoice with the deposit deducted. Because these line items have custom fields, we need to copy over all the custom values to the new line items.

How?
This is about an hour's work doing it on a CRM workflow (save of record) but here we're going to do it in client script:

ZohoCRM to ZohoBooks API: Truncate number to 2 decimal points without Rounding

What?
A frustrated article about an issue that took me a fair few hours to resolve. So I'm putting it here as I thought I covered this previously but couldn't find it on my website. This was previously titled something along the lines of truncating to 2 decimals but finance is so much more complicated.

Why?
Playing around with VAT / Tax, inclusive /exclusive, but in this case it is the rate that gets rounded. The numbers at the end still need to match what's in CRM and with ZohoBooks rounding differently can make cent/penny errors into 100s of dollar/pound errors.

Zoho CRM has a fun way of rounding which differs to Zoho Books so when pushing an invoice, there's a strong chance of being a cent/penny off. Let's take the following example of an item with a list price of 12345.545:

ZohoCRM Line Item
ZohoCRM to ZohoBooks API: Truncate number to 2 decimal points without Rounding - Zoho CRM Line Item

ZohoBooks Line Item
ZohoCRM to ZohoBooks API: Truncate number to 2 decimal points without Rounding - Zoho Books Line Item

How?
ZohoDeluge: eBay marketplace account deletion/closure notifications

What?
eBay allows users to request the deletion of their personal data from eBay's own systems, as well as from the systems of all partners who store or display that data, including third-party developers integrated with eBay APIs through the eBay Developers Program.

To help third-party developers comply with these requests, eBay has implemented a push notification system. This system alerts all eBay Developers Program applications when a user has requested the deletion of their personal data and closure of their eBay account. This article explains the process third-party developers must follow to subscribe to, receive, respond to, and validate these notifications.

Why?
As quoted from the page: https://developer.ebay.com/marketplace-account-deletion

"Existing Developers: The August 31, 2021 deadline for existing developers to subscribe to or opt out of eBay marketplace account deletion/closure notifications has passed. Failure to comply with this requirement will result in termination of your access to the Developer Tools, and/or reduced access to all or some APIs.

New Developers: All new third-party developers coming to the platform must subscribe to or opt out of eBay marketplace account deletion/closure notifications before they make their first API call. Once the new developer's application is subscribed to eBay marketplace account deletion/closure notifications or they have successfully opted out of the notifications, the keyset/App ID is activated, and they can begin making API calls.
"

How?
Let's cover the first preamble points here:
  1. While completing the form, the developer subscribes to eBay marketplace account deletion/closure notifications by saving an endpoint URL and verification token, eBay sends a unique challenge code via a GET request (e.g., GET https://?challenge_code=123). The provided endpoint URL must use the 'https' protocol and cannot include internal IP addresses or 'localhost'.
  2. Upon receiving the unique challenge code, the endpoint must hash the challengeCode, verificationToken, and endpoint URL (in that exact order), and respond to eBay with an HTTP 200 OK status, including the hashed result in JSON format within the challengeResponse field. The response's Content-Type header must be set to application/json.

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

Accreditation

Badge - Zoho Creator Certified Developer Associate
Badge - Zoho Deluge Certified Developer
Badge - Certified Zoho CRM Developer

Donate & Support

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

Paypal:
Donate to Joel Lipman via PayPal

Bitcoin:
Donate to Joel Lipman with Bitcoin bc1qf6elrdxc968h0k673l2djc9wrpazhqtxw8qqp4

Ethereum:
Donate to Joel Lipman with Ethereum 0xb038962F3809b425D661EF5D22294Cf45E02FebF

Joes Word Cloud

Please publish modules in offcanvas position.