Function 58: Custom calculation in item table of invoices (2 fields)

Function 58: Custom calculation in item table of invoices (2 fields)



Hello everyone, and welcome back to our series!

In Zoho Books, the Item Amount in invoices is calculated by multiplying the Quantity and Rate fields. Previously, we shared a function to include a custom field in this calculation.  Today, we are taking it a step further to make it even more versatile for various business needs. Instead of just one custom field, you can include two custom fields to determine the Item Amount.

Item Amount = Custom Field 1 × Custom Field 2 × Rate × Quantity

Consider Mr. John Hector, who runs a steel production plant. He processes orders for steel sheets according to their dimensions. For accurate billing, he can utilize today's function. When creating the invoice, John can enter the length and width of each steel sheet into the custom fields and specify the number of sheets ordered, and the rate per square foot in the default fields. The function will automatically calculate the Item Amount using this formula:

Item Amount = Length × Width × Quantity × Rate



Prerequisites: 

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



2. Create the third (Length) and fourth (Width) variables as item-level custom fields (Decimal type) to be displayed in the sales transactions.



3. Similarly, create another custom field called " Unit Rate" to be displayed in the item table. The purpose of this custom field is to store the original sales rate of the line item. 



Custom Function:

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

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 the function will work:

The custom function will be executed once the invoice is saved. Initially, it copies the original sales rate to the Unit Rate (Custom) field. Then, it multiplies Length × Width × Unit Rate and populates the result in the Rate (Default) field. Following this, Zoho Books calculates Rate (Default field) × Quantity and fills the result in the Amount field.

Note: If you wish to hide the "Rate" - default field at the template level, go to Settings > Customisation > PDF Templates > Invoices > Edit > Table > Disable the checkbox for Rate field > Save. Now, the Custom Field 1 (Length), Custom Field 2 (Width), Unit Rate (Custom Field), Quantity and the Amount field will be displayed on the invoices.



If you have to incorporate two extra values into your Item Amount calculation, this function is perfect for you. For further customization or assistance, please reach out to our Support team at support[at]zohobooks[dot]com. We're here to help!

