Function #61: Automatically add free item to the invoice based on item quantity

Function #61: Automatically add free item to the invoice based on item quantity



Hello everyone, and welcome back to another Custom Function Friday!

During holiday seasons or special promotions, businesses offer deals like BOGO (Buy One, Get One), Buy 3 Get 1 Free, Buy 2 at 50% off, and much more to attract customers. These promotions encourage buyers to take advantage of limited-time offers, helping them save money while increasing foot traffic for businesses. In today's post, we’ll show you how to automate one such promotional offer – the 'Buy N items and Get X as free' using a custom function in Zoho Books.

Prerequisites: 

1. Create a Connection named "zbooks" to successfully execute the scheduler. You can watch the GIF attached below to know how to create the connection. 



2. Create a Lookup type custom field for Items. This field lets you choose the item to be given for free when a customer purchases a specified quantity of the same item. You can either select the same item as the free item or choose a different one.


3. Create a Check Box type custom field for Invoices. When creating an invoice, tick this field if you want to apply the offer to that particular invoice.




Custom Function:

Navigate to Settings -> Automation -> Workflow Actions -> Custom Functions -> +New Custom Function > Add the function code from this GitHub link -> Save. 



In line 10 of the script, you'll see the node "freeItemQTY". This is where you need to specify the minimum quantity a customer must purchase to qualify for a free item. For example, if the offer is Buy 5, Get 1 Free, then you would enter "5" here.

Workflow Rule:

Go to Settings -> Automation -> Workflow Rules -> +New Workflow Rule and set up the workflow rule as shown below:-





In the final step of this workflow rule, associate the custom function you created and then hit Save.

Here's how it works:

Zylker Stationery has launched several promotional offers to boost sales during the back-to-school season. One of these offers is "Buy 6 Brushes, Get a Palette for Free." To implement this in Zoho Books, the first step is to designate the Palette as the free item associated with the purchase of Brushes in the Lookup custom field. The "freeItemQTY" node in the script should be set to 6.

When creating an invoice, the user must tick the checkbox custom field to apply the promotion, add the items, and save the invoice as a draft. Subsequently, the custom function will get executed,  automatically adding the Palette as a separate line item priced at zero. The updated invoice will then be sent to the selected customers.

If you’ve been running promotions like this and adding the free items manually every time you create an invoice, this function will really help save you time and effort! Give it a try and let us know how it goes. Additionally, we previously shared another function that automatically adds free items based on the invoice amount—be sure to check it out [here]. If you have any other use cases you'd like to automate in Zoho Books, drop an email to support[at]zohobooks[dot]com, and we can explore the possibilities.

