Zoho Payroll: Product Updates - June 2025

Zoho Payroll: Product Updates - June 2025

This June, we’re taking a giant step forward. One that reflects what we’ve heard from you, the businesses that power economies.

For our customers using the latest version of Zoho Payroll (organizations created after Dec 12, 2024) in the United States, we’re excited to introduce the Professional Plan, shaped by some of your most requested features. With multi-state support and multiple pay rates for an employee, you now have more control, more flexibility, and more confidence with every pay run. And we didn’t stop there.

From additional forms in India to smart enhancements in the UAE, every update this month has been thoughtfully built to simplify the way you manage your payroll.

Multi-State Payrolls (US)

If your employees work across multiple states in the US, payroll shouldn't get any complex. Now, with the release of the new professional plan, Zoho Payroll supports work locations of employees in all the U.S. states, all while staying compliant with each state’s local laws and tax requirements.

We calculate and withhold federal, state, and local taxes from employee wages and account for employer contributions such as Social Security, Medicare, and State Unemployment Insurance. These obligations are tracked and reported accurately, so your filings reach the right agencies on time.

We have also incorporated reciprocity agreements into our system. Should the employee reside in one state but work in another, you can configure to apply the reciprocity agreement, when applicable, to ensure that they will be taxed only in the state of residence.

Multi-state payroll is available in the Professional plan of Zoho Payroll. 


Multiple Pay Rates for Employees (US)

Some employees might do more than one job in your organization. Their pay should reflect the different roles they take on. For example, consider an employee who works part-time as a customer support associate and also handles weekend IT maintenance. You pay them $20/hour for support duties and $35/hour for IT tasks. 

With this feature in Zoho Payroll, you can now associate multiple pay rates to an employee. Each rate is based on the specific role they perform. When it's time to run payroll, you can include the hours worked under each role of an employee. Learn how to add multiple pay rates

With multiple pay rates in Zoho Payroll:
  • Both roles and corresponding rates can be added to the employee’s profile.
  • During payroll processing, their pay is calculated based on the hours worked in each role.
This feature is available in the Professional plan of Zoho Payroll.


Introducing Custom Roles (US)

Few users of Zoho Payroll  might require access to all the data in your Zoho Payroll organization. Others might need tighter control and specific access based on job responsibilities. That’s where custom roles come in.

Using custom roles in Zoho Payroll, you can now create roles beyond the default ones. Choose exactly what each role can view, create, edit, or delete—from employee pay details to tax information. You decide who needs access to what, and we make sure it stays that way.

 For example, you can create a role like Senior Financial Reporter with view-only access. That person sees only what’s relevant to their job, nothing more.

Custom roles are available in the Professional plan of Zoho Payroll.


Reporting Tags for Smarter Payroll Insights (US)

When your payroll grows, so does the need to track how money flow across your business. With reporting tags in Zoho Payroll, you can now organize payroll data using custom labels (e.g., work shifts).

You can assign these tags to employees and filter payroll reports based on them. This gives you a clear view of where your payroll costs are going. Learn how to create reporting tags

Reporting tags are available in the Professional plan of Zoho Payroll.

Manage Documents (US)

From employee contracts to company-wide tax filings, payroll involves a lot of paperwork. Now, with the Documents feature in Zoho Payroll, you can securely store and organize both employee-specific and organization-level documents—all in one place.

You can upload employee specific documents, such as ID proofs, offer letters, or salary revision letters. For broader needs, you can add and manage organizational documents like company-level compliance records. Learn how to manage documents 

This feature is available in the Professional plan of Zoho Payroll.


Bonus Payroll (US)

Whether it’s a year-end bonus or a performance-based reward, bonus payroll gives you the flexibility to issue one-time bonuses independently of your regular schedule. There’s no need to specify a pay period, so you can reward employees when the moment calls for it. 



Off-Cycle Payroll (US)

There may be situations where certain payments need to be processed outside the regular payroll schedule. Off-cycle payroll allows you to disburse such payments, whether for corrections or time-sensitive disbursements that require immediate attention based on the pay period you specify.


Both Bonus and Off-Cycle Payrolls are available in the Professional Plan of Zoho Payroll.

Introducing Approvals for Pay Runs (US)

In Zoho Payroll, approvals are built into the way your team works. Based on the roles and permissions you assign, some users will see the option to submit a pay run, while others with the right access can approve it. This helps make sure that pay runs are double-checked and only processed after the right person approves them.

