Zoho Books | Product Updates | February 2025

Zoho Books | Product Updates | February 2025

Hello users,

Now that January is over, here are some exciting updates to make this new year even better. We’re back with new features and enhancements in Zoho Books, including comparing fields as criteria in workflow rules and a custom SMTP integration. Explore these updates that are designed to elevate your accounting experience.

Import/Export E-Invoices in the ZUGFeRD and XRechnung Format [Germany Edition]

Customers can now download their e-Invoices in both XRechnung and ZUGFeRD formats directly from their customer portal. Additionally, vendors can upload invoices through their vendor portal and later convert them into bills from the Bills module.




Create Compound and Group Taxes [Germany Edition]

We’ve introduced the option to create compound and group taxes to manage local taxes and surcharges. In some cases, additional taxes, such as tourism or municipal taxes, may be charged alongside VAT. If the local tax is included in the total amount, VAT will be calculated on the entire amount (including the surcharge). However, if the local tax is applied separately, it will not be subject to VAT and will not appear in VAT-based reports. Additionally, when creating a tax rate, you can set tracking preferences for both sales and purchases.



Use Field Comparison as Criteria in Workflow Rules

When creating workflow rules, you can now use the comparison of two fields as criteria. For example, you can set a rule that triggers a workflow when the Discount Amount exceeds the Tax Amount.



To compare fields as criteria, navigate to Settings > Automation > Workflow Rules > + New Workflow Rule. Enter the Workflow Rule Name and select the Module. Choose an Action Type and click Next. Then, click + New Criteria, select a field from the first dropdown, choose a comparator from the second dropdown, click Select Placeholder below the third dropdown, and select the field to compare. Click Done.

Background Execution Custom Button

When creating a custom button, if the execution takes longer than 10 seconds, you can choose to either wait for it to finish or move it to the background. For tasks that run over five minutes, the system will automatically shift them to the background unless you opt to do so manually. After the process is completed, you'll receive an in-app notification.

Send Emails with Custom SMTP Servers

With Email Relay, you can use your own SMTP (Simple Mail Transfer Protocol) servers to send emails and avoid spam filters. You can add multiple SMTP servers, assign them to specific emails or domains, and set a daily sending limit. Once the limit is reached, emails will be sent through our Transmail server.



To setup an email relay, go to Settings > Reminders and Notifications > Email Notifications > Email Relay > + New Server.

Leave Organization

We've introduced the option to leave an organization from the Manage Organizations page. However, if you're the admin who created the organization or the only admin, you'll need to delete the organization instead. Additionally, if you've enabled any integrations in the organization, you'll need to disable them before leaving.



Filter Lookup Custom Fields by Setting Criteria and Using Custom Views

You can now filter your lookup custom fields by using custom views and setting criteria. Records will be filtered based on both the Custom View and Criteria, ensuring all conditions are met.



Create Workflow Rules with Sub-Modules

You can now create workflow rules for sub-entities within the Invoice module. For example, within the Invoice module, you can execute workflows with Bill of Supply, Debit Note, and Late Fee as sub-modules.



To create workflow rules for sub-entities within the Invoice module, navigate to Settings > Automation > Workflow Rules > + New Workflow Rule. Enter the Workflow Rule Name, select the module as Invoice, choose an option under Execute Workflow For, and select the sub-entity from the Invoice Type dropdown.

Handle Duplicate Items Using SKU in Zoho Books - Zoho CRM Integration

You can now use product SKU as the field based on which duplicate items will be identified while integrating Zoho Books organization with Zoho CRM.



Zoho Inventory Add-On Updates

Print/Download Purchase Receives

Now, you can print or download your purchase receives. We have also supported a standard template with which you can view the PDF of your purchase receives.

To print or download a purchase receive, go to Purchases > Purchase Receives. Select the purchase receive and click PDF/Print.

To view the PDF of a purchase receive, go to Purchases > Purchase Receives. Select the purchase receive and enable the Show PDF View option on its details page.

