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

      • Custom module history is useless

        Hi I am evaluating ZOHO DESK as my support platform. As such I created a few custom modules for devices assigned to employees. I want to be able to see the whole picture when a device was reassigned to someone, but the history shows nothing Is there any
      • Email rejected per DMARC policy

        Hi, We've got the return message from zoho like 'host mx.zoho.com[204.141.33.44] said: 550 5.7.1 Email rejected per DMARC policy for circlecloudco.com in reply to end of DATA command' We're sure our source IP address matches the SPF the sender domain
      • EMail Migration to Google Apps is Too Slow

        We are moving to Google Apps and the email migration is really slow. Anyway you guys check if this is a server issue?
      • How to import subform data - SOLUTION

        To all trying to import subform data, I might have a solution for you. First of all, for this solution to work, the subform data needs to be an independent form (not ad hoc created on the main form). Furthermore, this approach uses Excel sheets - it might not work using CSV/TSV. If this is true, then follow these steps: Import the subform records Then export these records once more including their ID Now prepare an import file for the main form that needs to contain the subform records Within this
      • Help center custom tab - link color

        I’m trying to add a custom tab to the main navigation in the Zoho Desk Help Center, for example to link to an external resource like a website. The problem is that any custom tab I add always shows up as a blue link – it doesn’t match the style of the
      • Organization API: code 403 "Crm_Implied_Api_Access" error for "https://www.zohoapis.com/crm/v2/org"

        Hello. I've developed an add-on that allows clients to synchronize data from Zoho CRM with the Google Spreadsheet. I am using the OAUTH2 protocol, so clients will have to authenticate into their Zoho account, and Zoho will send back to the app an access token which will be used to get data. Currently, there are about 100 clients, and everything works smoothly. Today I've found that a guy who could become a new client was not able to to get his organization data, because the application receiving
      • Pick list - Cannot save list "Special Characters not Allowed" error message

        Bulk uploading values. All values are pretty standard - with the exception of a "-" (dash). Like:  Industry - Prepared Food Is the simple dash a special character too? Jan
      • Zoho Projects API Error - API v3; Always HTTP 400

        Below I have uploaded my .py file I'm using: Always returns with response 400 :(( Console Logs: (venv) PS C:\Users\sreep\venv> python .\TimesheetBuddy.py Token file not found. * Serving Flask app 'TimesheetBuddy' * Debug mode: off WARNING: This is a development
      • Inquiry: Integrating In-house Chatbot with Zoho Desk for Live Agent Support

        Hi Team, We are exploring the possibility of integrating our existing in-house chatbot with Zoho Desk to provide seamless escalation to live agents. Our requirement is as follows: within our chatbot interface, we want to offer users a "Talk to Agent"
      • Zoho Mail will not set up in Thunderbird

        I am using Thunderbird 13.0.1 in Linux Mint 13 64-bit.  I cannot set up my Zoho IMAP email in this client.  This is evidently a common problem as evidenced by these postings in the Thunderbird forum: thunderbird can't seem to "find the settings" I cannot configure it for my zoho.com email account I can not get ZOHO to configure. Any suggestions? The best T-bird seems to be able to do is to refer these users to the Zoho forum. I believe the instructions in the Zoho help wiki are correct, although
      • Introducing an option to set comments to public by default

        Hello all, Greetings! We are pleased to announce that Desk's user preferences now brings an option to set a comment type as Public or Private by default. In addition to setting reply buttons as defaults, Agents or Admins can now choose to make their ticket
      • Increase size of description editor when creating new ticket

        Please can you consider making the description editor in the create new ticket form a resizeable area as by default, it is very small and there appears to be no way to increase the size of it.
      • Flutter Plugin Compatibility Issue: Unresolved Reference to FlutterPluginRegistry in zohodesk_portal_apikit

        I am integrating the zohodesk_portal_apikit Flutter plugin (version 2.2.1) into my Flutter project, but I am encountering a build error related to an unresolved reference to FlutterPluginRegistry in the file ZDPBaseActivityAwarePlugin.kt. Below is the
      • I need my MFA number. I am trying to log into my CharmEhr. account and I can't get in. Everytime I try to sign in, it says to enter my MFA #. I don't have it.

        Need an MFA #
      • CRM Plus Accounts and Products relationships

        Is there a way that an invoice that is paid, would add the products to the account record once it is delivered? I want to find an easy way that products will get added to the account record and assumed this would work. The benefit here would be that I
      • "Super Admin Login as Another User" for Zoho One

        Dear Zoho One Team, We would like to request that the "Super Admin Login as Another User" feature be extended to Zoho One, allowing Super Admins to access user accounts across all Zoho One applications. We understand that this functionality is currently
      • Workflow for Creator App

        I am new to coding but doing pretty good with internet searching and ChatGPT but I have hit a major roadblock. What I am trying to do is have a sub-form populated with data from a form based on selected variables. I know this is possible because a guy
      • Subform dynamic fields on Edit, Load of Main form.

        Main Form: Time_Entry Sub Form (separate form): Time_Entries Time_Entries.Time_Entry_No is lookup to - Time_Entry.Time_Sheet_ID (auto number). I would like to disable some of the subform fields upon load (when edited) of the Time_Entry main form. What
      • Find all forms/fields containing a lookup field related to a specific form

        Hi, I'm trying to find all forms and the specific lookup fields they contain that are related to my Contacts form. I need to be able to do this programmatically (I know how to find this information using the schema builder). I've pulled the metadata for
      • Introducing the Eventbrite extension for Zoho CRM

        Hello Zoho CRM community, Are you struggling to keep your event registrations and attendance data organized across multiple platforms? Managing this information manually can be a frustrating and time-consuming task, and mistakes can easily occur, making
      • Deactivate Zoho CRM for everyone

        We would like to deactivate Zoho CRM for everyone. How can we do that?
      • Can I embed Zoho Project in Zoho CRM Record Detailed View

        Hello all, We use Zoho Projects a lot. The integration of Projects with Accounts and Deals only is great, but very limiting to our needs. Is it possible to either: add a project to related lists to custom modules - similar to how it is automatically added
      • COMPLAINT : Sleeping & Useless Support Team. GMail is better then..

        [## 118256452 ##] License upgrade issues: As a reseller, I tried to upgrade 1 license for my customer. It shown error. Raised complaints via Email/Chat/Phone support. Its been more than a week, still keep asking damn questions and comfirmations on once
      • Introducing the Reviews sub-module in Zoho Recruit

        Across every recruitment process, candidates are assessed by multiple stakeholders—recruiters, interviewers, hiring managers, and clients. These evaluations influence hiring decisions, yet they often exist in silos across assessments, emails, or interview
      • Unable to add a organization with US location

        I have created a Zoho Books trial account and since I am using Zoho People and payroll, Zoho Books has taken my existing credentials and created an Indian entity, but I am not able to add a US entity. How to add a US entity?
      • Two-Way Sync Zoho CRM Custom Module with Zoho FSM Company Addresses

        Business fact: Many companies don't just have one location. They have multiple locations (some have many), with addresses we need to know for service, deliveries, etc. We have created a custom "Sites" module in Zoho CRM to store an Account/Company's addresses
      • Meet the latest feature of Zoho Sheet: Lock Cells

        We are happy to announce the release of one of the most awaited features in Zoho Sheet. ​You can now lock the cells that you wish to keep ​secure. Once you are done with editing cells, you can lock them so that they won't be modified anymore. We believe that this feature will be a great addition to our existing set of collaboration features and is intended to improve your collaboration experience. You can access this new feature Lock from Data tab. Apart from being able to lock individual cell ranges,
      • Error message when creating group

        I get two error messages when creating a group. One says it already exists, but it doesn't not already exist. See screenshots.
      • Add Desk Account comments using Flow

        The triggers and actions for Zoho Desk available in Flow are quite extensive, but I don't see anything related to Account-level Comments. There are actions to add comments to Tickets, Contacts, Tasks, and Topics, but nothing for Accounts. Am I missing
      • workflow field update will Not triggering another workflow rule

        I have a Workflow rule that is supposed to get triggered when a field is modified to certain value. This field is actually the lead status and when the lead status changes to "Client Not Responding" . I have a series of emails that go out to re-engage
      • Critical Feature Gaps Between Zoho Books and Zoho Finance Module in CRM

        We are extensively using Zoho Finance Module in our organization because of The Record Sharing feature provided by CRM something thats not possible in Books, we are able to limit what Sales Orders, Purchase Orders, Estimates an employee can see based
      • Disable Refresh, or hold info after refresh.

        Is there a way to hold the info entered in a form if the page refreshes, or to disable refresh of the form.
      • changing the Delivery Challan Heading

        Hi We want to change the Delivery Challan Heading as per our requirement. Like Returnable/Non Returnable/Delivery challan. But it is not happening here. is it possible to change advise. Thanks Radha
      • ZohoCRM上での接触回数の集計や評価について

        当方toB営業を行う会社なのですが、 顧客ごとの接触手段と接触回数を蓄積してKPIや評価指標としてレポーティングしたいのですが、どのタブでどのような運用をするのが適切でしょうか。 商談タブ、取引先タブ、連絡先タブそれぞれにおいて運用方法を考えましたがイメージが湧かず、ご教授いただければ幸いです。
      • 【Zoho Backstage】2025年4月のアップデート紹介

        本投稿は、本社のZoho Desk コミュニティに投稿された以下の記事を翻訳し、一部抜粋したものです。 What's New - April 2025 | Zoho Backstage ユーザーの皆さま、こんにちは。コミュニティチームの中野です。 本投稿では、Zoho Backstage の直近のアップデートを4点抜粋して、ご紹介します。 目次 1.参加者リストのエクスポート 2.予約メールに添付ファイルを追加 3.セッションの詳細を登壇者のメールに追加 4.登録フォームへの日時(Time)項目追加
      • Record template - How to format a table

        HI, I have a table in my form. I want to extract that in to my record template as a comma separated list - anyone else tried this? e.g. My Form... row1 value1 row 2 value2 " " My Template: my rows contain: val ue1, value2
      • Allow reconciliation for bank acct with no transactions for month

        Is there a way to allow a bank reconciliation to take place when there are no transactions for the month? I am unable to create a reconciliation for the month because there are no transactions to select. I want to be able to attach the bank statement
      • error while adding a domain

        I am adding a domain to admin console but they're showing this kind of error! pls help me with this.
      • Multiple barcodes and sku aliases

        Hi, It would be great if you could add the following features: Allocating multiple barcodes to a product as sometimes different barcodes are in circulation in a particular market. As well as different barcodes, sometimes, different SKUs are used by different
      • Video Interview features

        I tested the video interview feature. It's supported only on desktop version of chrome/firefox. Most of the times, the candidates are available on their cellphone. Need to have this for mobile devices too.
      • Next Page