This feature is available in the Professional plan of Zoho Payroll.

Instant Bank Account Verification for Direct Deposits with Plaid (US)

While configuring Direct Deposit — used to transfer funds directly to your employee bank account and make tax payments to relevant tax authorities — you can now almost instantly verify your bank account by securely logging in via Plaid. It’s quick, secure, and designed to help you get started with direct deposits more efficiently.

Download Form 16 with Form 12BA (India)

Form 12BA is a statement that lists perquisites and other fringe benefits provided to an employee in addition to their regular salary. If your organization has early access to upload Part B of Form 16 in Zoho Payroll, you can generate and download Form 16, which includes Form 12BA as page 3 of the document.

Other Enhancements

Origin Country Sync (All GCC Editions): While syncing employee details from Zoho People, you can now sync the origin country of employees as well. 

Alrajhi Bank Advice Format (KSA): You can download bank advice to manually transfer the salaries to your employees’ bank accounts in the Alrajhi Bank format.

 


That's a wrap for now! We are always eager to hear your suggestions so we can help you do payroll better. Feel free to share them in the comments below.

If you need any assistance, please write to us at support@zohopayroll.com, and we'll help you. Stay tuned for more updates from Zoho Payroll.

With a shared purpose,
The Zoho Payroll Team







    • Sticky Posts

    • Zoho Payroll | Quarterly Product Updates For 2024

      As we navigate through the ever-changing payroll landscape, we bring you the latest updates that span the first quarter of 2024, tailored to meet the diverse needs of employers and employees in India, the UAE, and the US. From useful integrations to refined
    • Introducing Academy 🎉: your go-to hub for all things payroll

      Hello! We're thrilled to launch our newest payroll resource hub - Academy by Zoho Payroll [for India] - the information repository where you can go to learn everything about payroll. Introducing Academy by Zoho Payroll Why did we build Academy? Payroll
    • Recent Topics

    • Prevent user from viewing all records?

      I have a report that is meant to be used by vendors to view only the records that are assigned to them. All the vendor information is stored in a separate application, so I need to call a function to get the current user's ID (not the zoho user ID). The report settings criteria doesn't support using function calls, so instead I'm embedding the report in an html page like this: if (thisapp.Global.CurrentUserIs("Vendor")) {       personID = common.getLoggedInPersonID();       query = "Assigned_Vendor.ID="
    • Zoho Site pages not displaying in iframes

      I simply want to show a Zoho Site page inside an iframe on another non Zoho website. When testing this across many browsers, the iframe content simply does not appear. IE reports that the host does not allow their content to be displayed in iframes. Very disappointing. Is there a way around this please? Here is the URL of the page I would like to appear in an iframe. http://ips-properties-to-rent.zohosites.com
    • Zoho Inventory as connector in Zoho Creator

      Hello, It doesn't appear that Zoho Inventory is one of the many built in connectors in Zoho Creator? I see that there are non-Zoho inventory applications that have built in connectors such as Cin7, which leads me to believe that I'm missing something
    • Send Zoho Forms Link using Zoho CRM Email Templates

      I have set up Zoho Forms and CRM integration to pre-populate data from Zoho CRM to Zoho Forms. The setup is working fine. I have also created an email template in the Zoho CRM deals module to send Zoho forms links. So when I send an email using that template
    • My go to On Load Client Script - Fast, efficient, and works for ALL profiles; Hides everything except initial fields

      This is my on Load client script that I use for Create pages. I use a modified version for Edit and Display pages which you can create yourself using the same basic structure that I will give you below. First up, the script. Below that will be an explanation
    • Custom Search using HTM+CSS Snippet

      Suppose I wanted to create my own list view using HTML and CSS snippets inside a Page with a custom search input at the top of the list (not the Search snippet). Without Javascript, is there a way to retrieve a user's entry from that search input and
    • Mass Update of Lookup Fields not possible

      Hello List I've created a custom field for Leads and Contacts 'Current Campaign'. This is very Handy as I can filter leads and then related them to a campaign. Everything ready, but then I realized that mass update doesn't work for lookup fields... a
    • Zoho CRM Kiosk Upload Files

      Hello all, We are trying out Kiosks at the moment to see where it can fit best in our business. We are still a bit off in the application but lets say we will sort this out. My question is the following - when I create a Kiosk I can add "File Upload"
    • Double opt-in notifications and customizable confirmation messages for your webforms

      Dear CRM Community, We are excited to announce a major upgrade to our Webforms feature. You can now customize the confirmation message shown to your users who double opt-in from your webform and also customize your confirmation emails when they submit
    • Has Anyone successfully integrated Zoho and Sage Intact?

      Hey all, We’re evaluating Zoho One + Sage Intacct and I’m trying to connect with anyone who has actually implemented the two together.Specifically, I’d love to know: -- Which functions you kept in Zoho vs. Intacct (e.g., Product Catalog, AR/AP, invoicing,
    • Introducing Image Upload Field

      Hello everyone, In this post we will discuss about the benefits and usage of the Image upload field. The field is available for standard and custom modules.  Usage: This field can be used to upload a gallery of images to a record and share the record with peers or customers. The record can be made accessible to users outside of Zoho CRM via Portals, where they can upload the necessary images. Preview, editing, and deleting images: The uploaded images can be directly edited and saved from the record
    • Trigger a Workflow Function if an Attachment (Related List) has been added

      Hello, I have a Case Module with a related list which is Attachment. I want to trigger a workflow if I added an attachment. I've seen some topics about this in zoho community that was posted few months ago and based on the answers, there is no trigger
    • Free webinar alert on November 19 - Email driven strategies - Master personality based styles

      Hello Zoho Community! Want to make email management easier, smarter, and more you? We’ve got just the session for you! Join our interactive, game-based webinar to discover how Zoho Mail adapts to your personality and work style. Learn practical hacks,
    • AI generated meeting notes associated to Account or Deal

      As our organization works to improve efficiency we are looking for a solution to leverage AI to generate meeting notes and then add those notes to a CRM record such as an Account or Deal. I see Zoho has a Notebook AI offering that talks about the ability
    • due date on cheue

      how to handle cheque in zoho books for customers and vendors including due date
    • Zoho CRM Portal Field Level Permission Issue

      Hi Support Team, I am using the Zoho CRM Portal and configuring field-level editing permissions. However, we are unable to restrict portal users from editing certain fields. We have created a portal and provided View and Edit (Shared Only) access for
    • WebDAV / FTP / SFTP protocols for syncing

      I believe the Zoho for Desktop app is built using a proprietary protocol. For the growing number of people using services such as odrive to sync multiple accounts from various providers (Google, Dropbox, Box, OneDrive, etc.) it would be really helpful if you implemented standard protocols such as WebDAV / FTP / SFTP so that alternative inc clients can be used.
    • 'Statement of Accounts does not exist' error received, when creating PO using api in Zoho Inventory

      Here is request json -- JSONString = { "date": "2019-09-24", "purchaseorder_number": "PO-6-1", "delivery_date": null, "delivery_org_address_id": 36221200000056XXX, "vendor_id": 362212000000564XXX, "attention": "Testing", "line_items": [{ "unit": "Pieces", "account_id": 36221200000003XXX, "quantity": 1, "item_id": 362212000000049XXX, "tax_type": "", "tax_name": "", "name": "One HD", "purchase_rate": 85, "tax_percentage": 0, "item_total": 85.00, "tax_id": "", "warehouse_id": 362212000000564XXX }] }
    • Zoho Projects API 100 requests/2 min. Limit

      Hi Requesting clarification on the API documentation. "You can invoke or call an API for 100 times in a span of two minutes. If you invoke more than 100 times, the particular API request will be locked for the next 30 minutes. " Does this limit apply
    • Integrate your Outlook/ Office 365 inbox with Zoho CRM via Graph API

      Hello folks, In addition to the existing IMAP and POP options, you can now integrate your Outlook/Office 365 inbox with Zoho CRM via Graph API. Why did we add this option? Microsoft Graph API offers a single endpoint to access data from across Microsoft’s
    • Zoho Projects - Attachments added to Task and Bug emails are not saved

      Hi Projects team, I have been experimenting with emails into projects to create tasks and bugs. I have noticed that attachments added to the emails are not saved to the task or bug. Is this normal behaviour? Thanks, Ashley
    • Zoho Inventory's latest shipping integration updates at a glance.

      Hello Users, We would like to share some important news about our latest improvements in the Shipping integration capabilities of Zoho Inventory that we achieved in 2024 with some of our major integration partners in key editions across APAC, North America,
    • Sorting a list of record acquired from the zoho.crm.searchRecords function.

      This is something for which I'm trying to figure out a straightforward way to do. The searchRecords does a great job fetching me the records that I want. However, in some cases, where it returns multiple records, I want it to sort the returned list by date of creation of that record, so that when I do records.get(0), I get the most recent record.  As an example, here's my sample pseudo code: records = zoho.crm.searchRecords("Clients", "Office_Number:equals:123456"); Now the "records" list above contains
    • Zoho Inventory Custom Field Update

      Hello All, In this post I am describing how can we Update the Custom Field Value in Zoho Inventory. // Get Org ID orgid = organization.get("organization_id"); // Field Value resvp = ifnull(item.get("purchase_rate"),null); // Record ID iid = item.get("item_id");
    • Deprecation of the Zoho OAuth connector

      Hello everyone, At Zoho, we continuously evaluate our integrations to ensure they meet the highest standards of security, reliability, and compliance. As part of these ongoing efforts, we've made the decision to deprecate the Zoho OAuth default connector
    • Alphabetically

      How can i arrange alphabetically - (Manage Manufacturer) Field in Item Master 
    • Spotlight series #6: The Show app for Android TV has a new look!

      Hello everyone! We are delighted to introduce our revamped and redesigned Show app for Android TV.  Smart TVs are exploding in popularity. Android TV alone has over 110 million active monthly devices. Zoho Show, as part of a constant effort to improve
    • Can i set a default value for country and state in address field in zoho creator?

      Can i set a default value for country and state in address field in zoho creator?
    • Convert HTML to PDF & Send as Email Attachments in Zoho Creator (Deluge)

      This approach is useful for sending welcome letters, instructions, or promotional offers after order creation. // 1. Define the variables using the submitted input customerName = input.Customer_Name1; orderID = input.ID; customerEmail = input.Email_Address; //
    • Redirect after submission is not working after a few submission

      I have setup redirect url correctly and everything works as expected. However, it seems that there's a limit to the number of submissions before the redirect stops working. After the "limit" is reached, the page redirects to a seemingly zoho hosted page,
    • Enhancement Request for Multi-Asset Work Order Feature

      Hello Latha, Thank you for your continued support. The multi-asset Work Order feature is extremely helpful. I did some testing based on our requirements, and during the process, I noticed a few areas where we need your team’s support to improve the feature
    • Marketing Tip #8: Run limited-time offers

      Exclusive offers that don't last long make shoppers purchase right away instead of waiting. Run a flash sale or limited-time discount to convert interest into sales. Try this today: Set up a "Buy X Get Y" coupon in Zoho Commerce valid for a limited time
    • Add Option to Mass Dispatch by User

      Hello! We are using the dispatch console to dispatch service appointments to our service ressources. Right now, the process is our dispatcher verifies each ressource's route for the day and dispatches it after validation. Sadly, there doesn't seem to
    • Free webinar: Zoho Sign unwrapped – 2025 in review

      Hey there! 2025 is coming to an end, and this year has been all about AI. Join our exclusive year-end webinar, where we'll walk you through the features that went live in 2025, provide answers to your questions, and give you a sneak peek on what to expect
    • Zoho Projects - Email notification relabelling of modules not present on default templates

      Hi Projects Team, I noticed that in the default email template notification, the word "bug" was not renamed to the lable I am using in my system. As many users may used the Bugs modules for various purposes including Changes, Revisions, Issues, etc...
    • Publish to LinkedIn via API

      Hi, Is it possible to publish a job opening to LinkedIn (paid job slots) if creating a job opening via api / deluge function? Or is the user required to manually publish via the job boards process? Many Thanks Adrian
    • Include the "Added Email ID" to the Filters of a Report

      Hi, With a Report and lots of entries, a normal thing is to filter entries by the submitter, but that is not included in the Auto Filter of Reports and you can't add a custom filter to a Report without specifying the actual value. I would like to be able
    • Loops in Deluge

      Hi, Can someone tell me how I do a simple loop in deluge? For example, if i have a variable "X" containing a number of loops to perform, i would like to perform an action X amount of times. X = 10; do while (Y < X){       // ... do something } to further explain, the equivalent in PHP of what i am trying to acheive would be: $X = 20; for($Y = 1; $Y < $X; $Y++ ){       // ... do something } Thanks
    • I am facing a problem with an if-else condition

      If I use if, else if, and else conditions in Deluge with the same variable name, sometimes the variable causes an error because the same variable name is present in every block
    • Zoho Projects - Reply by email to @ mentions posted on the Feed.

      When mentioning someone on the Feed (Status), it would be great if that mentioned person could reply to the email notification to update the Feed thread.
    • Next Page