Other Feature Enhancements

  • Access your Customer/Vendor Balance Summary reports with the same configuration and filters as before, and create custom reports.
  • We now support exporting the current view of your filtered Tasks that you and your users have to complete.
  • You can now mark the default filters of all modules as your favorites. This change will only be visible to you and will not affect other users in the organization.



    We hope you like the new features and enhancements in Zoho Books! Take some time to explore the latest updates. We’ll be back next month with even more updates, as we continually strive to elevate your accounting experience.

    You can also visit the What's New timeline for bite-sized information about our previous feature updates and enhancements. If you need any assistance, feel free to reach out at support@zohobooks.com.

   Best regards,
   The Zoho Books Team

    • Recent Topics

    • CRM

      I have a portal set up where a contact can see other contacts within an account automatically. When a contact in the portal enters a deal, how do I make sure that deal is assigned to the account so other contacts in the account can see the deal was generated?
    • field is not saving on lead

      Hi, Not sure what i changed but on edit in a lead, i am inputting details and its not saving. just highlights it in yellow with no error message.
    • Export data from Zoho CRM to MySQL database

      Hi all, Has anyone been able to export the whole Zoho CRM Database to MySQL or any other database by using the Zoho API. So far all tools such as Skyvia, Devart, CData are failing to do the job for me, as they are exporting only the zoho crm modules.
    • Ask the Experts 18: Supercharge Self-Service: Simplify Support, Empower Customers!

      Welcome to the Ask the Experts Session 18 focusing on Zoho Desk’s Self-Service features! With the AI buzzing around like busy bees, ever thought of how you can incorporate AI into Self service? Explore how Zoho Desk's Help Center, Knowledge Base (KB),
    • Zoho Creator Time Calculating

      Hello everyone, I have a question for you. I created a service form for our service department and they fill when they complete their service. Also They are inserting date and start-finish hours. I need to calculate working hours between start time and
    • How to Fix the Corrupted Outlook 2019 .pst file on Windows safely?

      There are multiple reasons to get corrupted PST files (due to a power failure, system crash, or forced shutdown) and several other reasons. If You are using this ScanePST.EXE Microsoft inbuilt recovery tool, it only supports the minor corruption issue
    • users api

      Hello, I'm using the following in a custom script: response = invokeurl [ url :"https://www.zohoapis.com/crm/v2/users?type=AdminUsers" type :GET connection:"zohocrm_users_read" ]; It successfully returns some user data BUT not all the fields listed here: https://www.zoho.com/crm/help/api/v2/users-examples.html#get-admin-user For example it returns "signature" for me, but not for all my other admin users, who all have a signature in place. Can you help please? Regards, Simon
    • Show item Cost value on Item screen

      The Item screen shows Accounting Stock and Physical Stock. It would be very helpful if value information could be displayed here as well, for instance Cost Price. Currently, to find the Cost Price (as used for inventory valuations) from inside the item
    • Custom Related List anchor tag with tel protocol

      The following code worked great for about a year to create clickable tel and mailto links in a related list in the Deals module. Just this morning, it started displaying the HTML as text. For example: <a href='tel:8882490100'>8882490100</a> Zoho support
    • Customization of "List Price" naming convention

      Surely this has been brought up before, but does Zoho plan to allow the customization of the List Price field? For example, the ability to rename to: Sell Price Sale Price Market Price Ticket Price etc etc
    • Introducing Linkthread by Zoho Social — our new link in bio tool

      Hey everyone, We hope you're all doing amazing. We always love bringing features and tools to make your social media marketing journey easier, and today, we've got a brand new tool that we'd like to introduce to you. We know how important it is to make
    • Zoho People Mobile Check-in/out

      Hello, I found an 'issue' with Zoho People. We wanted our employees to not be able to check-in/out from their mobile. But only when they are on the office. We already this: But still the employees can open from their mobile a browser, go to zoho people,
    • Set Approval for particular Reporting managers in zoho creator

      i am creating a leave management system in zoho creator.I want to create a approval workflow.There are various employees each employee has different reporting manager when employee apply for a leave then the leave should be able to approved by the manager
    • Bulk Update API

      I’m reaching out to see if anyone has updates on the bulk records feature release. We’re eager to leverage this functionality for our operations, but until it becomes available, our current API call limits are proving to be a bottleneck—even after upgrading
    • A fresh interface and functionality improvements for Zoho CRM's data sharing settings

      Data sharing is essential for maintaining proper access controls in your CRM. Whether you're setting default permissions or defining custom sharing rules, these settings determine how records are shared among users, roles, and groups. Previously, navigating
    • Zoho CRM API, Python SDK v7 Quoted_Items

      Hello. How do I use this SDK to retrieve the Quoted_Items from a Quote and downstream the items in a Sales Order I can see references to a constant INVENTORY_MODULES_ITEMS = ["invoiced_items", "quoted_items", "purchase_items", "ordered_items"] But I cannot
    • Zoho Bookings: How to set a limit for maximum bookings per day?

      Let's say I have 1 hour slots OPEN for an entire day. What if I want all of the OPEN slots to turn OFF if/when I hit a certain number of total bookings for that day? I usually only want a total of 5 appointments to be booked but I'm not sure of the exact
    • Creating stunning templates for appointment notification emails

      Good day folks! Can you guess what we are going to check out today? We have designed a few samples to showcase the power of customizable email notification templates. Sample 1 Sample 2 Sample 3 Sample 4 Sample 5 Sample 6 Sample 7 Sample 8 Sample 9 We
    • Agents can manage the Tasks on the go, now with Zoho Desk mobile app

       Hello, Everyone!    We are elated to announce one of our most asked for features 'Tasks' in the Zoho Desk app.  Agents can now create and associate tasks with a ticket and the tasks will be listed within the corresponding tickets.   Steps to access the tasks from the app:    1. Go to a particular ticket in the app. 2. Click the Tasks icon in the 'Related Information' section.  3. List of all the tasks will be displayed.    Refer to the screenshots (Android & iOS) attached below for your better understanding:
    • How do we add Google Analytics code to Zoho Bookings scheduling pages or the thank you page?

      We need to track user activity on individual Bookings' pages and/or the thank you pages? How do we do this?
    • Important Update: WhatsApp Marketing Template Message Restrictions for US Numbers

      Dear Zoho Forms Users, We want to keep you informed about an upcoming change in WhatsApp's marketing messaging policy that may impact your communication strategy. Starting April 1, 2025, Meta will temporarily pause the delivery of all marketing template
    • Create, Manage and Publish on Pinterest from Zoho Social

      Hey everyone,   Pinterest is our newest addition to the list of social channels that can be integrated with Zoho Social. With over 444 million users, Pinterest is one of the popular channels that people use to get inspired, share their ideas with the
    • Disable Subform Actions using Client Script Add Row, Edit, Delete

      Currently we cannot disable subform actions such as Add Row, edit row using client script It will be really beneficial if we can disable these actions from Client Script
    • Client Script: Any plans to add support for multi-select field with onChange

      Client Script is fantastic and the documentation lists multiselect form fields as unsupported. Just wondering if there are any plans to make this a supported field. https://www.zoho.com/crm/developer/docs/client-script/client-script-events.html 2. Field
    • Mass replace picklist value

      I need to rename picklist option from "Option 1" to "Option 5". The value "Option 1" is set in about 1000 records in my CRM module. I am also using the that picklist in Reports and Workflows extensively. should I: A/ rename the option value and its reference
    • Adding Default Module Image into mail merge field

      As with most people finding their way to these forums i have a specific requirement that doesn't seem to be supported by Zoho I have created 2 custom modules to suit my purpose 1 is an inventory type module that lists aluminium extrusions, and all relevant
    • Define Tab Order

      I would like the ability to define the tab order when editing or creating a new record. The only option now is for tab to go from left to right to left to right all of the way down the page. I would like to define the exact order the cursor will move from field to field. At the minimum, for a two column layout, I would like to tab down the left column and then down the right column. This actually does happen in the Contact record when you get to the mailing address section so I know it can be coded
    • Create New Tasks Layout in CRM

      I am able to do this in Leads, Contacts, Meetings, Calls - every other module, but cannot create a new layout in tasks. I have the appropriate access but it's simply not appearing as an option. Only "Standard" option shows. Please help!
    • ZohoDesk API to get conversations count of ticket

      Hi Team, I need information about ZohoDesk API that provides conversations count of ticket. Currently in ticket metrics api (https://desk.zoho.com/DeskAPIDocument#Tickets#Tickets_Getticketmetrics), it is providing only thread count, I need all conversations
    • Syncing with Google calendar, Tasks and Events

      Is it possible to sync Zoho CRM calendar, task and events with Google Calendar's tasks and events. With the increasing adoption by many major tool suppliers to sync seamlessly with Google's offerings (for instance I use the excellent Any.do task planning
    • Problem with currency field in Zoho CRM

      Hi Guys Zoho Books has a feature in currency fields that automatically converts decimal numbers with commas ( , ) to period format ( . ) when pasting them. For example: R$ 2,50 --> R$ 2.50 Is this behavior available in Zoho CRM? I couldn't find any configuration
    • Marketer’s Space - Automating CRM Actions with Journeys – Part 2

      Hello marketers! Welcome back to another post in Marketer’s Space. In our previous post, we explored how CRM actions in Journeys help marketing and sales teams work together by nurturing CRM leads and pushing only engaged prospects back to sales. If you
    • Unparsable Date when hour side is 02

      So this is a crazy error I am getting. I got this one 1-2 years ago as well, and specifically added conditional clauses to workaround that. But now I would like to create a topic and see if anyone else is getting this error. Here is how it goes: We have
    • Outlook Add-in security times out needs to login 10 times a day

      hi we've just switched the Zoho. We use Azure SSO. All users have stopped using it. Sometimes it asks every 5 minutes. What should I lot at to solve this?
    • I can't auto-scheduling calls down - the code does not change anything

      Hi, I was trying to set a function that auto-schedules calls based on their call result; i.e "Requested more info". I had also included a reminder to send an email in the code. I logged a test call and nothing changed. Is there anything wrong with the
    • WhatsApp Sandbox Integration

      Dear Zoho Team, I am currently having two questions regarding the WhatsApp integration of Zoho Desk, or more specifically the Sandbox WhatsApp integration. 1. I am unable to send replies via the API through the "Sandbox" channel. Here is some example
    • Showing ALL missing data

      Hi, When I create a chart, I noticed that even when enabling the "show missing values" option, if, let's say, the current time period will not show as "0" on the chart if there's no data (rows) in the table. For example, I have this data: Week 1: 0 rows
    • Email Integration - Zoho CRM - OAuth and IMAP

      Hello, We are attempting to integrate our Microsoft 365 email with Zoho CRM. We are using the documentation at Email Configuration for IMAP and POP3 (zoho.com) We use Microsoft 365 and per their recommendations (and requirements) for secure email we have
    • Zoho Books | Product updates | March 2025

      Hello users, We have rolled out new updates in Zoho Books to enhance your accounting experience. These include the ability to create workflow rules for manual journals and Multi-Factor Authentication (MFA) for customer and vendor portals. Explore these
    • Set connection link name from variable in invokeurl

      Hi, guys. How to set in parameter "connection" a variable, instead of a string. connectionLinkName = manager.get('connectionLinkName').toString(); response = invokeurl [ url :"https://www.googleapis.com/calendar/v3/freeBusy" type :POST parameters:requestParams.toString()
    • Next Page