For Zoho services only


I'm currently part of a wider delivery team at Ascent Business Solutions, recognised as a leading Zoho Premium Solutions Partner in the United Kingdom.

Ascent Business Solutions support organisations with everything from targeted technical fixes through to full Zoho CRM implementations and long-term platform adoption. Working as a team rather than a one-person consultancy allows projects to move forward consistently, with access to the right skills at each stage.

The team I manage specialises in API integrations between Zoho and third-party finance and commerce platforms such as Xero, Shopify, WooCommerce, and eBay. Much of our work involves solving integration challenges that fall outside standard documentation, supporting new ideas, new sectors, and evolving business models.

Success is measured through practical outcomes and return on investment, ranging from scaling small operations into high-turnover businesses to delivering rapid gains through online payments, automation, and streamlined digital workflows.

If you are looking for structured Zoho expertise backed by an established consultancy, you can contact Ascent Business Solutions on 0121 392 8140 (UK), email info@ascentbusiness.co.uk, or visit https://www.ascentbusiness.co.uk.

Zoho Deluge

Zoho Deluge: Proper Case for Names

What?
This is an open article without any completion in mind; to set the proper case of a name, as in capitalize the first letter, lower case the rest but then with exceptions.

Why?
Some of the Zoho Apps are incredibly case-sensitive and consider some records containing people's names as duplicates, when actually they are the same entity but may have uppercased a letter in their name while the other entry does not...

This article is a start and adaptation of my previous article Convert to Proper Case in T-SQL which I had previously used for the migration of a HR system. This is intended to work using Zoho Deluge.

How?
There are a number of combinations that I won't have thought of but the below code sufficed for my current task, common English and some European names:

Zoho Deluge: Get the Week Number if Week starts on a Monday

What?
A quick article on determining the week number of the year if your week starts on a Monday and not a Sunday.

Why?
I think it's the US system which generally says that a week starts on a Sunday but in the United Kingdom, the week generally starts on a Monday. So let's say there's a schedule that has to be run weekly and include all the orders of a specific week...

Just to confuse everyone in the world, the day index for a Sunday is 7 (ie. myDate.toString("u") returns 7) and the week commences on a Sunday (ie. myDate.toStartOfWeek("EEEE") returns Sunday). In other words, the day counting starts at 7, followed by 1 for Monday, 2 for Tuesday, and so on...

How?
The logic behind this would be to take the date of the order, check if the order date is a Sunday, subtract a day, and return the week number:

Zoho Deluge: Determine if Daylight Savings are in effect

What?
If you're lucky enough to build an application for a client based in a country that changes its clocks twice a year, then I'm opening this article without a 100% certain solution as I need to wait about 4 months until I can confirm this works.

Why?
I've covered this before in a fair few articles on this website but for clients in the US, where there could be 4 different timezones between customer, agent, HQ, server; we would create a separate table to manage this data. I can't do this for every client, so here's a quick snippet to just check if Daylight Savings are in effect for the United Kingdom.

How?
Based on the fact that the United Kingdom is on the Prime Meridian and when no daylight savings are in effect, the hour difference to UTC (Coordinated Universal Time) should be zero, then for checking if daylight savings is in effect in the UK, we should be able to take Greenwich Mean Time and compare to UTC.
Zoho Deluge: Get All Orders from eBay

What?
Following on from my article: ZohoCRM: Get All eBay Active Listings, this is how to get all the orders from a client's eBay.

Why?
Our use-case is a data migration from eBay to a fresh instance of Zoho Inventory. In this task, we are simply getting a CSV with all the order IDs for a particular year output as a spreadsheet.

How?
Similar to how we retrieved the eBay active listings (see article link above), we're going to use the GetOrders call for order (sales) management.

ZohoDeluge: Check Shipment Status via DHL API

What?
A quick note here on how to connect to the DHL API and check on a package given a tracking number.

Why?
In our megafunction to generate a customer, a product/item, a sales order, an invoice, a package slip/delivery note, a shipment order; as well as record any payments, inventory adjustments, status changes; all from an eBay Order coming into the system via a webhook... I would like to mark a shipment as delivered only if the courier, in this case DHL, confirms the tracked order was delivered.

How?
So first I'll give some brief instructions on how to get an API key from DHL as a developer and then I'll include the code to query the shipment status based on a tracking number.

ZohoDeluge: Inserting a new line character in a CSV

What?
A super quick article on something that almost deserves its own article: using new lines in ZohoDeluge.

Why?
My use-case here is that I was generating a comma separated values (CSV) file given some lists and strings and although the same code worked great on one Zoho CRM, another client's ZohoCRM was not accepting "\n" as a new line character and instead would render/display it as "\n"...

What I have
Me,Myself,I\na,b,c
What I want
Me,Myself,I
a,b,c

How?
So in this article I just want to list some various methods of inserting a new line character.
ZohoDeluge: Get All eBay Orders Given a From and Till Date

What?
An article on how I can query all the orders for yesterday without using the eBay GUI Selling website.  I've included the code to parse out the information as well.

Why?
Because I need this function too often either for debugging/monitoring purposes but it's easier to use an access token then getting the OAuth access codes from the client.

How?
I'm going to split this into 2 code snippets that were in practice added to the same function and that worked at time of print.  Note that this uses the old Trading API as the new API is only available in Sandbox???  I won't go into how to generate an Access Token to your client's eBay store as that's covered in my article: Zoho Creator: Push to eBay Listings.
Zoho Deluge: Shopify API: Get all active products with GraphQL and Pagination

What?
An article to resolve my frustration in being able to ONLY retrieve the first 100 products using GraphQL, so page 1 of Shopify products.

Why?
Our use-case is that we retrieve the 100 most recently modified products at the end of each day and run some Deluge code against it to ensure that the data in Shopify is the same as in Zoho. In this case, Shopify is considered the source of truth and Zoho is the data to be overwritten, ensuring that Product IDs, Variant IDs, Inventory IDs, Current Selling Price, Inventory Level, and Barcode all match.

Our problem is that sometimes more than 100 products are modified in a day... We need to be able to do more than 100 or at least resume from a record... We need pagination.

How?
To resolve this, I'm building on top of my initial GraphQL query which will now retrieve 10 products per page and loop through 3 pages for use in Zoho Deluge. If this works, we can increase the number of pages as well as the number of products per page:

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