Regards,
Shireen Farhana
Zoho Books




        • Recent Topics

        • Build custom AI solutions with Catalyst’s QuickML capabilities in CRM

          Hello everyone, We’re thrilled to announce an improvement for our Zoho CRM Enterprise users: the ability to create custom AI solutions using Catalyst’s QuickML directly from Zoho CRM. As you may already know, Zia, Zoho CRM’s AI-powered assistant, offers
        • 【Zoho CRM】Webフォームに関するアップデート

          ユーザーの皆さま、こんにちは。コミュニティチームの中野です。 「Zoho CRM アップデート情報」の中からフィルター機能に関するアップデートについて紹介します。 今回、「Webフォーム」機能に以下2点のアップデートがありました。 ダブルオプトイン(2段階の同意確認)後の確認メッセージのカスタマイズ 登録から確認まで一貫したユーザーエクスペリエンスを顧客に提供するために、カスタマイズされた確認メッセージを作成できるようになりました。 ダブルオプトイン認証メールのカスタマイズ 顧客に最初から興味を持ってもらえるよう、パーソナライズされたメールを作成できるようになりました。ユーザーのブランドに合った本文を作成し、パーソナライズすることで、様々な顧客に対応することができます。
        • Converting Time and Time Zones

          Hi Everyone I am trying to convert a time Zone to the local time of the user. I am fetching some data from an API, and it is coming back in this format: 2024-12-09T16:49:23Z This is in UTC/GMTZulu time. I am looking to convert it to the user time. In
        • Tip of the week 34 - 5 ways to maintain your email list

          A proper email list often reflects the reach of an institution. This reach is coveted by all but achieved by some. We often forget about drawbacks and incline towards numbers. Success is often reflected by quality and not quantity. This simple message reverberates in maintaining a hygienic email list. Here are five tips which will help you maintain a proper email list.    Organic email lists   Non-stop competition can make us susceptible to shortcuts like buying and renting lists from third party
        • Whatsapp Limitation Questions

          Good day, I would like to find out about the functionality or possibility of all the below points within the Zoho/WhatsApp integration. Will WhatsApp buttons ever be possible in the future? Will WhatsApp Re-directs to different users be possible based
        • Can not send campaign

          Hi, I'm trying to send a newsletter to my subscribers, but seems is not working - or maybe I did some wrong steps re. upgrades. I'm the admin for this account, no other person is using Zoho for my campaigns and I did not access the platform during last
        • Does Zoho campaign de-duplicate based on mobile for SMS campaigns?

          Hi - We recently sent our first SMS campaign using Zoho Campaign integrated into Burst SMS and got feedback that some of our customers received multiple messages. Upon inspection, this was due to multiple contacts in our list containing the same mobile
        • Multilingual Newsletter

          Hi, Can Zoho campaign give the possibility to create and send a campaign in English and French, giving the possibility to the person receiving it to switch from default language chosen for a campaign? thnaks
        • Top Menu Disappeared from Blog Page

          Hi, Our top menu disappeared at Blog Posts page. However, it's still visible any other page on the website. I attached two screenshots, so it can be understood clearly. How can we bring back top menu? Thanks, K.
        • Add Comment/Notes to Each Action in Zoho Flow for Internal Documentation

          It would be great if Zoho Flow could introduce a field to every action where we can make an internal note about why we are doing something with a specific action. This is especially helpful if more than one person from the organization handles automation
        • Questions about To Do

          1. I created a To Do note on Android and there is a line sorting option in the options drop down menu. But I didn’t find such an option in the PC client. I really need this option. 2. Why is there no search in To Do on the PC client? 3. Why is there no
        • Tip of the week 03 - Sending emails in batches

          Today's marketers not only want their email marketing to be efficient, but also smart. For an email campaign, you may think you have all the essential elements for lead conversion—a big mailing list, an attractive template design, and the most-engaging message content, but after hitting the ‘send’ button, you may not get the expected conversions. Wondering why? Here’s one of the major reasons. Many marketers miss out on sending the email campaign the right way. Did you know that you should not be
        • Sites Speed and Performance Grades

          I noticed that there are no recent inquiries or complaints about load speed or performance issues with Zoho Sites websites. However, I wanted to understand what Zoho has done to ensure that speed remains optimized, images are compressed and lazy loaded,
        • Feature Request - Configurable Payment Icons + Pay Now link in email.

          The PAY NOW buttons (icons) on invoices are really small. It would be great if we could make that a big, colored icon. Better would be to add a button to emails as well. 
        • Website Access Blocked (from one pc only) when attempting unattended access to any device

          Hello From one of my laptops I cannot access any remote device using unattended access. A Zoho Assist error page didplays 'Website Access Blocked. See attached.
        • Survey end date extension

          Hi, Is there any way to extend the end date of my survey? I needed more time in finding respondents that is why I need to extend the end date of my survey. Help. Thanks
        • AI read notes or explanation

          It would be such a great feature to have AI voices be able to read our Notes or Explanation If not having the AI speak the notes at run time, how about a feature where inside of Zoho Show you can have it look at all the notes of all the slides and have
        • Managing Prepaid Hours for Consulting

          We are a consulting firm that bills clients a flat upfront annual fee plus an hourly rate and offer a discount for pre-paying a block of hours. Hours that surpass the pre-paid block are billed monthly at the normal rate. If there are any pre-paid hours remaining at the end of the project they are banked for future use. I'm not seeing a method of doing this in Projects/Books/CRM... thoughts?
        • ZOHO Widget SDK not loading in html

          I have this code below, I have imported the widgetsdk however I get the error shown in the image, I have tried many different ways of importing and initiating the function ZOHO but nothing is working. can someone explain what I'm doing wrong, if I am
        • Enhancements to Zoho Corp Help Center "Team Requests" View

          Dear Zoho Team, I hope this message finds you well. The ability to view both my tickets and my team’s tickets in the Zoho Corp Help Center is a fantastic feature, especially as the focal point for Zoho in our organization. However, we’ve encountered a
        • Allow Multiple Scheduled Appointments with Zoho Support

          Dear Zoho Team, I hope you're doing well. First, thank you for introducing the option to schedule support calls via the Zoho CRM booking link. This has been a fantastic enhancement, eliminating the need for back-and-forth coordination when scheduling
        • Projectwise budget ---

          Can we have a Project wise subject in addition to the Monthly, and quarterly ACCOUNT LEVEL budget?
        • WorkDrive API Documentation

          WorkDrive provides users and developers an extensive set of APIs to help integrate functionalities of Zoho WorkDrive with other Zoho applications and third-party tools. We have published the official WorkDrive API Documentation page for all external users.
        • 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
        • Who can see draft replies on tickets?

          We have noticed that we are able to see draft replies made by other agents. Which settings can limit this visibility? It makes sense to me that admins and the agent who created the draft would be able to see the draft, but no one else. How can we make
        • Serious question: Are there actually "solo-preneurs"/small business owners who made Zoho-one work well for them?

          L.S. After already many years of continued struggle with Zoho-One, I am seriously wondering if there are actually solo-preneurs (one person small business owners - without a large, dedicated IT dept.) who got it (Zoho-One) to work well for their businesses.
        • Major iOS issues when accessing forms via the browser

          Hi, We have been using forms for some time, while the office staff are accessing the forms via the app on Android mobiles, we have a fleet of sub contractors that we would not like them having access to the main app as some of the forms are confidential
        • All notes disappeared

          I've been using the notebook app for over five years on my phone without being logged into an account. A few days ago I opened the app and all my notes had disappeared. Since then I tried restarting my phone, updating the app and logging into my account,
        • How to Iterate a Function in Zoho Desk Workflow with Delay Between Calls?

          Hi everyone, I’m working on a function in Zoho Desk that searches for a specific ticket record. If the ticket is not found, I need to retry the search multiple times with a delay between each attempt until the ticket is located or a maximum number of
        • How to Iterate a Function in Zoho Desk Workflow with Delay Between Calls?

          Hi everyone, I’m working on a function in Zoho Desk that searches for a specific ticket record. If the ticket is not found, I need to retry the search multiple times with a delay between each attempt until the ticket is located or a maximum number of
        • Work Orders / Bundle Requests

          Zoho Inventory needs a work order / bundle request system. This record would be analogous to a purchase order in the purchasing workflow or a sales order in the sales cycle. It would be non-journaling, but it would reserve the appropriate inventory of
        • Zoho Books API Limit Is RIDICULOUS!!!!!!!!!!!!!

          The 2,500 API call limit in Zoho Books is about as useful as AOL dialup.  Seriously Zoho, not only can I use up 2,500 API calls in no time with my own app but YOUR OWN STUPID IPAD APP blows through them super fast too, so if any one of my clients wants
        • QR codes in templates

          I'm excited about the new QR code generator. I have included a QR code that contains the record ID setting "${ID}" as input data. In the report detail it works perfectly but when printing it in a template the code is not shown.
        • Button Display Conditions

          Hi Guys, Is it at all possible to have extra button conditions? Context: We have data in our deals module which has a custom button which converts the deal into contacts + set up relationships between them. At the end of the conversion we set a field
        • Knowledge base: The nitty-gritty of SEO tags

          A well-optimized knowledge base with great SEO can benefit your company by allowing customers to find help articles and support resources using search engines. This enables customers to quickly and efficiently find the information they need without direct
        • Social Media Simplified with Zoho Social: Make the best out of the publishing calendar

          Are you a marketer who likes visualizing your plan of action before you start social media posting? Are you part of a team that works on social media on a rotational basis, so the most important task is to collaborate to avoid overlap and confusion? Or
        • Custom function daily limit and procedural programming

          Dearest Zoho Today, support confirmed that if I call a custom function from another custom function then I will use up two, with regards to my daily limit. A few times, we have blown our daily limit and that means that ordinary business processes don't run for the rest of the day. I have to mop these up the following day and there is no guarantee that I will get it right. Therefore, I can't afford to waste any. Procedural programming has been around for over 50 years now and it greatly simplifies
        • 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
        • 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>
        • New enhancements: Changing portal users' email addresses and new customization options for templates

          Dear All, Portals have enabled organizations to extend access to various CRM modules to their customers, vendors, partners, and end users, per their business requirements. When a portal is created, an invitation email is sent to portal users with a link
        • Next Page