Regards,
Shireen Farhana
Zoho Cares

    Nederlandse Hulpbronnen


      • Recent Topics

      • "The data you have entered already exists" when trying to create contac@mydomain.com

        Hi all, Our domain is ananasjuicebar.com. Working as admin in the control panel: When I try to add the email account "contact@ananasjuicebar.com" I get the error: "The data you have entered already exists" I've tried creating a new user or creating a new group with this address associated. To my knowledge this address has never been added and I can also not find any reference to it. (Shopify used this address to send customer notifications BEFORE setting up Zohomail.) Any ideas? are there any restrictions
      • Incoming Emails Are Delayed by 20 Minutes

        Emails are showing up in my Zoho email 20 minutes after they were received. Is Zoho having problems with their servers at the moment? This started happening about 3 weeks ago.
      • Sharing shreadsheets

        My wife and I each have zoho accounts. If She creates a spreadsheet and shares it with me using my email that is associated with my account, zoho shows a warning that I do not have a zoho account and the only way I can access this file is via the link
      • Filter Vendors/Suppliers from Campaigns

        We are unable to filter out our vendors/suppliers from any mass campaigns we send out. When synching our CRM contacts within Campaigns, we are unable to map the "Vendor Name" field. We have tried to create a segment from our all contacts list but to no
      • Field Validation and Profile restrictions bypassed using Mass Actions

        We have a Validation Rule that prevents ticket closure if the "Subcategory" field is blank. This has been working fine, but recently we noticed a few tickets per day somehow being closed without a "Subcategory". Upon further investigation we found the
      • Any Companies using HubSpot for Marketing integrated to Zoho CRM ? - Looking for Feedback

        Our company is using HubSpot for Marketing looking at moving from our presently working Z-CRM to hubspot for CRM. I am looking for any companies that are successfully integrating HubSpot Marketing functions with Zoho CRM. Upsides/Downsides/Effort/etc.
      • Customize Thank You message for native forms

        While it allows me to add a personalized message when completing a form, it would be nice to be able to customize the title (Thank You) and the button text (Close). In my case, the page is in Spanish, and those texts are in English, so I can't edit them.
      • Customize forms validation for native forms

        I'd like to be able to edit and/or translate the validation messages of a native form. My page is in Spanish, but the messages appear in English, and I couldn't find a place to edit what I want to display. Perhaps they can be edited when adding fields
      • Add picklist in subform lookup

        Hello, I am trying to rewrite a script that works on a from as parent form, to the same form when is is a subform. Here is what I did in the form itself : RefCat = Offre_de_produits.distinct(Categorie_OFFRE); clear Categorie_LIGNE; for each Record in
      • Ticket layout based on field or contact

        Hi! I want to support the following use-case: we are delivering custom IT solutions to different accounts we have, thus our ticket layouts, fields and languages (priority, status field values should be Hungarian) will be different. How should I setup
      • Looking for basic script structure course

        Hi, I am not a programmer, but try to learn on my own. I get a lot of good advises in this forum, and thanks, but I tend to ask the same questions since I do not remember comparable answers I already received. Is there a basic course of "scripting structure"
      • How to let only account-bound products visible to users

        Hello friends, I'm trying to leave only the Products linked to the accounts visible to Zoho Portal users. If the user clicks "All Products," they can open tickets incorrectly for products that do not belong to the account that are registered. Is it possible
      • RTL Support on iPad

        hi I have this issue that when I create notes on my android app [in hebrew] all the text is aligned correctly to the right because I’m typing in Hebrew. But then when I open it up on my iPad, everything is suddenly aligned to the left and there is no
      • No sync

        I have amended a note on my PC, startet syncing but on the smart phne sync starts und runs for minutes. The note amendment ist not shown, but when I go to version the new version is shown but not possibility to accepte the new version
      • Dark mode

        Because the whole world talks about it and iOS also will get this option. Please make a real dark mode happen. It is very cool to switch the navigational color, but the content always stays in light colors.
      • Compliant SQL?

        I am a Microsoft Access developer. At the moment I am downloading tables from Zoho into an Access database to create join queries that I am unable to do in Zoho. I am doing this because Zoho doesn't seem to fully support all SQL statements that Access
      • Assign existing general timelog to a task

        Hello, is there a way to assign a General timesheet log to a task? I.e. I have the following General log: General | Log name | 01:30 I'd like to assign it to a task: Task name | Log name | 01:30 Thank you
      • "Error while processing" when I try to send an e-mail

        Several times today when I have tried to send an e-mail it tells me that there is an "error while processing." What's that about?
      • E-Mail auto-complete for deleted contacts

        I am having contacts pop-up in auto-complete when I start to type a letter in the TO address line. These e-mail address have been deleted from my contacts. I also have deleted all e-mails from/to these e-mail address but still there address is showing
      • How to validate Rich Text in Zoho Creator! Urgent!

        Hi members, Recently I just started to use Rich Text field. Now I have a requirement where I need to validate to ensure this Rich Text field must contain a value. Meaning must contain something. I use the below script if(input.Rich_Text == null) { alert
      • Public send to group address?

        Am I doing something completely wrong or is it not possible for the public to send to a group email address? For example support@domain.com? I'm able to send from support@domain, but am not receiving emails to that address? Thanks for any help!
      • What to Add in the Redirect URIs for Zoho Books Integration with Make.com

        I'm currently setting up an integration between Zoho Books and Make to automate my accounting processes. However, I'm stuck on the Authorized Redirect URIs part and could use some help. As part of the OAuth authentication process, I need to configure
      • Allowing workflows to execute as an admin

        Workflows currently seem to execute with the permissions of the logged in user. This is a problem for most of the forms we have where we have hidden fields that perform business logic. If we restrict the permissions of these fields so users can't view
      • Announcing Trident desktop app for Zoho Mail & Zoho Workplace users

        Hello Community, I hope you are doing well and staying safe. As you know, our Mail & workplace teams have been constantly working on adding more value to our offerings to ensure you and your organization continue enjoying your Zoho experience. As part
      • Announcing new features in Trident for Windows (v.1.25.8.0)

        Hello Community, Trident for Windows is here with exciting new features to elevate your email communication and enhance productivity. Let’s dive into what’s new! Accessing delegated mailboxes. Mailboxes delegated from the Zoho Mail web app can now be
      • Images in Zoho chat

        When I add an image to my chat, it just doesn't work, for the other participants it shows a blank image, like it's missing.
      • Custom Function to Format Phone / Mobile numbers in Australian Standard format

        So I got sick of phone numbers being formatted incorrectly and Zoho not doing anything to standardise phone numbers to meet E.164 formats. So I went and coded my own function to fix this. And figured I'd share with the community This is specifically for
      • Download pricebook products & details - not just pricebook creation date & name

        We're looking to download a copy of a pricebook and its associated products & book prices (as we have several offices in different countries selling the same products), however, when using the export feature under Data administration it only gives me
      • Output product SKU in ecommerce

        Hi how do I display the product SKU on the page can I place the SKU variable on the layout to output the SKU value.
      • Support for Digital Goods/Products and password protection

        Hi! Some companies sell product licenses or digital products directly, these licenses are unique for each sale that later allow you to download a ZIP file with a passwod-key that can uses the same license code (for example, a market report) or, failing that, is used in the product such as an authentication in the software or a request. It would also be interesting those who sell in subscription mode and can be integrated with Zoho Subscription. Thank you
      • Share forms with your team to collaborate better

        Collaborating and communicating as a team gets things done faster and increases productivity. That's why we're excited to announce our form collaboration feature, where you can share your forms privately with select users and co-edit them together.  What's
      • Streamlining customer inquiries with Email-In approvals

        Greetings! Email-In has transformed the way Bigin users manage customer inquiries by seamlessly converting emails into pipeline records. By creating email aliases for your Bigin pipelines, any email sent to these aliases is automatically turned into a
      • Zoho People API - all active employees' emails

        Hello, how can i get all active employees' emails in Zoho People using api?
      • Notice: Revise OpenAI model permissions to continue Using Zia Writing Assistant

        Dear Users, We’re upgrading the Zia Writing Assistant to use the GPT-4o-mini model for improved performance and accuracy. To continue using the Writing Assistant, please revise your OpenAI model settings by May 27, 2025. After this date, older models
      • Managing manual users

        Why are there two seemingly-identical lines in the manual user management? How can someone in the space be both Disabled and Admin? What is the difference between the two groups?
      • We need customizable sub-form layouts

        Currently, we can arrange sub-form fields only in a single row. The single row layout means salespeople must horizontally scroll to uncover information. As a result, salespeople cannot see all of the relevant information simultaneously.  The administrator
      • How can i connect the zoho people to n8n.io

        Hello, I hope you are doing well Iam working on an automation in which I will be fetching the data from Zoho People of my employees to arrange, modify, and upload on Google Sheets to maintain their attendance data. I tried through the Zoho Developer Console
      • Staff Tracking in

        Hi , I would like to see what activity my staff does over Zoho CRM and over Zoho Mail . I need to know which deals in CRM haven't been touched or had an activity on by a particular staff member . Basically need to establish what work.gets done by WFH
      • How do you make sure the same person doesn't answer the survey twice?

        Preventing multiple responses to a survey is really important because letting people answer more than once can seriously ruin the data. It skews results, making it seem like certain opinions are more popular than they are. This can lead to misleading
      • Support is dismal!

        Decided to use Zoho Books and Inventory for our company; went from Trial versions to paid subscriptions last week. Am having issues integrating these products, and my experience with Zoho Support for both products has been abysmal. 3 chats with Inventory
      • Next Page